diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ee6f158c1..c092d292c1 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -190,6 +190,7 @@ set(GECODE_HAS_INT_VARS "/**/") set(GECODE_HAS_SET_VARS "/**/") set(GECODE_HAS_FLOAT_VARS "/**/") set(GECODE_STATIC_LIBS 1) +set(GECODE_ALLOCATOR "/**/") check_cxx_compiler_flag(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN_FLAG) if (HAVE_VISIBILITY_HIDDEN_FLAG) @@ -402,7 +403,7 @@ if (FLOATSRC) endif () add_executable(gecode-test ${TESTSRC} ${TESTHDR}) -target_link_libraries(gecode-test gecodeminimodel) +target_link_libraries(gecode-test gecodeflatzinc gecodeminimodel) add_executable(fzn-gecode ${FLATZINCEXESRC}) target_link_libraries(fzn-gecode gecodeflatzinc gecodegist gecodeminimodel gecodedriver) diff --git a/Makefile.dep b/Makefile.dep index 297b40ad43..26083515b0 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -1,76 +1,5 @@ gecode/support/exception$(OBJSUFFIX) gecode/support/exception$(SBJSUFFIX): \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/support/heap$(OBJSUFFIX) gecode/support/heap$(SBJSUFFIX): \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/support/thread/thread$(OBJSUFFIX) gecode/support/thread/thread$(SBJSUFFIX): \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/support/thread/windows$(OBJSUFFIX) gecode/support/thread/windows$(SBJSUFFIX): \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/support/thread/pthreads$(OBJSUFFIX) gecode/support/thread/pthreads$(SBJSUFFIX): \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/support/hw-rnd$(OBJSUFFIX) gecode/support/hw-rnd$(SBJSUFFIX): \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/archive$(OBJSUFFIX) gecode/kernel/archive$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -79,19 +8,8 @@ gecode/kernel/archive$(OBJSUFFIX) gecode/kernel/archive$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/core$(OBJSUFFIX) gecode/kernel/core$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ +gecode/support/allocator$(OBJSUFFIX) gecode/support/allocator$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -100,19 +18,8 @@ gecode/kernel/core$(OBJSUFFIX) gecode/kernel/core$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/memory-manager$(OBJSUFFIX) gecode/kernel/memory-manager$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ +gecode/support/heap$(OBJSUFFIX) gecode/support/heap$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -121,19 +28,8 @@ gecode/kernel/memory-manager$(OBJSUFFIX) gecode/kernel/memory-manager$(SBJSUFFIX ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/branch$(OBJSUFFIX) gecode/kernel/branch$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ +gecode/support/thread/thread$(OBJSUFFIX) gecode/support/thread/thread$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -142,19 +38,8 @@ gecode/kernel/branch$(OBJSUFFIX) gecode/kernel/branch$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/region$(OBJSUFFIX) gecode/kernel/region$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ +gecode/support/thread/windows$(OBJSUFFIX) gecode/support/thread/windows$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -163,19 +48,8 @@ gecode/kernel/region$(OBJSUFFIX) gecode/kernel/region$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/afc$(OBJSUFFIX) gecode/kernel/afc$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ +gecode/support/thread/pthreads$(OBJSUFFIX) gecode/support/thread/pthreads$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -184,19 +58,8 @@ gecode/kernel/afc$(OBJSUFFIX) gecode/kernel/afc$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/activity$(OBJSUFFIX) gecode/kernel/activity$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ +gecode/support/hw-rnd$(OBJSUFFIX) gecode/support/hw-rnd$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -205,44 +68,45 @@ gecode/kernel/activity$(OBJSUFFIX) gecode/kernel/activity$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/kernel/rnd$(OBJSUFFIX) gecode/kernel/rnd$(SBJSUFFIX): \ +gecode/kernel/archive$(OBJSUFFIX) gecode/kernel/archive$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/stop$(OBJSUFFIX) gecode/search/stop$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/kernel/core$(OBJSUFFIX) gecode/kernel/core$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -252,23 +116,21 @@ gecode/search/stop$(OBJSUFFIX) gecode/search/stop$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/search/options$(OBJSUFFIX) gecode/search/options$(SBJSUFFIX): \ +gecode/kernel/memory-manager$(OBJSUFFIX) gecode/kernel/memory-manager$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -278,23 +140,21 @@ gecode/search/options$(OBJSUFFIX) gecode/search/options$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/search/cutoff$(OBJSUFFIX) gecode/search/cutoff$(SBJSUFFIX): \ +gecode/kernel/branch$(OBJSUFFIX) gecode/kernel/branch$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -304,23 +164,21 @@ gecode/search/cutoff$(OBJSUFFIX) gecode/search/cutoff$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/search/engine$(OBJSUFFIX) gecode/search/engine$(SBJSUFFIX): \ +gecode/kernel/region$(OBJSUFFIX) gecode/kernel/region$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -330,160 +188,171 @@ gecode/search/engine$(OBJSUFFIX) gecode/search/engine$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/search/parallel/engine$(OBJSUFFIX) gecode/search/parallel/engine$(SBJSUFFIX): \ +gecode/kernel/afc$(OBJSUFFIX) gecode/kernel/afc$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/parallel/engine.hh \ - ./gecode/search/parallel/path.hh ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/worker.hh \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/dfs$(OBJSUFFIX) gecode/search/dfs$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/kernel/activity$(OBJSUFFIX) gecode/kernel/activity$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/parallel/dfs.hh \ - ./gecode/search/parallel/engine.hh ./gecode/search/parallel/path.hh ./gecode/search/rbs.hpp \ - ./gecode/search/sequential/dfs.hh ./gecode/search/sequential/path.hh ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/worker.hh \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/parallel/dfs$(OBJSUFFIX) gecode/search/parallel/dfs$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/kernel/rnd$(OBJSUFFIX) gecode/kernel/rnd$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/parallel/dfs.hh \ - ./gecode/search/parallel/engine.hh ./gecode/search/parallel/path.hh ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/search/worker.hh ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/bab$(OBJSUFFIX) gecode/search/bab$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/kernel/exception$(OBJSUFFIX) gecode/kernel/exception$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/parallel/bab.hh \ - ./gecode/search/parallel/engine.hh ./gecode/search/parallel/path.hh ./gecode/search/rbs.hpp \ - ./gecode/search/sequential/bab.hh ./gecode/search/sequential/path.hh ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/worker.hh \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/parallel/bab$(OBJSUFFIX) gecode/search/parallel/bab$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/kernel/trace-filter$(OBJSUFFIX) gecode/kernel/trace-filter$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/parallel/bab.hh \ - ./gecode/search/parallel/engine.hh ./gecode/search/parallel/path.hh ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/search/worker.hh ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/meta/rbs$(OBJSUFFIX) gecode/search/meta/rbs$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/kernel/tracer$(OBJSUFFIX) gecode/kernel/tracer$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/search/stop$(OBJSUFFIX) gecode/search/stop$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -493,50 +362,57 @@ gecode/search/meta/rbs$(OBJSUFFIX) gecode/search/meta/rbs$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/search/meta/nogoods$(OBJSUFFIX) gecode/search/meta/nogoods$(SBJSUFFIX): \ +gecode/search/options$(OBJSUFFIX) gecode/search/options$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/search/sequential/path$(OBJSUFFIX) gecode/search/sequential/path$(SBJSUFFIX): \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/search/cutoff$(OBJSUFFIX) gecode/search/cutoff$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/sequential/path.hh ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/search/worker.hh ./gecode/support.hh \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -546,24 +422,27 @@ gecode/search/sequential/path$(OBJSUFFIX) gecode/search/sequential/path$(SBJSUFF ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/search/parallel/path$(OBJSUFFIX) gecode/search/parallel/path$(SBJSUFFIX): \ +gecode/search/engine$(OBJSUFFIX) gecode/search/engine$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/nogoods.hh \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/parallel/path.hh \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/search/worker.hh ./gecode/support.hh \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -573,45 +452,92 @@ gecode/search/parallel/path$(OBJSUFFIX) gecode/search/parallel/path$(SBJSUFFIX): ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/int-set$(OBJSUFFIX) gecode/int/int-set$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ +gecode/search/parallel/engine$(OBJSUFFIX) gecode/search/parallel/engine$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/parallel/engine.hh ./gecode/search/parallel/path.hh \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/search/worker.hh ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/dfs$(OBJSUFFIX) gecode/search/dfs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/parallel/dfs.hh ./gecode/search/parallel/engine.hh \ + ./gecode/search/parallel/path.hh ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/sequential/dfs.hh ./gecode/search/sequential/path.hh \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/search/worker.hh ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/parallel/dfs$(OBJSUFFIX) gecode/search/parallel/dfs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/parallel/dfs.hh ./gecode/search/parallel/engine.hh \ + ./gecode/search/parallel/path.hh ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/search/worker.hh \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -620,45 +546,61 @@ gecode/int/int-set$(OBJSUFFIX) gecode/int/int-set$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/var-imp/int$(OBJSUFFIX) gecode/int/var-imp/int$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ +gecode/search/bab$(OBJSUFFIX) gecode/search/bab$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/parallel/bab.hh ./gecode/search/parallel/engine.hh \ + ./gecode/search/parallel/path.hh ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/sequential/bab.hh ./gecode/search/sequential/path.hh \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/search/worker.hh ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/parallel/bab$(OBJSUFFIX) gecode/search/parallel/bab$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/parallel/bab.hh ./gecode/search/parallel/engine.hh \ + ./gecode/search/parallel/path.hh ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/search/worker.hh \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -667,45 +609,28 @@ gecode/int/var-imp/int$(OBJSUFFIX) gecode/int/var-imp/int$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/var-imp/bool$(OBJSUFFIX) gecode/int/var-imp/bool$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ +gecode/search/lds$(OBJSUFFIX) gecode/search/lds$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/sequential/lds.hh ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/search/worker.hh \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -714,45 +639,28 @@ gecode/int/var-imp/bool$(OBJSUFFIX) gecode/int/var-imp/bool$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/var/int$(OBJSUFFIX) gecode/int/var/int$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ +gecode/search/sequential/lds$(OBJSUFFIX) gecode/search/sequential/lds$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/sequential/lds.hh ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/search/worker.hh \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -761,45 +669,90 @@ gecode/int/var/int$(OBJSUFFIX) gecode/int/var/int$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/var/bool$(OBJSUFFIX) gecode/int/var/bool$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ +gecode/search/sequential/path$(OBJSUFFIX) gecode/search/sequential/path$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/sequential/path.hh ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/search/worker.hh ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/search/parallel/path$(OBJSUFFIX) gecode/search/parallel/path$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/parallel/path.hh ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/search/worker.hh ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/search/meta/rbs$(OBJSUFFIX) gecode/search/meta/rbs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/rbs.hh \ + ./gecode/search/meta/rbs.hpp ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -808,45 +761,88 @@ gecode/int/var/bool$(OBJSUFFIX) gecode/int/var/bool$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/array$(OBJSUFFIX) gecode/int/array$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ +gecode/search/meta/nogoods$(OBJSUFFIX) gecode/search/meta/nogoods$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/nogoods.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/meta/dead$(OBJSUFFIX) gecode/search/meta/dead$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/search/meta/sequential/pbs$(OBJSUFFIX) gecode/search/meta/sequential/pbs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/sequential/pbs.hh \ + ./gecode/search/meta/sequential/pbs.hpp ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -855,18 +851,167 @@ gecode/int/array$(OBJSUFFIX) gecode/int/array$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/bool$(OBJSUFFIX) gecode/int/bool$(SBJSUFFIX): \ +gecode/search/meta/parallel/pbs$(OBJSUFFIX) gecode/search/meta/parallel/pbs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/parallel/pbs.hh \ + ./gecode/search/meta/parallel/pbs.hpp ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/rbs$(OBJSUFFIX) gecode/search/rbs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/rbs.hh \ + ./gecode/search/meta/rbs.hpp ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/pbs$(OBJSUFFIX) gecode/search/pbs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/meta/parallel/pbs.hh \ + ./gecode/search/meta/parallel/pbs.hpp ./gecode/search/meta/sequential/pbs.hh ./gecode/search/meta/sequential/pbs.hpp \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/search/sebs$(OBJSUFFIX) gecode/search/sebs$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/search/exception$(OBJSUFFIX) gecode/search/exception$(SBJSUFFIX): \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/int-set$(OBJSUFFIX) gecode/int/int-set$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -893,32 +1038,38 @@ gecode/int/bool$(OBJSUFFIX) gecode/int/bool$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/bool/eqv$(OBJSUFFIX) gecode/int/bool/eqv$(SBJSUFFIX): \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/var-imp/int$(OBJSUFFIX) gecode/int/var-imp/int$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -945,125 +1096,38 @@ gecode/int/bool/eqv$(OBJSUFFIX) gecode/int/bool/eqv$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/extensional/dfa$(OBJSUFFIX) gecode/int/extensional/dfa$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/extensional/tuple-set$(OBJSUFFIX) gecode/int/extensional/tuple-set$(SBJSUFFIX): \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/var-imp/bool$(OBJSUFFIX) gecode/int/var-imp/bool$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/extensional$(OBJSUFFIX) gecode/int/extensional$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional.hh ./gecode/int/extensional/base.hpp ./gecode/int/extensional/basic.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/incremental.hpp ./gecode/int/extensional/layered-graph.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -1090,62 +1154,20 @@ gecode/int/extensional$(OBJSUFFIX) gecode/int/extensional$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/dom$(OBJSUFFIX) gecode/int/dom$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/dom.hh \ - ./gecode/int/dom/range.hpp ./gecode/int/dom/set.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -1154,18 +1176,16 @@ gecode/int/dom$(OBJSUFFIX) gecode/int/dom$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/rel$(OBJSUFFIX) gecode/int/rel$(SBJSUFFIX): \ +gecode/int/var/int$(OBJSUFFIX) gecode/int/var/int$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -1192,60 +1212,20 @@ gecode/int/rel$(OBJSUFFIX) gecode/int/rel$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/precede$(OBJSUFFIX) gecode/int/precede$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/precede.hh \ - ./gecode/int/precede/single.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -1254,49 +1234,56 @@ gecode/int/precede$(OBJSUFFIX) gecode/int/precede$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/element$(OBJSUFFIX) gecode/int/element$(SBJSUFFIX): \ +gecode/int/var/bool$(OBJSUFFIX) gecode/int/var/bool$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/element.hh \ - ./gecode/int/element/int.hpp ./gecode/int/element/pair.hpp ./gecode/int/element/view.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -1305,125 +1292,78 @@ gecode/int/element$(OBJSUFFIX) gecode/int/element$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/count$(OBJSUFFIX) gecode/int/count$(SBJSUFFIX): \ +gecode/int/array$(OBJSUFFIX) gecode/int/array$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/count.hh ./gecode/int/count/int-base.hpp ./gecode/int/count/int-eq.hpp \ - ./gecode/int/count/int-gq.hpp ./gecode/int/count/int-lq.hpp ./gecode/int/count/rel.hpp \ - ./gecode/int/count/view-base.hpp ./gecode/int/count/view-eq.hpp ./gecode/int/count/view-gq.hpp \ - ./gecode/int/count/view-lq.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ - ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/arithmetic$(OBJSUFFIX) gecode/int/arithmetic$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/arithmetic.hh ./gecode/int/arithmetic/abs.hpp \ - ./gecode/int/arithmetic/argmax.hpp ./gecode/int/arithmetic/divmod.hpp ./gecode/int/arithmetic/max.hpp \ - ./gecode/int/arithmetic/mult.hpp ./gecode/int/arithmetic/nroot.hpp ./gecode/int/arithmetic/pow-ops.hpp \ - ./gecode/int/arithmetic/pow.hpp ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/bool$(OBJSUFFIX) gecode/int/bool$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp \ - ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp \ - ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp \ - ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/support-values.hh \ - ./gecode/int/support-values.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/exec$(OBJSUFFIX) gecode/int/exec$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/exec.hh ./gecode/int/exec/when.hpp ./gecode/int/extensional/dfa.hpp \ ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -1450,12 +1390,20 @@ gecode/int/exec$(OBJSUFFIX) gecode/int/exec$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/kernel/wait.hh ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -1464,14 +1412,20 @@ gecode/int/exec$(OBJSUFFIX) gecode/int/exec$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/exec/when$(OBJSUFFIX) gecode/int/exec/when$(SBJSUFFIX): \ +gecode/int/bool/eqv$(OBJSUFFIX) gecode/int/bool/eqv$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/exec.hh ./gecode/int/exec/when.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -1498,63 +1452,78 @@ gecode/int/exec/when$(OBJSUFFIX) gecode/int/exec/when$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/element/pair$(OBJSUFFIX) gecode/int/element/pair$(SBJSUFFIX): \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/extensional/dfa$(OBJSUFFIX) gecode/int/extensional/dfa$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/element.hh \ - ./gecode/int/element/int.hpp ./gecode/int/element/pair.hpp ./gecode/int/element/view.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -1563,53 +1532,56 @@ gecode/int/element/pair$(OBJSUFFIX) gecode/int/element/pair$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/linear/int-post$(OBJSUFFIX) gecode/int/linear/int-post$(SBJSUFFIX): \ +gecode/int/extensional/tuple-set$(OBJSUFFIX) gecode/int/extensional/tuple-set$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ - ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ - ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ - ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -1618,21 +1590,19 @@ gecode/int/linear/int-post$(OBJSUFFIX) gecode/int/linear/int-post$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/linear-int$(OBJSUFFIX) gecode/int/linear-int$(SBJSUFFIX): \ +gecode/int/extensional$(OBJSUFFIX) gecode/int/extensional$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional.hh ./gecode/int/extensional/base.hpp ./gecode/int/extensional/basic.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/incremental.hpp ./gecode/int/extensional/layered-graph.hpp \ ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ - ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ - ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ - ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -1659,21 +1629,90 @@ gecode/int/linear-int$(OBJSUFFIX) gecode/int/linear-int$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/linear/bool-post$(OBJSUFFIX) gecode/int/linear/bool-post$(SBJSUFFIX): \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/dom$(OBJSUFFIX) gecode/int/dom$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/dom.hh \ + ./gecode/int/dom/range.hpp ./gecode/int/dom/set.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/rel$(OBJSUFFIX) gecode/int/rel$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ @@ -1682,12 +1721,11 @@ gecode/int/linear/bool-post$(OBJSUFFIX) gecode/int/linear/bool-post$(SBJSUFFIX): ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ - ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ - ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ - ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -1714,85 +1752,39 @@ gecode/int/linear/bool-post$(OBJSUFFIX) gecode/int/linear/bool-post$(SBJSUFFIX): ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/linear-bool$(OBJSUFFIX) gecode/int/linear-bool$(SBJSUFFIX): \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/precede$(OBJSUFFIX) gecode/int/precede$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ - ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ - ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ - ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/branch$(OBJSUFFIX) gecode/int/branch$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/precede.hh ./gecode/int/precede/single.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -1818,65 +1810,20 @@ gecode/int/branch$(OBJSUFFIX) gecode/int/branch$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/distinct$(OBJSUFFIX) gecode/int/distinct$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ - ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -1886,87 +1833,22 @@ gecode/int/distinct$(OBJSUFFIX) gecode/int/distinct$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/sorted$(OBJSUFFIX) gecode/int/sorted$(SBJSUFFIX): \ +gecode/int/element$(OBJSUFFIX) gecode/int/element$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/element.hh \ + ./gecode/int/element/int.hpp ./gecode/int/element/pair.hpp ./gecode/int/element/view.hpp \ ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ + ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/sorted.hh ./gecode/int/sorted/matching.hpp \ - ./gecode/int/sorted/narrowing.hpp ./gecode/int/sorted/order.hpp ./gecode/int/sorted/propagate.hpp \ - ./gecode/int/sorted/sortsup.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/gcc$(OBJSUFFIX) gecode/int/gcc$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/distinct.hh \ - ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp ./gecode/int/distinct/dom.hpp \ - ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/gcc.hh \ - ./gecode/int/gcc/bnd-sup.hpp ./gecode/int/gcc/bnd.hpp ./gecode/int/gcc/dom-sup.hpp \ - ./gecode/int/gcc/dom.hpp ./gecode/int/gcc/post.hpp ./gecode/int/gcc/val.hpp \ - ./gecode/int/gcc/view.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ - ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ - ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ - ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ - ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ - ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -1990,38 +1872,46 @@ gecode/int/gcc$(OBJSUFFIX) gecode/int/gcc$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/channel$(OBJSUFFIX) gecode/int/channel$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/count$(OBJSUFFIX) gecode/int/count$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/channel.hh ./gecode/int/channel/base.hpp ./gecode/int/channel/dom.hpp \ - ./gecode/int/channel/link-multi.hpp ./gecode/int/channel/link-single.hpp ./gecode/int/channel/val.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/count.hh ./gecode/int/count/int-base.hpp ./gecode/int/count/int-eq.hpp \ + ./gecode/int/count/int-gq.hpp ./gecode/int/count/int-lq.hpp ./gecode/int/count/rel.hpp \ + ./gecode/int/count/view-base.hpp ./gecode/int/count/view-eq.hpp ./gecode/int/count/view-gq.hpp \ + ./gecode/int/count/view-lq.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ - ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ + ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ @@ -2046,38 +1936,52 @@ gecode/int/channel$(OBJSUFFIX) gecode/int/channel$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/channel/link-single$(OBJSUFFIX) gecode/int/channel/link-single$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/channel.hh ./gecode/int/channel/base.hpp ./gecode/int/channel/dom.hpp \ - ./gecode/int/channel/link-multi.hpp ./gecode/int/channel/link-single.hpp ./gecode/int/channel/val.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ - ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/arithmetic$(OBJSUFFIX) gecode/int/arithmetic$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/arithmetic.hh ./gecode/int/arithmetic/abs.hpp \ + ./gecode/int/arithmetic/argmax.hpp ./gecode/int/arithmetic/divmod.hpp ./gecode/int/arithmetic/max.hpp \ + ./gecode/int/arithmetic/mult.hpp ./gecode/int/arithmetic/nroot.hpp ./gecode/int/arithmetic/pow-ops.hpp \ + ./gecode/int/arithmetic/pow.hpp ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ + ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ + ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ + ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/support-values.hh ./gecode/int/support-values.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ @@ -2102,67 +2006,199 @@ gecode/int/channel/link-single$(OBJSUFFIX) gecode/int/channel/link-single$(SBJSU ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/channel/link-multi$(OBJSUFFIX) gecode/int/channel/link-multi$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/channel.hh ./gecode/int/channel/base.hpp ./gecode/int/channel/dom.hpp \ - ./gecode/int/channel/link-multi.hpp ./gecode/int/channel/link-single.hpp ./gecode/int/channel/val.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/exec$(OBJSUFFIX) gecode/int/exec$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/exec.hh ./gecode/int/exec/when.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/kernel/wait.hh ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/exec/when$(OBJSUFFIX) gecode/int/exec/when$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/exec.hh ./gecode/int/exec/when.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/element/pair$(OBJSUFFIX) gecode/int/element/pair$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/element.hh \ + ./gecode/int/element/int.hpp ./gecode/int/element/pair.hpp ./gecode/int/element/view.hpp \ ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ + ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -2172,7 +2208,7 @@ gecode/int/channel/link-multi$(OBJSUFFIX) gecode/int/channel/link-multi$(SBJSUFF ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/unshare$(OBJSUFFIX) gecode/int/unshare$(SBJSUFFIX): \ +gecode/int/linear/int-post$(OBJSUFFIX) gecode/int/linear/int-post$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ @@ -2181,40 +2217,54 @@ gecode/int/unshare$(OBJSUFFIX) gecode/int/unshare$(SBJSUFFIX): \ ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/linear.hh \ + ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp \ + ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp \ + ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -2224,48 +2274,63 @@ gecode/int/unshare$(OBJSUFFIX) gecode/int/unshare$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/sequence$(OBJSUFFIX) gecode/int/sequence$(SBJSUFFIX): \ +gecode/int/linear-int$(OBJSUFFIX) gecode/int/linear-int$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/sequence.hh ./gecode/int/sequence/int.hpp ./gecode/int/sequence/set-op.hpp \ - ./gecode/int/sequence/view.hpp ./gecode/int/sequence/violations.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/linear.hh \ + ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp \ + ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp \ + ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -2275,52 +2340,63 @@ gecode/int/sequence$(OBJSUFFIX) gecode/int/sequence$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/bin-packing$(OBJSUFFIX) gecode/int/bin-packing$(SBJSUFFIX): \ +gecode/int/linear/bool-post$(OBJSUFFIX) gecode/int/linear/bool-post$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bin-packing.hh ./gecode/int/bin-packing/conflict-graph.hpp ./gecode/int/bin-packing/propagate.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/linear.hh \ + ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp \ + ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp \ + ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp \ ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -2330,52 +2406,63 @@ gecode/int/bin-packing$(OBJSUFFIX) gecode/int/bin-packing$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/bin-packing/propagate$(OBJSUFFIX) gecode/int/bin-packing/propagate$(SBJSUFFIX): \ +gecode/int/linear-bool$(OBJSUFFIX) gecode/int/linear-bool$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bin-packing.hh ./gecode/int/bin-packing/conflict-graph.hpp ./gecode/int/bin-packing/propagate.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/linear.hh \ + ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp \ + ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp \ + ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp \ ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -2385,23 +2472,20 @@ gecode/int/bin-packing/propagate$(OBJSUFFIX) gecode/int/bin-packing/propagate$(S ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/int/bin-packing/conflict-graph$(OBJSUFFIX) gecode/int/bin-packing/conflict-graph$(SBJSUFFIX): \ +gecode/int/branch$(OBJSUFFIX) gecode/int/branch$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bin-packing.hh ./gecode/int/bin-packing/conflict-graph.hpp ./gecode/int/bin-packing/propagate.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ - ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ - ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ - ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ @@ -2426,38 +2510,42 @@ gecode/int/bin-packing/conflict-graph$(OBJSUFFIX) gecode/int/bin-packing/conflic ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/unary$(OBJSUFFIX) gecode/int/unary$(SBJSUFFIX): \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/distinct/eqite$(OBJSUFFIX) gecode/int/distinct/eqite$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ - ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ - ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ - ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ - ./gecode/int/rel/nq.hpp ./gecode/int/task.hh ./gecode/int/task/array.hpp \ - ./gecode/int/task/fwd-to-bwd.hpp ./gecode/int/task/iter.hpp ./gecode/int/task/man-to-opt.hpp \ - ./gecode/int/task/prop.hpp ./gecode/int/task/purge.hpp ./gecode/int/task/sort.hpp \ - ./gecode/int/task/tree.hpp ./gecode/int/unary.hh ./gecode/int/unary/detectable.hpp \ - ./gecode/int/unary/edge-finding.hpp ./gecode/int/unary/man-prop.hpp ./gecode/int/unary/not-first-not-last.hpp \ - ./gecode/int/unary/opt-prop.hpp ./gecode/int/unary/overload.hpp ./gecode/int/unary/subsumption.hpp \ - ./gecode/int/unary/task-view.hpp ./gecode/int/unary/task.hpp ./gecode/int/unary/tree.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ @@ -2486,138 +2574,46 @@ gecode/int/unary$(OBJSUFFIX) gecode/int/unary$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/cumulative$(OBJSUFFIX) gecode/int/cumulative$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/cumulative.hh ./gecode/int/cumulative/basic.hpp ./gecode/int/cumulative/edge-finding.hpp \ - ./gecode/int/cumulative/limits.hpp ./gecode/int/cumulative/man-prop.hpp ./gecode/int/cumulative/opt-prop.hpp \ - ./gecode/int/cumulative/overload.hpp ./gecode/int/cumulative/task-view.hpp ./gecode/int/cumulative/task.hpp \ - ./gecode/int/cumulative/tree.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/task.hh \ - ./gecode/int/task/array.hpp ./gecode/int/task/fwd-to-bwd.hpp ./gecode/int/task/iter.hpp \ - ./gecode/int/task/man-to-opt.hpp ./gecode/int/task/prop.hpp ./gecode/int/task/purge.hpp \ - ./gecode/int/task/sort.hpp ./gecode/int/task/tree.hpp ./gecode/int/unary.hh \ - ./gecode/int/unary/detectable.hpp ./gecode/int/unary/edge-finding.hpp ./gecode/int/unary/man-prop.hpp \ - ./gecode/int/unary/not-first-not-last.hpp ./gecode/int/unary/opt-prop.hpp ./gecode/int/unary/overload.hpp \ - ./gecode/int/unary/subsumption.hpp ./gecode/int/unary/task-view.hpp ./gecode/int/unary/task.hpp \ - ./gecode/int/unary/tree.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/cumulatives$(OBJSUFFIX) gecode/int/cumulatives$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/cumulatives.hh ./gecode/int/cumulatives/val.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/circuit$(OBJSUFFIX) gecode/int/circuit$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/distinct$(OBJSUFFIX) gecode/int/distinct$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/circuit.hh ./gecode/int/circuit/base.hpp ./gecode/int/circuit/dom.hpp \ - ./gecode/int/circuit/val.hpp ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp \ - ./gecode/int/distinct/dom-ctrl.hpp ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/graph.hpp \ - ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/distinct.hh \ + ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp ./gecode/int/distinct/dom.hpp \ + ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ + ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp \ @@ -2646,32 +2642,49 @@ gecode/int/circuit$(OBJSUFFIX) gecode/int/circuit$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/no-overlap$(OBJSUFFIX) gecode/int/no-overlap$(SBJSUFFIX): \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/sorted$(OBJSUFFIX) gecode/int/sorted$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/no-overlap.hh \ - ./gecode/int/no-overlap/base.hpp ./gecode/int/no-overlap/box.hpp ./gecode/int/no-overlap/dim.hpp \ - ./gecode/int/no-overlap/man.hpp ./gecode/int/no-overlap/opt.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/sorted.hh ./gecode/int/sorted/matching.hpp ./gecode/int/sorted/narrowing.hpp \ + ./gecode/int/sorted/order.hpp ./gecode/int/sorted/propagate.hpp ./gecode/int/sorted/sortsup.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -2695,21 +2708,30 @@ gecode/int/no-overlap$(OBJSUFFIX) gecode/int/no-overlap$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/nvalues$(OBJSUFFIX) gecode/int/nvalues$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/gcc$(OBJSUFFIX) gecode/int/gcc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ @@ -2717,17 +2739,21 @@ gecode/int/nvalues$(OBJSUFFIX) gecode/int/nvalues$(SBJSUFFIX): \ ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/distinct.hh \ ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp ./gecode/int/distinct/dom.hpp \ - ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/nvalues.hh \ - ./gecode/int/nvalues/bool-base.hpp ./gecode/int/nvalues/bool-eq.hpp ./gecode/int/nvalues/bool-gq.hpp \ - ./gecode/int/nvalues/bool-lq.hpp ./gecode/int/nvalues/graph.hpp ./gecode/int/nvalues/int-base.hpp \ - ./gecode/int/nvalues/int-eq.hpp ./gecode/int/nvalues/int-gq.hpp ./gecode/int/nvalues/int-lq.hpp \ - ./gecode/int/nvalues/range-event.hpp ./gecode/int/nvalues/sym-bit-matrix.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/val-set.hh ./gecode/int/val-set.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ + ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/gcc.hh ./gecode/int/gcc/bnd-sup.hpp ./gecode/int/gcc/bnd.hpp \ + ./gecode/int/gcc/dom-sup.hpp ./gecode/int/gcc/dom.hpp ./gecode/int/gcc/post.hpp \ + ./gecode/int/gcc/val.hpp ./gecode/int/gcc/view.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp \ + ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp \ + ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp \ + ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ + ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp \ @@ -2756,81 +2782,49 @@ gecode/int/nvalues$(OBJSUFFIX) gecode/int/nvalues$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/member$(OBJSUFFIX) gecode/int/member$(SBJSUFFIX): \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/channel$(OBJSUFFIX) gecode/int/channel$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/member.hh \ - ./gecode/int/member/prop.hpp ./gecode/int/member/re-prop.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/channel.hh ./gecode/int/channel/base.hpp ./gecode/int/channel/dom.hpp \ + ./gecode/int/channel/link-multi.hpp ./gecode/int/channel/link-single.hpp ./gecode/int/channel/val.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/val-set.hh ./gecode/int/val-set.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/int/branch/activity$(OBJSUFFIX) gecode/int/branch/activity$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -2854,42 +2848,50 @@ gecode/int/branch/activity$(OBJSUFFIX) gecode/int/branch/activity$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/arithmetic/mult$(OBJSUFFIX) gecode/int/arithmetic/mult$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/arithmetic.hh ./gecode/int/arithmetic/abs.hpp \ - ./gecode/int/arithmetic/argmax.hpp ./gecode/int/arithmetic/divmod.hpp ./gecode/int/arithmetic/max.hpp \ - ./gecode/int/arithmetic/mult.hpp ./gecode/int/arithmetic/nroot.hpp ./gecode/int/arithmetic/pow-ops.hpp \ - ./gecode/int/arithmetic/pow.hpp ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/channel/link-single$(OBJSUFFIX) gecode/int/channel/link-single$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/channel.hh ./gecode/int/channel/base.hpp ./gecode/int/channel/dom.hpp \ + ./gecode/int/channel/link-multi.hpp ./gecode/int/channel/link-single.hpp ./gecode/int/channel/val.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp \ - ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp \ - ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp \ - ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ - ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/support-values.hh \ - ./gecode/int/support-values.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -2913,32 +2915,50 @@ gecode/int/arithmetic/mult$(OBJSUFFIX) gecode/int/arithmetic/mult$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/branch/view-sel$(OBJSUFFIX) gecode/int/branch/view-sel$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/channel/link-multi$(OBJSUFFIX) gecode/int/channel/link-multi$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/channel.hh ./gecode/int/channel/base.hpp ./gecode/int/channel/dom.hpp \ + ./gecode/int/channel/link-multi.hpp ./gecode/int/channel/link-single.hpp ./gecode/int/channel/val.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -2962,12 +2982,83 @@ gecode/int/branch/view-sel$(OBJSUFFIX) gecode/int/branch/view-sel$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/unshare$(OBJSUFFIX) gecode/int/unshare$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -2976,47 +3067,59 @@ gecode/int/branch/view-sel$(OBJSUFFIX) gecode/int/branch/view-sel$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/branch/val-sel-commit$(OBJSUFFIX) gecode/int/branch/val-sel-commit$(SBJSUFFIX): \ +gecode/int/sequence$(OBJSUFFIX) gecode/int/sequence$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/sequence.hh ./gecode/int/sequence/int.hpp \ + ./gecode/int/sequence/set-op.hpp ./gecode/int/sequence/view.hpp ./gecode/int/sequence/violations.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -3025,18 +3128,26 @@ gecode/int/branch/val-sel-commit$(OBJSUFFIX) gecode/int/branch/val-sel-commit$(S ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/branch/view-values$(OBJSUFFIX) gecode/int/branch/view-values$(SBJSUFFIX): \ +gecode/int/bin-packing$(OBJSUFFIX) gecode/int/bin-packing$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/bin-packing.hh ./gecode/int/bin-packing/conflict-graph.hpp ./gecode/int/bin-packing/propagate.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -3060,33 +3171,49 @@ gecode/int/branch/view-values$(OBJSUFFIX) gecode/int/branch/view-values$(SBJSUFF ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/ldsb$(OBJSUFFIX) gecode/int/ldsb$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/ldsb.hh ./gecode/int/ldsb/brancher.hpp \ - ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/bin-packing/propagate$(OBJSUFFIX) gecode/int/bin-packing/propagate$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/bin-packing.hh ./gecode/int/bin-packing/conflict-graph.hpp ./gecode/int/bin-packing/propagate.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -3110,33 +3237,49 @@ gecode/int/ldsb$(OBJSUFFIX) gecode/int/ldsb$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/ldsb/sym-imp$(OBJSUFFIX) gecode/int/ldsb/sym-imp$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/bin-packing/conflict-graph$(OBJSUFFIX) gecode/int/bin-packing/conflict-graph$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/ldsb.hh ./gecode/int/ldsb/brancher.hpp \ - ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/bin-packing.hh ./gecode/int/bin-packing/conflict-graph.hpp ./gecode/int/bin-packing/propagate.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp \ + ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp \ + ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ @@ -3160,12 +3303,93 @@ gecode/int/ldsb/sym-imp$(OBJSUFFIX) gecode/int/ldsb/sym-imp$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/unary$(OBJSUFFIX) gecode/int/unary$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp \ + ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp \ + ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/task.hh ./gecode/int/task/array.hpp ./gecode/int/task/event.hpp \ + ./gecode/int/task/fwd-to-bwd.hpp ./gecode/int/task/iter.hpp ./gecode/int/task/man-to-opt.hpp \ + ./gecode/int/task/prop.hpp ./gecode/int/task/purge.hpp ./gecode/int/task/sort.hpp \ + ./gecode/int/task/tree.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/unary.hh ./gecode/int/unary/detectable.hpp \ + ./gecode/int/unary/edge-finding.hpp ./gecode/int/unary/man-prop.hpp ./gecode/int/unary/not-first-not-last.hpp \ + ./gecode/int/unary/opt-prop.hpp ./gecode/int/unary/overload.hpp ./gecode/int/unary/post.hpp \ + ./gecode/int/unary/subsumption.hpp ./gecode/int/unary/task-view.hpp ./gecode/int/unary/task.hpp \ + ./gecode/int/unary/time-tabling.hpp ./gecode/int/unary/tree.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view-val-graph.hh ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp \ + ./gecode/int/view-val-graph/edge.hpp ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp \ + ./gecode/int/view-val-graph/node.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -3174,15 +3398,28 @@ gecode/int/ldsb/sym-imp$(OBJSUFFIX) gecode/int/ldsb/sym-imp$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/int/ldsb/sym-obj$(OBJSUFFIX) gecode/int/ldsb/sym-obj$(SBJSUFFIX): \ +gecode/int/cumulative$(OBJSUFFIX) gecode/int/cumulative$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/cumulative.hh ./gecode/int/cumulative/edge-finding.hpp ./gecode/int/cumulative/limits.hpp \ + ./gecode/int/cumulative/man-prop.hpp ./gecode/int/cumulative/opt-prop.hpp ./gecode/int/cumulative/overload.hpp \ + ./gecode/int/cumulative/post.hpp ./gecode/int/cumulative/subsumption.hpp ./gecode/int/cumulative/task-view.hpp \ + ./gecode/int/cumulative/task.hpp ./gecode/int/cumulative/time-tabling.hpp ./gecode/int/cumulative/tree.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/ldsb.hh ./gecode/int/ldsb/brancher.hpp \ - ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/task.hh \ + ./gecode/int/task/array.hpp ./gecode/int/task/event.hpp ./gecode/int/task/fwd-to-bwd.hpp \ + ./gecode/int/task/iter.hpp ./gecode/int/task/man-to-opt.hpp ./gecode/int/task/prop.hpp \ + ./gecode/int/task/purge.hpp ./gecode/int/task/sort.hpp ./gecode/int/task/tree.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/unary.hh ./gecode/int/unary/detectable.hpp ./gecode/int/unary/edge-finding.hpp \ + ./gecode/int/unary/man-prop.hpp ./gecode/int/unary/not-first-not-last.hpp ./gecode/int/unary/opt-prop.hpp \ + ./gecode/int/unary/overload.hpp ./gecode/int/unary/post.hpp ./gecode/int/unary/subsumption.hpp \ + ./gecode/int/unary/task-view.hpp ./gecode/int/unary/task.hpp ./gecode/int/unary/time-tabling.hpp \ + ./gecode/int/unary/tree.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -3208,37 +3445,40 @@ gecode/int/ldsb/sym-obj$(OBJSUFFIX) gecode/int/ldsb/sym-obj$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/var/float$(OBJSUFFIX) gecode/float/var/float$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/cumulatives$(OBJSUFFIX) gecode/int/cumulatives$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/cumulatives.hh ./gecode/int/cumulatives/val.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -3264,44 +3504,49 @@ gecode/float/var/float$(OBJSUFFIX) gecode/float/var/float$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/arithmetic$(OBJSUFFIX) gecode/float/arithmetic$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/arithmetic.hh ./gecode/float/arithmetic/div.hpp \ - ./gecode/float/arithmetic/min-max-channel.hpp ./gecode/float/arithmetic/mult.hpp ./gecode/float/arithmetic/pow-nroot.hpp \ - ./gecode/float/arithmetic/sqr-sqrt-abs.hpp ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp \ - ./gecode/float/rel/lq-le.hpp ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp \ - ./gecode/float/transcendental.hh ./gecode/float/transcendental/exp-log.hpp ./gecode/float/trigonometric.hh \ - ./gecode/float/trigonometric/asinacos.hpp ./gecode/float/trigonometric/sincos.hpp ./gecode/float/trigonometric/tanatan.hpp \ - ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ - ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ - ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ - ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ - ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/int/circuit$(OBJSUFFIX) gecode/int/circuit$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/circuit.hh ./gecode/int/circuit/base.hpp ./gecode/int/circuit/dom.hpp \ + ./gecode/int/circuit/val.hpp ./gecode/int/distinct.hh ./gecode/int/distinct/bnd.hpp \ + ./gecode/int/distinct/dom-ctrl.hpp ./gecode/int/distinct/dom.hpp ./gecode/int/distinct/eqite.hpp \ + ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp ./gecode/int/distinct/val.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ + ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ + ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ @@ -3326,94 +3571,40 @@ gecode/float/arithmetic$(OBJSUFFIX) gecode/float/arithmetic$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/float/array$(OBJSUFFIX) gecode/float/array$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/branch$(OBJSUFFIX) gecode/float/branch$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch.hh ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ - ./gecode/float/branch/assign.hpp ./gecode/float/branch/merit.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val-commit.hpp ./gecode/float/branch/val-sel.hpp ./gecode/float/branch/val.hpp \ - ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ - ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ - ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ - ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ - ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ - ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ - ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/no-overlap$(OBJSUFFIX) gecode/int/no-overlap$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/no-overlap.hh ./gecode/int/no-overlap/base.hpp ./gecode/int/no-overlap/box.hpp \ + ./gecode/int/no-overlap/dim.hpp ./gecode/int/no-overlap/man.hpp ./gecode/int/no-overlap/opt.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -3440,40 +3631,54 @@ gecode/float/branch$(OBJSUFFIX) gecode/float/branch$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/float/rel$(OBJSUFFIX) gecode/float/rel$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp \ - ./gecode/float/rel/lq-le.hpp ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp \ - ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ - ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ - ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ - ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ - ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/nvalues$(OBJSUFFIX) gecode/int/nvalues$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/distinct.hh \ + ./gecode/int/distinct/bnd.hpp ./gecode/int/distinct/dom-ctrl.hpp ./gecode/int/distinct/dom.hpp \ + ./gecode/int/distinct/eqite.hpp ./gecode/int/distinct/graph.hpp ./gecode/int/distinct/ter-dom.hpp \ + ./gecode/int/distinct/val.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/nvalues.hh ./gecode/int/nvalues/bool-base.hpp \ + ./gecode/int/nvalues/bool-eq.hpp ./gecode/int/nvalues/bool-gq.hpp ./gecode/int/nvalues/bool-lq.hpp \ + ./gecode/int/nvalues/graph.hpp ./gecode/int/nvalues/int-base.hpp ./gecode/int/nvalues/int-eq.hpp \ + ./gecode/int/nvalues/int-gq.hpp ./gecode/int/nvalues/int-lq.hpp ./gecode/int/nvalues/range-event.hpp \ + ./gecode/int/nvalues/sym-bit-matrix.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ + ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/val-set.hh \ + ./gecode/int/val-set.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view-val-graph.hh \ + ./gecode/int/view-val-graph/bi-link.hpp ./gecode/int/view-val-graph/comb-ptr-flag.hpp ./gecode/int/view-val-graph/edge.hpp \ + ./gecode/int/view-val-graph/graph.hpp ./gecode/int/view-val-graph/iter-prune-val.hpp ./gecode/int/view-val-graph/node.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ @@ -3498,37 +3703,41 @@ gecode/float/rel$(OBJSUFFIX) gecode/float/rel$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/float/linear$(OBJSUFFIX) gecode/float/linear$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/linear.hh \ - ./gecode/float/linear/nary.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/member$(OBJSUFFIX) gecode/int/member$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/member.hh ./gecode/int/member/prop.hpp ./gecode/int/member/re-prop.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/val-set.hh ./gecode/int/val-set.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -3555,70 +3764,20 @@ gecode/float/linear$(OBJSUFFIX) gecode/float/linear$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/linear/post$(OBJSUFFIX) gecode/float/linear/post$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/linear.hh \ - ./gecode/float/linear/nary.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp ./gecode/float/rel/lq-le.hpp \ - ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -3627,193 +3786,16 @@ gecode/float/linear/post$(OBJSUFFIX) gecode/float/linear/post$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/branch/activity$(OBJSUFFIX) gecode/float/branch/activity$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ +gecode/int/branch/activity$(OBJSUFFIX) gecode/int/branch/activity$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/rounding$(OBJSUFFIX) gecode/float/rounding$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/float/exec$(OBJSUFFIX) gecode/float/exec$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/kernel/wait.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/float/branch/val-sel-commit$(OBJSUFFIX) gecode/float/branch/val-sel-commit$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch.hh ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ - ./gecode/float/branch/assign.hpp ./gecode/float/branch/merit.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val-commit.hpp ./gecode/float/branch/val-sel.hpp ./gecode/float/branch/val.hpp \ - ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ - ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ - ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ - ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ - ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ - ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ - ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -3840,38 +3822,50 @@ gecode/float/branch/val-sel-commit$(OBJSUFFIX) gecode/float/branch/val-sel-commi ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/float/branch/view-sel$(OBJSUFFIX) gecode/float/branch/view-sel$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch.hh ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ - ./gecode/float/branch/assign.hpp ./gecode/float/branch/merit.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val-commit.hpp ./gecode/float/branch/val-sel.hpp ./gecode/float/branch/val.hpp \ - ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ - ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ - ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ - ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ - ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ - ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ - ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/arithmetic/mult$(OBJSUFFIX) gecode/int/arithmetic/mult$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/arithmetic.hh ./gecode/int/arithmetic/abs.hpp \ + ./gecode/int/arithmetic/argmax.hpp ./gecode/int/arithmetic/divmod.hpp ./gecode/int/arithmetic/max.hpp \ + ./gecode/int/arithmetic/mult.hpp ./gecode/int/arithmetic/nroot.hpp ./gecode/int/arithmetic/pow-ops.hpp \ + ./gecode/int/arithmetic/pow.hpp ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ + ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ + ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ + ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ + ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ + ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ + ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ + ./gecode/int/support-values.hh ./gecode/int/support-values.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -3898,38 +3892,40 @@ gecode/float/branch/view-sel$(OBJSUFFIX) gecode/float/branch/view-sel$(SBJSUFFIX ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/float/dom$(OBJSUFFIX) gecode/float/dom$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp \ - ./gecode/float/rel/lq-le.hpp ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp \ - ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ - ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ - ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ - ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ - ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/branch/view-sel$(OBJSUFFIX) gecode/int/branch/view-sel$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -3956,69 +3952,198 @@ gecode/float/dom$(OBJSUFFIX) gecode/float/dom$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/branch$(OBJSUFFIX) gecode/set/branch$(SBJSUFFIX): \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/branch/val-sel-commit$(OBJSUFFIX) gecode/int/branch/val-sel-commit$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch.hh ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/merit.hpp \ - ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val-commit.hpp \ - ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/branch/view-values$(OBJSUFFIX) gecode/int/branch/view-values$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/relax$(OBJSUFFIX) gecode/int/relax$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/relax.hh ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -4027,55 +4152,59 @@ gecode/set/branch$(OBJSUFFIX) gecode/set/branch$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/cardinality$(OBJSUFFIX) gecode/set/cardinality$(SBJSUFFIX): \ +gecode/int/ldsb$(OBJSUFFIX) gecode/int/ldsb$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/int.hh \ - ./gecode/set/int/card.hpp ./gecode/set/int/minmax.hpp ./gecode/set/int/weights.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/ldsb.hh \ + ./gecode/int/ldsb/brancher.hpp ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -4084,15 +4213,395 @@ gecode/set/cardinality$(OBJSUFFIX) gecode/set/cardinality$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/convex$(OBJSUFFIX) gecode/set/convex$(SBJSUFFIX): \ +gecode/int/ldsb/sym-imp$(OBJSUFFIX) gecode/int/ldsb/sym-imp$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/ldsb.hh \ + ./gecode/int/ldsb/brancher.hpp ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/ldsb/sym-obj$(OBJSUFFIX) gecode/int/ldsb/sym-obj$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/ldsb.hh \ + ./gecode/int/ldsb/brancher.hpp ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/trace$(OBJSUFFIX) gecode/int/trace$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/trace/tracer$(OBJSUFFIX) gecode/int/trace/tracer$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/int/exception$(OBJSUFFIX) gecode/int/exception$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/var/float$(OBJSUFFIX) gecode/float/var/float$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/arithmetic$(OBJSUFFIX) gecode/float/arithmetic$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/arithmetic.hh ./gecode/float/arithmetic/div.hpp \ + ./gecode/float/arithmetic/min-max-channel.hpp ./gecode/float/arithmetic/mult.hpp ./gecode/float/arithmetic/pow-nroot.hpp \ + ./gecode/float/arithmetic/sqr-sqrt-abs.hpp ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp \ + ./gecode/float/rel/lq-le.hpp ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/transcendental.hh ./gecode/float/transcendental/exp-log.hpp \ + ./gecode/float/trigonometric.hh ./gecode/float/trigonometric/asinacos.hpp ./gecode/float/trigonometric/sincos.hpp \ + ./gecode/float/trigonometric/tanatan.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ @@ -4117,21 +4626,20 @@ gecode/set/convex$(OBJSUFFIX) gecode/set/convex$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/convex.hh ./gecode/set/convex/conv.hpp \ - ./gecode/set/convex/hull.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4141,71 +4649,96 @@ gecode/set/convex$(OBJSUFFIX) gecode/set/convex$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/convex/conv$(OBJSUFFIX) gecode/set/convex/conv$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ +gecode/float/array$(OBJSUFFIX) gecode/float/array$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/convex.hh ./gecode/set/convex/conv.hpp \ - ./gecode/set/convex/hull.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/convex/hull$(OBJSUFFIX) gecode/set/convex/hull$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/branch$(OBJSUFFIX) gecode/float/branch$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch.hh ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ + ./gecode/float/branch/assign.hpp ./gecode/float/branch/merit.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val-commit.hpp ./gecode/float/branch/val-sel.hpp ./gecode/float/branch/val.hpp \ + ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ + ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -4231,21 +4764,20 @@ gecode/set/convex/hull$(OBJSUFFIX) gecode/set/convex/hull$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/convex.hh ./gecode/set/convex/conv.hpp \ - ./gecode/set/convex/hull.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4255,14 +4787,28 @@ gecode/set/convex/hull$(OBJSUFFIX) gecode/set/convex/hull$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/dom$(OBJSUFFIX) gecode/set/dom$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ +gecode/float/rel$(OBJSUFFIX) gecode/float/rel$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp \ + ./gecode/float/rel/lq-le.hpp ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -4288,87 +4834,90 @@ gecode/set/dom$(OBJSUFFIX) gecode/set/dom$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ - ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ - ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ - ./gecode/set/rel/subset.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/rel$(OBJSUFFIX) gecode/set/rel$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/float/linear$(OBJSUFFIX) gecode/float/linear$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/linear.hh \ + ./gecode/float/linear/nary.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/int.hh \ - ./gecode/set/int/card.hpp ./gecode/set/int/minmax.hpp ./gecode/set/int/weights.hpp \ - ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ - ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ - ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ - ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ - ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ - ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ - ./gecode/set/rel/subset.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -4377,14 +4926,303 @@ gecode/set/rel$(OBJSUFFIX) gecode/set/rel$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/rel-op$(OBJSUFFIX) gecode/set/rel-op$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ +gecode/float/linear/post$(OBJSUFFIX) gecode/float/linear/post$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/linear.hh \ + ./gecode/float/linear/nary.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp ./gecode/float/rel/lq-le.hpp \ + ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/branch/activity$(OBJSUFFIX) gecode/float/branch/activity$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/rounding$(OBJSUFFIX) gecode/float/rounding$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/exec$(OBJSUFFIX) gecode/float/exec$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/kernel/wait.hh ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/float/branch/val-sel-commit$(OBJSUFFIX) gecode/float/branch/val-sel-commit$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch.hh ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ + ./gecode/float/branch/assign.hpp ./gecode/float/branch/merit.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val-commit.hpp ./gecode/float/branch/val-sel.hpp ./gecode/float/branch/val.hpp \ + ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ + ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -4410,26 +5248,20 @@ gecode/set/rel-op$(OBJSUFFIX) gecode/set/rel-op$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4439,138 +5271,28 @@ gecode/set/rel-op$(OBJSUFFIX) gecode/set/rel-op$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op-ternary$(OBJSUFFIX) gecode/set/rel-op-ternary$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/rel-op-singleton$(OBJSUFFIX) gecode/set/rel-op-singleton$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/rel-op/post-compl$(OBJSUFFIX) gecode/set/rel-op/post-compl$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ +gecode/float/branch/view-sel$(OBJSUFFIX) gecode/float/branch/view-sel$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch.hh ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ + ./gecode/float/branch/assign.hpp ./gecode/float/branch/merit.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val-commit.hpp ./gecode/float/branch/val-sel.hpp ./gecode/float/branch/val.hpp \ + ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ + ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -4596,26 +5318,20 @@ gecode/set/rel-op/post-compl$(OBJSUFFIX) gecode/set/rel-op/post-compl$(SBJSUFFIX ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4625,14 +5341,28 @@ gecode/set/rel-op/post-compl$(OBJSUFFIX) gecode/set/rel-op/post-compl$(SBJSUFFIX ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op/post-nocompl$(OBJSUFFIX) gecode/set/rel-op/post-nocompl$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ +gecode/float/dom$(OBJSUFFIX) gecode/float/dom$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rel.hh ./gecode/float/rel/eq.hpp \ + ./gecode/float/rel/lq-le.hpp ./gecode/float/rel/nq.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -4658,26 +5388,20 @@ gecode/set/rel-op/post-nocompl$(OBJSUFFIX) gecode/set/rel-op/post-nocompl$(SBJSU ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4687,59 +5411,66 @@ gecode/set/rel-op/post-nocompl$(OBJSUFFIX) gecode/set/rel-op/post-nocompl$(SBJSU ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op/post-compl-cvv$(OBJSUFFIX) gecode/set/rel-op/post-compl-cvv$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ +gecode/float/relax$(OBJSUFFIX) gecode/float/relax$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/relax.hh ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4749,245 +5480,408 @@ gecode/set/rel-op/post-compl-cvv$(OBJSUFFIX) gecode/set/rel-op/post-compl-cvv$(S ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op/post-nocompl-cvv$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-cvv$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ +gecode/float/trace$(OBJSUFFIX) gecode/float/trace$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/rel-op/post-compl-vvc$(OBJSUFFIX) gecode/set/rel-op/post-compl-vvc$(SBJSUFFIX): \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/trace/tracer$(OBJSUFFIX) gecode/float/trace/tracer$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/float/exception$(OBJSUFFIX) gecode/float/exception$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/branch$(OBJSUFFIX) gecode/set/branch$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/rel-op/post-nocompl-vvc$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-vvc$(SBJSUFFIX): \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch.hh \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/cardinality$(OBJSUFFIX) gecode/set/cardinality$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/int.hh ./gecode/set/int/card.hpp ./gecode/set/int/minmax.hpp \ + ./gecode/set/int/weights.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/rel-op/post-compl-cvc$(OBJSUFFIX) gecode/set/rel-op/post-compl-cvc$(SBJSUFFIX): \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/convex$(OBJSUFFIX) gecode/set/convex$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/convex.hh \ + ./gecode/set/convex/conv.hpp ./gecode/set/convex/hull.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -4997,59 +5891,66 @@ gecode/set/rel-op/post-compl-cvc$(OBJSUFFIX) gecode/set/rel-op/post-compl-cvc$(S ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op/post-nocompl-cvc$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-cvc$(SBJSUFFIX): \ +gecode/set/convex/conv$(OBJSUFFIX) gecode/set/convex/conv$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/convex.hh \ + ./gecode/set/convex/conv.hpp ./gecode/set/convex/hull.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5059,59 +5960,66 @@ gecode/set/rel-op/post-nocompl-cvc$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-cv ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op-const-vvc$(OBJSUFFIX) gecode/set/rel-op-const-vvc$(SBJSUFFIX): \ +gecode/set/convex/hull$(OBJSUFFIX) gecode/set/convex/hull$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/convex.hh \ + ./gecode/set/convex/conv.hpp ./gecode/set/convex/hull.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5121,121 +6029,217 @@ gecode/set/rel-op-const-vvc$(OBJSUFFIX) gecode/set/rel-op-const-vvc$(SBJSUFFIX): ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op-const-vcv$(OBJSUFFIX) gecode/set/rel-op-const-vcv$(SBJSUFFIX): \ +gecode/set/dom$(OBJSUFFIX) gecode/set/dom$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ + ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ + ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ + ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/set/rel-op-const-vcc$(OBJSUFFIX) gecode/set/rel-op-const-vcc$(SBJSUFFIX): \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/rel$(OBJSUFFIX) gecode/set/rel$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/int.hh ./gecode/set/int/card.hpp ./gecode/set/int/minmax.hpp \ + ./gecode/set/int/weights.hpp ./gecode/set/limits.hpp ./gecode/set/rel-op.hh \ + ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp \ + ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp \ + ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ + ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ + ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ + ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/rel-op$(OBJSUFFIX) gecode/set/rel-op$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5245,59 +6249,71 @@ gecode/set/rel-op-const-vcc$(OBJSUFFIX) gecode/set/rel-op-const-vcc$(SBJSUFFIX): ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op-const-cvc$(OBJSUFFIX) gecode/set/rel-op-const-cvc$(SBJSUFFIX): \ +gecode/set/rel-op-ternary$(OBJSUFFIX) gecode/set/rel-op-ternary$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5307,59 +6323,71 @@ gecode/set/rel-op-const-cvc$(OBJSUFFIX) gecode/set/rel-op-const-cvc$(SBJSUFFIX): ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/rel-op-const-cvv$(OBJSUFFIX) gecode/set/rel-op-const-cvv$(SBJSUFFIX): \ +gecode/set/rel-op-singleton$(OBJSUFFIX) gecode/set/rel-op-singleton$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp \ - ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp \ - ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5369,118 +6397,145 @@ gecode/set/rel-op-const-cvv$(OBJSUFFIX) gecode/set/rel-op-const-cvv$(SBJSUFFIX): ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/int$(OBJSUFFIX) gecode/set/int$(SBJSUFFIX): \ +gecode/set/rel-op/post-compl$(OBJSUFFIX) gecode/set/rel-op/post-compl$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/int.hh \ - ./gecode/set/int/card.hpp ./gecode/set/int/minmax.hpp ./gecode/set/int/weights.hpp \ - ./gecode/set/limits.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ - ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ - ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ - ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/channel$(OBJSUFFIX) gecode/set/channel$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/rel-op/post-nocompl$(OBJSUFFIX) gecode/set/rel-op/post-nocompl$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/channel.hh ./gecode/set/channel/bool.hpp \ - ./gecode/set/channel/int.hpp ./gecode/set/channel/set.hpp ./gecode/set/channel/sorted.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/rel.hh \ - ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ - ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ - ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5490,125 +6545,145 @@ gecode/set/channel$(OBJSUFFIX) gecode/set/channel$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/element$(OBJSUFFIX) gecode/set/element$(SBJSUFFIX): \ +gecode/set/rel-op/post-compl-cvv$(OBJSUFFIX) gecode/set/rel-op/post-compl-cvv$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/element.hh \ - ./gecode/int/element/int.hpp ./gecode/int/element/pair.hpp ./gecode/int/element/view.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/element.hh ./gecode/set/element/disjoint.hpp ./gecode/set/element/inter.hpp \ - ./gecode/set/element/union.hpp ./gecode/set/element/unionConst.hpp ./gecode/set/exception.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ - ./gecode/set/rel/subset.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/sequence$(OBJSUFFIX) gecode/set/sequence$(SBJSUFFIX): \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/rel-op/post-nocompl-cvv$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-cvv$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op/common.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ - ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ - ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ - ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/sequence.hh \ - ./gecode/set/sequence/common.hpp ./gecode/set/sequence/seq-u.hpp ./gecode/set/sequence/seq.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5618,226 +6693,293 @@ gecode/set/sequence$(OBJSUFFIX) gecode/set/sequence$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/distinct$(OBJSUFFIX) gecode/set/distinct$(SBJSUFFIX): \ +gecode/set/rel-op/post-compl-vvc$(OBJSUFFIX) gecode/set/rel-op/post-compl-vvc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/distinct.hh ./gecode/set/distinct/atmostOne.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/distinct/atmostOne$(OBJSUFFIX) gecode/set/distinct/atmostOne$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/rel-op/post-nocompl-vvc$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-vvc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/distinct.hh ./gecode/set/distinct/atmostOne.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/precede$(OBJSUFFIX) gecode/set/precede$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/rel-op/post-compl-cvc$(OBJSUFFIX) gecode/set/rel-op/post-compl-cvc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/precede.hh ./gecode/set/precede/single.hpp ./gecode/set/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/sequence/seq$(OBJSUFFIX) gecode/set/sequence/seq$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/rel-op/post-nocompl-cvc$(OBJSUFFIX) gecode/set/rel-op/post-nocompl-cvc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op/common.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ - ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ - ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ - ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/sequence.hh \ - ./gecode/set/sequence/common.hpp ./gecode/set/sequence/seq-u.hpp ./gecode/set/sequence/seq.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5847,58 +6989,71 @@ gecode/set/sequence/seq$(OBJSUFFIX) gecode/set/sequence/seq$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/sequence/seq-u$(OBJSUFFIX) gecode/set/sequence/seq-u$(SBJSUFFIX): \ +gecode/set/rel-op-const-vvc$(OBJSUFFIX) gecode/set/rel-op-const-vvc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/rel-op/common.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ - ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ - ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ - ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/sequence.hh \ - ./gecode/set/sequence/common.hpp ./gecode/set/sequence/seq-u.hpp ./gecode/set/sequence/seq.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5908,53 +7063,71 @@ gecode/set/sequence/seq-u$(OBJSUFFIX) gecode/set/sequence/seq-u$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/array$(OBJSUFFIX) gecode/set/array$(SBJSUFFIX): \ +gecode/set/rel-op-const-vcv$(OBJSUFFIX) gecode/set/rel-op-const-vcv$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -5964,53 +7137,71 @@ gecode/set/array$(OBJSUFFIX) gecode/set/array$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/var-imp/set$(OBJSUFFIX) gecode/set/var-imp/set$(SBJSUFFIX): \ +gecode/set/rel-op-const-vcc$(OBJSUFFIX) gecode/set/rel-op-const-vcc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -6020,53 +7211,71 @@ gecode/set/var-imp/set$(OBJSUFFIX) gecode/set/var-imp/set$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/var-imp/integerset$(OBJSUFFIX) gecode/set/var-imp/integerset$(SBJSUFFIX): \ +gecode/set/rel-op-const-cvc$(OBJSUFFIX) gecode/set/rel-op-const-cvc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -6076,53 +7285,71 @@ gecode/set/var-imp/integerset$(OBJSUFFIX) gecode/set/var-imp/integerset$(SBJSUFF ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/var/set$(OBJSUFFIX) gecode/set/var/set$(SBJSUFFIX): \ +gecode/set/rel-op-const-cvv$(OBJSUFFIX) gecode/set/rel-op-const-cvv$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op.hh ./gecode/set/rel-op/common.hpp \ + ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp ./gecode/set/rel-op/post.hpp \ + ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp ./gecode/set/rel-op/union.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -6132,70 +7359,165 @@ gecode/set/var/set$(OBJSUFFIX) gecode/set/var/set$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/exec$(OBJSUFFIX) gecode/set/exec$(SBJSUFFIX): \ +gecode/set/int$(OBJSUFFIX) gecode/set/int$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/kernel/wait.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/int.hh ./gecode/set/int/card.hpp ./gecode/set/int/minmax.hpp \ + ./gecode/set/int/weights.hpp ./gecode/set/limits.hpp ./gecode/set/rel.hh \ + ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ + ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ + ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/branch/activity$(OBJSUFFIX) gecode/set/branch/activity$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/channel$(OBJSUFFIX) gecode/set/channel$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/channel.hh \ + ./gecode/set/channel/bool.hpp ./gecode/set/channel/int.hpp ./gecode/set/channel/set.hpp \ + ./gecode/set/channel/sorted.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/rel.hh ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp \ + ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp \ + ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp \ + ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/element$(OBJSUFFIX) gecode/set/element$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/element.hh \ + ./gecode/int/element/int.hpp ./gecode/int/element/pair.hpp ./gecode/int/element/view.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/idx-view.hh ./gecode/int/idx-view.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/rel.hh \ + ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp \ + ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -6221,20 +7543,110 @@ gecode/set/branch/activity$(OBJSUFFIX) gecode/set/branch/activity$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/element.hh ./gecode/set/element/disjoint.hpp \ + ./gecode/set/element/inter.hpp ./gecode/set/element/union.hpp ./gecode/set/element/unionConst.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/rel-op.hh \ + ./gecode/set/rel-op/common.hpp ./gecode/set/rel-op/inter.hpp ./gecode/set/rel-op/partition.hpp \ + ./gecode/set/rel-op/post.hpp ./gecode/set/rel-op/subofunion.hpp ./gecode/set/rel-op/superofinter.hpp \ + ./gecode/set/rel-op/union.hpp ./gecode/set/rel.hh ./gecode/set/rel/common.hpp \ + ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp ./gecode/set/rel/nosubset.hpp \ + ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp ./gecode/set/rel/re-lq.hpp \ + ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/sequence$(OBJSUFFIX) gecode/set/sequence$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op/common.hpp ./gecode/set/rel.hh \ + ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ + ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ + ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/set/sequence.hh ./gecode/set/sequence/common.hpp ./gecode/set/sequence/seq-u.hpp \ + ./gecode/set/sequence/seq.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -6244,55 +7656,66 @@ gecode/set/branch/activity$(OBJSUFFIX) gecode/set/branch/activity$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/set/branch/view-sel$(OBJSUFFIX) gecode/set/branch/view-sel$(SBJSUFFIX): \ +gecode/set/distinct$(OBJSUFFIX) gecode/set/distinct$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch.hh ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/merit.hpp \ - ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val-commit.hpp \ - ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/distinct.hh \ + ./gecode/set/distinct/atmostOne.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -6301,55 +7724,66 @@ gecode/set/branch/view-sel$(OBJSUFFIX) gecode/set/branch/view-sel$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/branch/val-sel-commit$(OBJSUFFIX) gecode/set/branch/val-sel-commit$(SBJSUFFIX): \ +gecode/set/distinct/atmostOne$(OBJSUFFIX) gecode/set/distinct/atmostOne$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch.hh ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/merit.hpp \ - ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val-commit.hpp \ - ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/distinct.hh \ + ./gecode/set/distinct/atmostOne.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -6358,55 +7792,66 @@ gecode/set/branch/val-sel-commit$(OBJSUFFIX) gecode/set/branch/val-sel-commit$(S ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/branch/ngl$(OBJSUFFIX) gecode/set/branch/ngl$(SBJSUFFIX): \ +gecode/set/precede$(OBJSUFFIX) gecode/set/precede$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch.hh ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/merit.hpp \ - ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val-commit.hpp \ - ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/precede.hh ./gecode/set/precede/single.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -6415,189 +7860,143 @@ gecode/set/branch/ngl$(OBJSUFFIX) gecode/set/branch/ngl$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/ldsb$(OBJSUFFIX) gecode/set/ldsb$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/ldsb.hh ./gecode/int/ldsb/brancher.hpp \ - ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch.hh ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/merit.hpp \ - ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val-commit.hpp \ - ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/ldsb.hh ./gecode/set/ldsb/brancher.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/set/ldsb/sym-imp$(OBJSUFFIX) gecode/set/ldsb/sym-imp$(SBJSUFFIX): \ +gecode/set/sequence/seq$(OBJSUFFIX) gecode/set/sequence/seq$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/ldsb.hh ./gecode/int/ldsb/brancher.hpp \ - ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/ldsb.hh \ - ./gecode/set/ldsb/brancher.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op/common.hpp ./gecode/set/rel.hh \ + ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ + ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ + ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/set/sequence.hh ./gecode/set/sequence/common.hpp ./gecode/set/sequence/seq-u.hpp \ + ./gecode/set/sequence/seq.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/int-expr$(OBJSUFFIX) gecode/minimodel/int-expr$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/sequence/seq-u$(OBJSUFFIX) gecode/set/sequence/seq-u$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/bool.hh ./gecode/int/bool/base.hpp ./gecode/int/bool/clause.hpp \ - ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp ./gecode/int/bool/ite.hpp \ - ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp \ - ./gecode/int/linear/bool-scale.hpp ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp \ - ./gecode/int/linear/int-dom.hpp ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp \ - ./gecode/int/linear/int-ter.hpp ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp \ - ./gecode/int/rel/lex.hpp ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/rel-op/common.hpp ./gecode/set/rel.hh \ + ./gecode/set/rel/common.hpp ./gecode/set/rel/eq.hpp ./gecode/set/rel/lq.hpp \ + ./gecode/set/rel/nosubset.hpp ./gecode/set/rel/nq.hpp ./gecode/set/rel/re-eq.hpp \ + ./gecode/set/rel/re-lq.hpp ./gecode/set/rel/re-subset.hpp ./gecode/set/rel/subset.hpp \ + ./gecode/set/sequence.hh ./gecode/set/sequence/common.hpp ./gecode/set/sequence/seq-u.hpp \ + ./gecode/set/sequence/seq.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -6607,270 +8006,338 @@ gecode/minimodel/int-expr$(OBJSUFFIX) gecode/minimodel/int-expr$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/minimodel/int-rel$(OBJSUFFIX) gecode/minimodel/int-rel$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ +gecode/set/array$(OBJSUFFIX) gecode/set/array$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/int-arith$(OBJSUFFIX) gecode/minimodel/int-arith$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/var-imp/set$(OBJSUFFIX) gecode/set/var-imp/set$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/var-imp/integerset$(OBJSUFFIX) gecode/set/var-imp/integerset$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/bool-expr$(OBJSUFFIX) gecode/minimodel/bool-expr$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/var/set$(OBJSUFFIX) gecode/set/var/set$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/set-expr$(OBJSUFFIX) gecode/minimodel/set-expr$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/exec$(OBJSUFFIX) gecode/set/exec$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/kernel/wait.hh \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -6879,134 +8346,65 @@ gecode/minimodel/set-expr$(OBJSUFFIX) gecode/minimodel/set-expr$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/set-rel$(OBJSUFFIX) gecode/minimodel/set-rel$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ +gecode/set/branch/activity$(OBJSUFFIX) gecode/set/branch/activity$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/float-expr$(OBJSUFFIX) gecode/minimodel/float-expr$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/linear.hh \ - ./gecode/float/linear/nary.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -7016,270 +8414,276 @@ gecode/minimodel/float-expr$(OBJSUFFIX) gecode/minimodel/float-expr$(SBJSUFFIX): ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/minimodel/float-rel$(OBJSUFFIX) gecode/minimodel/float-rel$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ +gecode/set/branch/view-sel$(OBJSUFFIX) gecode/set/branch/view-sel$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch.hh \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/float-arith$(OBJSUFFIX) gecode/minimodel/float-arith$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/branch/val-sel-commit$(OBJSUFFIX) gecode/set/branch/val-sel-commit$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch.hh \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/reg$(OBJSUFFIX) gecode/minimodel/reg$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/branch/ngl$(OBJSUFFIX) gecode/set/branch/ngl$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch.hh \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/minimodel/optimize$(OBJSUFFIX) gecode/minimodel/optimize$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/ldsb$(OBJSUFFIX) gecode/set/ldsb$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/ldsb.hh \ + ./gecode/int/ldsb/brancher.hpp ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch.hh \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/ldsb.hh \ + ./gecode/set/ldsb/brancher.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -7288,72 +8692,135 @@ gecode/minimodel/optimize$(OBJSUFFIX) gecode/minimodel/optimize$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/driver/options$(OBJSUFFIX) gecode/driver/options$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ +gecode/set/ldsb/sym-imp$(OBJSUFFIX) gecode/set/ldsb/sym-imp$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/ldsb.hh \ + ./gecode/int/ldsb/brancher.hpp ./gecode/int/ldsb/sym-imp.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/ldsb.hh ./gecode/set/ldsb/brancher.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/set/relax$(OBJSUFFIX) gecode/set/relax$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/relax.hh ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -7362,174 +8829,319 @@ gecode/driver/options$(OBJSUFFIX) gecode/driver/options$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/driver/script$(OBJSUFFIX) gecode/driver/script$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ +gecode/set/trace$(OBJSUFFIX) gecode/set/trace$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/trace/tracer$(OBJSUFFIX) gecode/set/trace/tracer$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/alpha$(OBJSUFFIX) examples/alpha$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/set/exception$(OBJSUFFIX) gecode/set/exception$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/int-expr$(OBJSUFFIX) gecode/minimodel/int-expr$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/bool.hh ./gecode/int/bool/base.hpp \ + ./gecode/int/bool/clause.hpp ./gecode/int/bool/eq.hpp ./gecode/int/bool/eqv.hpp \ + ./gecode/int/bool/ite.hpp ./gecode/int/bool/lq.hpp ./gecode/int/bool/or.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/linear.hh ./gecode/int/linear/bool-int.hpp ./gecode/int/linear/bool-scale.hpp \ + ./gecode/int/linear/bool-view.hpp ./gecode/int/linear/int-bin.hpp ./gecode/int/linear/int-dom.hpp \ + ./gecode/int/linear/int-nary.hpp ./gecode/int/linear/int-noview.hpp ./gecode/int/linear/int-ter.hpp \ + ./gecode/int/linear/post.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/rel.hh ./gecode/int/rel/eq.hpp ./gecode/int/rel/lex.hpp \ + ./gecode/int/rel/lq-le.hpp ./gecode/int/rel/nq.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/bacp$(OBJSUFFIX) examples/bacp$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/minimodel/int-rel$(OBJSUFFIX) gecode/minimodel/int-rel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch.hh \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -7556,54 +9168,62 @@ examples/bacp$(OBJSUFFIX) examples/bacp$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/bibd$(OBJSUFFIX) examples/bibd$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/int-arith$(OBJSUFFIX) gecode/minimodel/int-arith$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -7630,54 +9250,62 @@ examples/bibd$(OBJSUFFIX) examples/bibd$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/donald$(OBJSUFFIX) examples/donald$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/bool-expr$(OBJSUFFIX) gecode/minimodel/bool-expr$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -7704,54 +9332,62 @@ examples/donald$(OBJSUFFIX) examples/donald$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/efpa$(OBJSUFFIX) examples/efpa$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/set-expr$(OBJSUFFIX) gecode/minimodel/set-expr$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -7778,54 +9414,62 @@ examples/efpa$(OBJSUFFIX) examples/efpa$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/eq20$(OBJSUFFIX) examples/eq20$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/set-rel$(OBJSUFFIX) gecode/minimodel/set-rel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -7852,128 +9496,144 @@ examples/eq20$(OBJSUFFIX) examples/eq20$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/golomb-ruler$(OBJSUFFIX) examples/golomb-ruler$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/float-expr$(OBJSUFFIX) gecode/minimodel/float-expr$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/linear.hh \ + ./gecode/float/linear/nary.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/graph-color$(OBJSUFFIX) examples/graph-color$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/minimodel/float-rel$(OBJSUFFIX) gecode/minimodel/float-rel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -8000,54 +9660,62 @@ examples/graph-color$(OBJSUFFIX) examples/graph-color$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/grocery$(OBJSUFFIX) examples/grocery$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/float-arith$(OBJSUFFIX) gecode/minimodel/float-arith$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -8074,54 +9742,62 @@ examples/grocery$(OBJSUFFIX) examples/grocery$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/ind-set$(OBJSUFFIX) examples/ind-set$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/reg$(OBJSUFFIX) gecode/minimodel/reg$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -8148,54 +9824,62 @@ examples/ind-set$(OBJSUFFIX) examples/ind-set$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/magic-sequence$(OBJSUFFIX) examples/magic-sequence$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/optimize$(OBJSUFFIX) gecode/minimodel/optimize$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -8222,54 +9906,62 @@ examples/magic-sequence$(OBJSUFFIX) examples/magic-sequence$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/magic-square$(OBJSUFFIX) examples/magic-square$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/minimodel/exception$(OBJSUFFIX) gecode/minimodel/exception$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -8296,1449 +9988,2210 @@ examples/magic-square$(OBJSUFFIX) examples/magic-square$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/driver/options$(OBJSUFFIX) gecode/driver/options$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/driver/script$(OBJSUFFIX) gecode/driver/script$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/alpha$(OBJSUFFIX) examples/alpha$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/bacp$(OBJSUFFIX) examples/bacp$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/money$(OBJSUFFIX) examples/money$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/bibd$(OBJSUFFIX) examples/bibd$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/ortho-latin$(OBJSUFFIX) examples/ortho-latin$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/donald$(OBJSUFFIX) examples/donald$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/efpa$(OBJSUFFIX) examples/efpa$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/partition$(OBJSUFFIX) examples/partition$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/eq20$(OBJSUFFIX) examples/eq20$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/photo$(OBJSUFFIX) examples/photo$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/golomb-ruler$(OBJSUFFIX) examples/golomb-ruler$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/queens$(OBJSUFFIX) examples/queens$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/graph-color$(OBJSUFFIX) examples/graph-color$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/sudoku$(OBJSUFFIX) examples/sudoku$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/grocery$(OBJSUFFIX) examples/grocery$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/kakuro$(OBJSUFFIX) examples/kakuro$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/ind-set$(OBJSUFFIX) examples/ind-set$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/nonogram$(OBJSUFFIX) examples/nonogram$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/magic-sequence$(OBJSUFFIX) examples/magic-sequence$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/pentominoes$(OBJSUFFIX) examples/pentominoes$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/magic-square$(OBJSUFFIX) examples/magic-square$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/money$(OBJSUFFIX) examples/money$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/crowded-chess$(OBJSUFFIX) examples/crowded-chess$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/ortho-latin$(OBJSUFFIX) examples/ortho-latin$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/black-hole$(OBJSUFFIX) examples/black-hole$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/partition$(OBJSUFFIX) examples/partition$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/minesweeper$(OBJSUFFIX) examples/minesweeper$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/photo$(OBJSUFFIX) examples/photo$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/domino$(OBJSUFFIX) examples/domino$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/queens$(OBJSUFFIX) examples/queens$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/sudoku$(OBJSUFFIX) examples/sudoku$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/steel-mill$(OBJSUFFIX) examples/steel-mill$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/kakuro$(OBJSUFFIX) examples/kakuro$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/sports-league$(OBJSUFFIX) examples/sports-league$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/nonogram$(OBJSUFFIX) examples/nonogram$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/all-interval$(OBJSUFFIX) examples/all-interval$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/pentominoes$(OBJSUFFIX) examples/pentominoes$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/langford-number$(OBJSUFFIX) examples/langford-number$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/crowded-chess$(OBJSUFFIX) examples/crowded-chess$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/warehouses$(OBJSUFFIX) examples/warehouses$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/black-hole$(OBJSUFFIX) examples/black-hole$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/radiotherapy$(OBJSUFFIX) examples/radiotherapy$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/minesweeper$(OBJSUFFIX) examples/minesweeper$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/word-square$(OBJSUFFIX) examples/word-square$(SBJSUFFIX): \ - ./examples/scowl.hpp ./gecode/driver.hh ./gecode/driver/options.hpp \ - ./gecode/driver/script.hpp ./gecode/float.hh ./gecode/float/array-traits.hpp \ - ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ - ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp \ - ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ - ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/domino$(OBJSUFFIX) examples/domino$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ @@ -9749,55 +12202,63 @@ examples/word-square$(OBJSUFFIX) examples/word-square$(SBJSUFFIX): \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -9806,13 +12267,14 @@ examples/word-square$(OBJSUFFIX) examples/word-square$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/crossword$(OBJSUFFIX) examples/crossword$(SBJSUFFIX): \ - ./examples/scowl.hpp ./gecode/driver.hh ./gecode/driver/options.hpp \ - ./gecode/driver/script.hpp ./gecode/float.hh ./gecode/float/array-traits.hpp \ - ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ - ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp \ - ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ - ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ +examples/steel-mill$(OBJSUFFIX) examples/steel-mill$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ @@ -9823,55 +12285,63 @@ examples/crossword$(OBJSUFFIX) examples/crossword$(SBJSUFFIX): \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -9880,468 +12350,443 @@ examples/crossword$(OBJSUFFIX) examples/crossword$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/open-shop$(OBJSUFFIX) examples/open-shop$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/car-sequencing$(OBJSUFFIX) examples/car-sequencing$(SBJSUFFIX): \ +examples/sports-league$(OBJSUFFIX) examples/sports-league$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/sat$(OBJSUFFIX) examples/sat$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/all-interval$(OBJSUFFIX) examples/all-interval$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/bin-packing$(OBJSUFFIX) examples/bin-packing$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/langford-number$(OBJSUFFIX) examples/langford-number$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/knights$(OBJSUFFIX) examples/knights$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/warehouses$(OBJSUFFIX) examples/warehouses$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/tsp$(OBJSUFFIX) examples/tsp$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/radiotherapy$(OBJSUFFIX) examples/radiotherapy$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/perfect-square$(OBJSUFFIX) examples/perfect-square$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/word-square$(OBJSUFFIX) examples/word-square$(SBJSUFFIX): \ + ./examples/scowl.hpp ./gecode/driver.hh ./gecode/driver/options.hpp \ + ./gecode/driver/script.hpp ./gecode/float.hh ./gecode/float/array-traits.hpp \ + ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ + ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp \ + ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ + ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ + ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -10368,54 +12813,64 @@ examples/perfect-square$(OBJSUFFIX) examples/perfect-square$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/schurs-lemma$(OBJSUFFIX) examples/schurs-lemma$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +examples/crossword$(OBJSUFFIX) examples/crossword$(SBJSUFFIX): \ + ./examples/scowl.hpp ./gecode/driver.hh ./gecode/driver/options.hpp \ + ./gecode/driver/script.hpp ./gecode/float.hh ./gecode/float/array-traits.hpp \ + ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ + ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp \ + ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ + ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ + ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ + ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ + ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ + ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -10442,1015 +12897,1528 @@ examples/schurs-lemma$(OBJSUFFIX) examples/schurs-lemma$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +examples/open-shop$(OBJSUFFIX) examples/open-shop$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/dominating-queens$(OBJSUFFIX) examples/dominating-queens$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/car-sequencing$(OBJSUFFIX) examples/car-sequencing$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/sat$(OBJSUFFIX) examples/sat$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/bin-packing$(OBJSUFFIX) examples/bin-packing$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/colored-matrix$(OBJSUFFIX) examples/colored-matrix$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/knights$(OBJSUFFIX) examples/knights$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/multi-bin-packing$(OBJSUFFIX) examples/multi-bin-packing$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/tsp$(OBJSUFFIX) examples/tsp$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/perfect-square$(OBJSUFFIX) examples/perfect-square$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/qcp$(OBJSUFFIX) examples/qcp$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/schurs-lemma$(OBJSUFFIX) examples/schurs-lemma$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/crew$(OBJSUFFIX) examples/crew$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/dominating-queens$(OBJSUFFIX) examples/dominating-queens$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/golf$(OBJSUFFIX) examples/golf$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/colored-matrix$(OBJSUFFIX) examples/colored-matrix$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/hamming$(OBJSUFFIX) examples/hamming$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/multi-bin-packing$(OBJSUFFIX) examples/multi-bin-packing$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/qcp$(OBJSUFFIX) examples/qcp$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/steiner$(OBJSUFFIX) examples/steiner$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/crew$(OBJSUFFIX) examples/crew$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/queen-armies$(OBJSUFFIX) examples/queen-armies$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/golf$(OBJSUFFIX) examples/golf$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/cartesian-heart$(OBJSUFFIX) examples/cartesian-heart$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/hamming$(OBJSUFFIX) examples/hamming$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/descartes-folium$(OBJSUFFIX) examples/descartes-folium$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/steiner$(OBJSUFFIX) examples/steiner$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/archimedean-spiral$(OBJSUFFIX) examples/archimedean-spiral$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/queen-armies$(OBJSUFFIX) examples/queen-armies$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -examples/golden-spiral$(OBJSUFFIX) examples/golden-spiral$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/cartesian-heart$(OBJSUFFIX) examples/cartesian-heart$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/drawingcursor$(OBJSUFFIX) gecode/gist/drawingcursor$(SBJSUFFIX): \ - ./gecode/gist/drawingcursor.hh ./gecode/gist/drawingcursor.hpp ./gecode/gist/layoutcursor.hh \ - ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh ./gecode/gist/node.hpp \ - ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp ./gecode/gist/spacenode.hh \ - ./gecode/gist/spacenode.hpp ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -11459,97 +14427,81 @@ gecode/gist/drawingcursor$(OBJSUFFIX) gecode/gist/drawingcursor$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/gist$(OBJSUFFIX) gecode/gist/gist$(SBJSUFFIX): \ +examples/descartes-folium$(OBJSUFFIX) examples/descartes-folium$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/gist/mainwindow.hh \ - ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/nodestats.hh \ - ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ - ./gecode/gist/stopbrancher.hh ./gecode/gist/textoutput.hh ./gecode/gist/treecanvas.hh \ - ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/gist/gecodelogo$(OBJSUFFIX) gecode/gist/gecodelogo$(SBJSUFFIX): \ - ./gecode/gist/gecodelogo.hh -gecode/gist/node$(OBJSUFFIX) gecode/gist/node$(SBJSUFFIX): \ - ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/spacenode.hh \ - ./gecode/gist/spacenode.hpp ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -11558,146 +14510,191 @@ gecode/gist/node$(OBJSUFFIX) gecode/gist/node$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/spacenode$(OBJSUFFIX) gecode/gist/spacenode$(SBJSUFFIX): \ +examples/archimedean-spiral$(OBJSUFFIX) examples/archimedean-spiral$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/gist/node.hh \ - ./gecode/gist/node.hpp ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ - ./gecode/gist/stopbrancher.hh ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/textoutput$(OBJSUFFIX) gecode/gist/textoutput$(SBJSUFFIX): \ - ./gecode/gist/gecodelogo.hh ./gecode/gist/textoutput.hh -gecode/gist/treecanvas$(OBJSUFFIX) gecode/gist/treecanvas$(SBJSUFFIX): \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +examples/golden-spiral$(OBJSUFFIX) examples/golden-spiral$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/drawingcursor.hh ./gecode/gist/drawingcursor.hpp \ - ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh ./gecode/gist/layoutcursor.hpp \ - ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh \ - ./gecode/gist/nodecursor.hpp ./gecode/gist/nodevisitor.hh ./gecode/gist/nodevisitor.hpp \ - ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp ./gecode/gist/treecanvas.hh \ - ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ - ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ - ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ - ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ - ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ - ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ - ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ - ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ - ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ - ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ - ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ - ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ - ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ - ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ - ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ - ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ - ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ - ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ - ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ - ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ - ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ - ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ - ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ - ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ - ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ - ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ - ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ - ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ - ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ - ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ + ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ + ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/gist/drawingcursor$(OBJSUFFIX) gecode/gist/drawingcursor$(SBJSUFFIX): \ + ./gecode/gist/drawingcursor.hh ./gecode/gist/drawingcursor.hpp ./gecode/gist/layoutcursor.hh \ + ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh ./gecode/gist/node.hpp \ + ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -11707,28 +14704,31 @@ gecode/gist/treecanvas$(OBJSUFFIX) gecode/gist/treecanvas$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/gist/qtgist$(OBJSUFFIX) gecode/gist/qtgist$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/gist/node.hh \ - ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp \ - ./gecode/gist/nodestats.hh ./gecode/gist/nodevisitor.hh ./gecode/gist/nodevisitor.hpp \ - ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ +gecode/gist/gist$(OBJSUFFIX) gecode/gist/gist$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/gist/mainwindow.hh ./gecode/gist/node.hh ./gecode/gist/node.hpp \ + ./gecode/gist/nodestats.hh ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/stopbrancher.hh ./gecode/gist/textoutput.hh \ ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ - ./gecode/gist/zoomToFitIcon.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -11755,36 +14755,42 @@ gecode/gist/qtgist$(OBJSUFFIX) gecode/gist/qtgist$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/visualnode$(OBJSUFFIX) gecode/gist/visualnode$(SBJSUFFIX): \ - ./gecode/gist/layoutcursor.hh ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh \ - ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp \ - ./gecode/gist/nodevisitor.hh ./gecode/gist/nodevisitor.hpp ./gecode/gist/spacenode.hh \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/gist/gecodelogo$(OBJSUFFIX) gecode/gist/gecodelogo$(SBJSUFFIX): \ + ./gecode/gist/gecodelogo.hh +gecode/gist/node$(OBJSUFFIX) gecode/gist/node$(SBJSUFFIX): \ + ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/spacenode.hh \ ./gecode/gist/spacenode.hpp ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ @@ -11792,43 +14798,46 @@ gecode/gist/visualnode$(OBJSUFFIX) gecode/gist/visualnode$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/nodestats$(OBJSUFFIX) gecode/gist/nodestats$(SBJSUFFIX): \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/gist/spacenode$(OBJSUFFIX) gecode/gist/spacenode$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/drawingcursor.hh ./gecode/gist/drawingcursor.hpp \ - ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh ./gecode/gist/layoutcursor.hpp \ - ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh \ - ./gecode/gist/nodecursor.hpp ./gecode/gist/nodestats.hh ./gecode/gist/nodevisitor.hh \ - ./gecode/gist/nodevisitor.hpp ./gecode/gist/nodewidget.hh ./gecode/gist/qtgist.hh \ - ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp ./gecode/gist/treecanvas.hh \ - ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/stopbrancher.hh ./gecode/gist/visualnode.hh \ + ./gecode/gist/visualnode.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -11855,100 +14864,30 @@ gecode/gist/nodestats$(OBJSUFFIX) gecode/gist/nodestats$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/gist/nodewidget$(OBJSUFFIX) gecode/gist/nodewidget$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/drawingcursor.hh ./gecode/gist/drawingcursor.hpp \ - ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh ./gecode/gist/layoutcursor.hpp \ - ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh \ - ./gecode/gist/nodecursor.hpp ./gecode/gist/nodestats.hh ./gecode/gist/nodewidget.hh \ - ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ - ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -11957,100 +14896,118 @@ gecode/gist/nodewidget$(OBJSUFFIX) gecode/gist/nodewidget$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/mainwindow$(OBJSUFFIX) gecode/gist/mainwindow$(SBJSUFFIX): \ +gecode/gist/textoutput$(OBJSUFFIX) gecode/gist/textoutput$(SBJSUFFIX): \ + ./gecode/gist/gecodelogo.hh ./gecode/gist/textoutput.hh +gecode/gist/treecanvas$(OBJSUFFIX) gecode/gist/treecanvas$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/drawingcursor.hh ./gecode/gist/drawingcursor.hpp \ - ./gecode/gist/gecodelogo.hh ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh \ - ./gecode/gist/layoutcursor.hpp ./gecode/gist/mainwindow.hh ./gecode/gist/node.hh \ - ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp \ - ./gecode/gist/nodestats.hh ./gecode/gist/nodewidget.hh ./gecode/gist/preferences.hh \ - ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/drawingcursor.hh \ + ./gecode/gist/drawingcursor.hpp ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh \ + ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh ./gecode/gist/node.hpp \ + ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp ./gecode/gist/nodevisitor.hh \ + ./gecode/gist/nodevisitor.hpp ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/preferences$(OBJSUFFIX) gecode/gist/preferences$(SBJSUFFIX): \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/gist/qtgist$(OBJSUFFIX) gecode/gist/qtgist$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/gist/preferences.hh \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh \ + ./gecode/gist/nodecursor.hpp ./gecode/gist/nodestats.hh ./gecode/gist/nodevisitor.hh \ + ./gecode/gist/nodevisitor.hpp ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh \ + ./gecode/gist/visualnode.hpp ./gecode/gist/zoomToFitIcon.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -12076,25 +15033,227 @@ gecode/gist/preferences$(OBJSUFFIX) gecode/gist/preferences$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ + ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/gist/visualnode$(OBJSUFFIX) gecode/gist/visualnode$(SBJSUFFIX): \ + ./gecode/gist/layoutcursor.hh ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh \ + ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp \ + ./gecode/gist/nodevisitor.hh ./gecode/gist/nodevisitor.hpp ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/gist/nodestats$(OBJSUFFIX) gecode/gist/nodestats$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/drawingcursor.hh \ + ./gecode/gist/drawingcursor.hpp ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh \ + ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh ./gecode/gist/node.hpp \ + ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp ./gecode/gist/nodestats.hh \ + ./gecode/gist/nodevisitor.hh ./gecode/gist/nodevisitor.hpp ./gecode/gist/nodewidget.hh \ + ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh ./gecode/gist/spacenode.hpp \ + ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh ./gecode/gist/visualnode.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp +gecode/gist/nodewidget$(OBJSUFFIX) gecode/gist/nodewidget$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/drawingcursor.hh \ + ./gecode/gist/drawingcursor.hpp ./gecode/gist/gist.hpp ./gecode/gist/layoutcursor.hh \ + ./gecode/gist/layoutcursor.hpp ./gecode/gist/node.hh ./gecode/gist/node.hpp \ + ./gecode/gist/nodecursor.hh ./gecode/gist/nodecursor.hpp ./gecode/gist/nodestats.hh \ + ./gecode/gist/nodewidget.hh ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh \ + ./gecode/gist/visualnode.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -12103,68 +15262,83 @@ gecode/gist/preferences$(OBJSUFFIX) gecode/gist/preferences$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/gist/stopbrancher$(OBJSUFFIX) gecode/gist/stopbrancher$(SBJSUFFIX): \ +gecode/gist/mainwindow$(OBJSUFFIX) gecode/gist/mainwindow$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/gist/stopbrancher.hh \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/drawingcursor.hh \ + ./gecode/gist/drawingcursor.hpp ./gecode/gist/gecodelogo.hh ./gecode/gist/gist.hpp \ + ./gecode/gist/layoutcursor.hh ./gecode/gist/layoutcursor.hpp ./gecode/gist/mainwindow.hh \ + ./gecode/gist/node.hh ./gecode/gist/node.hpp ./gecode/gist/nodecursor.hh \ + ./gecode/gist/nodecursor.hpp ./gecode/gist/nodestats.hh ./gecode/gist/nodewidget.hh \ + ./gecode/gist/preferences.hh ./gecode/gist/qtgist.hh ./gecode/gist/spacenode.hh \ + ./gecode/gist/spacenode.hpp ./gecode/gist/treecanvas.hh ./gecode/gist/visualnode.hh \ + ./gecode/gist/visualnode.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -12173,102 +15347,106 @@ gecode/gist/stopbrancher$(OBJSUFFIX) gecode/gist/stopbrancher$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/flatzinc/flatzinc$(OBJSUFFIX) gecode/flatzinc/flatzinc$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/plugin.hh ./gecode/flatzinc/registry.hh \ - ./gecode/flatzinc/varspec.hh ./gecode/float.hh ./gecode/float/array-traits.hpp \ - ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ - ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp \ - ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ - ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ +gecode/gist/preferences$(OBJSUFFIX) gecode/gist/preferences$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/gist/preferences.hh ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -gecode/flatzinc/registry$(OBJSUFFIX) gecode/flatzinc/registry$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/registry.hh ./gecode/flatzinc/varspec.hh \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/gist/stopbrancher$(OBJSUFFIX) gecode/gist/stopbrancher$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ - ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ - ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ - ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ - ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/gist/stopbrancher.hh ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ @@ -12295,28 +15473,30 @@ gecode/flatzinc/registry$(OBJSUFFIX) gecode/flatzinc/registry$(SBJSUFFIX): \ ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ - ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ - ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ - ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ - ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ - ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ - ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp \ - ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -12325,15 +15505,17 @@ gecode/flatzinc/registry$(OBJSUFFIX) gecode/flatzinc/registry$(SBJSUFFIX): \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp -tools/flatzinc/fzn-gecode$(OBJSUFFIX) tools/flatzinc/fzn-gecode$(SBJSUFFIX): \ +gecode/flatzinc/flatzinc$(OBJSUFFIX) gecode/flatzinc/flatzinc$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ - ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ - ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ - ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/plugin.hh ./gecode/flatzinc/registry.hh \ + ./gecode/flatzinc/varspec.hh ./gecode/float.hh ./gecode/float/array-traits.hpp \ + ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp \ + ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp \ + ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp ./gecode/float/limits.hpp \ + ./gecode/float/nextafter.hpp ./gecode/float/num.hpp ./gecode/float/rounding.hpp \ + ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp \ + ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ @@ -12343,55 +15525,63 @@ tools/flatzinc/fzn-gecode$(OBJSUFFIX) tools/flatzinc/fzn-gecode$(SBJSUFFIX): \ ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -12401,27 +15591,30 @@ tools/flatzinc/fzn-gecode$(OBJSUFFIX) tools/flatzinc/fzn-gecode$(SBJSUFFIX): \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp -gecode/flatzinc/parser.tab$(OBJSUFFIX) gecode/flatzinc/parser.tab$(SBJSUFFIX): \ +gecode/flatzinc/registry$(OBJSUFFIX) gecode/flatzinc/registry$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/parser.hh ./gecode/flatzinc/parser.tab.hh \ - ./gecode/flatzinc/symboltable.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ - ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ - ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ - ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/registry.hh ./gecode/flatzinc/varspec.hh \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/gist.hh ./gecode/gist/gist.hpp \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ @@ -12448,262 +15641,65 @@ gecode/flatzinc/parser.tab$(OBJSUFFIX) gecode/flatzinc/parser.tab$(SBJSUFFIX): \ ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ + ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp \ + ./gecode/minimodel/set-rel.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/set.hh ./gecode/set/array-traits.hpp \ ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -gecode/flatzinc/lexer.yy$(OBJSUFFIX) gecode/flatzinc/lexer.yy$(SBJSUFFIX): \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ + ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ + ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ + ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ + ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ + ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ + ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ + ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ + ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +tools/flatzinc/fzn-gecode$(OBJSUFFIX) tools/flatzinc/fzn-gecode$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/parser.hh ./gecode/flatzinc/parser.tab.hh \ - ./gecode/flatzinc/symboltable.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ - ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp -test/test$(OBJSUFFIX) test/test$(SBJSUFFIX): \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp -test/afc$(OBJSUFFIX) test/afc$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp -test/brancher-handle$(OBJSUFFIX) test/brancher-handle$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp -test/ldsb$(OBJSUFFIX) test/ldsb$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp ./gecode/int/branch/ngl.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp ./gecode/int/branch/val-sel.hpp \ - ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/branch/view-values.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ + ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -12729,30 +15725,34 @@ test/ldsb$(OBJSUFFIX) test/ldsb$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch.hh ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -12760,78 +15760,32 @@ test/ldsb$(OBJSUFFIX) test/ldsb$(SBJSUFFIX): \ ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/test.hh \ - ./test/test.hpp -test/int$(OBJSUFFIX) test/int$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ - ./test/test.hh ./test/test.hpp -test/int/channel$(OBJSUFFIX) test/int/channel$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/flatzinc/parser.tab$(OBJSUFFIX) gecode/flatzinc/parser.tab$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/parser.hh ./gecode/flatzinc/parser.tab.hh \ + ./gecode/flatzinc/symboltable.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ + ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ + ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ + ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -12857,55 +15811,67 @@ test/int/channel$(OBJSUFFIX) test/int/channel$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/arithmetic$(OBJSUFFIX) test/int/arithmetic$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +gecode/flatzinc/lexer.yy$(OBJSUFFIX) gecode/flatzinc/lexer.yy$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/parser.hh ./gecode/flatzinc/parser.tab.hh \ + ./gecode/flatzinc/symboltable.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ + ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ + ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ + ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -12931,81 +15897,63 @@ test/int/arithmetic$(OBJSUFFIX) test/int/arithmetic$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/basic$(OBJSUFFIX) test/int/basic$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp +test/test$(OBJSUFFIX) test/test$(SBJSUFFIX): \ ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/search/base.hpp ./gecode/search/build.hpp ./gecode/search/cutoff.hpp \ + ./gecode/search/dfs.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ + ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh ./gecode/search/options.hpp \ + ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp \ + ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/search/traits.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -13014,72 +15962,143 @@ test/int/basic$(OBJSUFFIX) test/int/basic$(SBJSUFFIX): \ ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ - ./test/test.hh ./test/test.hpp -test/int/bool$(OBJSUFFIX) test/int/bool$(SBJSUFFIX): \ + ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp +test/afc$(OBJSUFFIX) test/afc$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/test.hh \ + ./test/test.hpp +test/ldsb$(OBJSUFFIX) test/ldsb$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch.hh ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/merit.hpp \ + ./gecode/int/branch/ngl.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val-commit.hpp \ + ./gecode/int/branch/val-sel.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/branch/view-values.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch.hh \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/set/branch/merit.hpp ./gecode/set/branch/ngl.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val-commit.hpp ./gecode/set/branch/val-sel.hpp ./gecode/set/branch/val.hpp \ + ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp \ + ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ + ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ + ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ + ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ + ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -13088,51 +16107,198 @@ test/int/bool$(OBJSUFFIX) test/int/bool$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ + ./test/test.hh ./test/test.hpp +test/region$(OBJSUFFIX) test/region$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/test.hh \ ./test/test.hpp -test/int/count$(OBJSUFFIX) test/int/count$(SBJSUFFIX): \ +test/int$(OBJSUFFIX) test/int$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/channel$(OBJSUFFIX) test/int/channel$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -13143,49 +16309,79 @@ test/int/count$(OBJSUFFIX) test/int/count$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ ./test/test.hh ./test/test.hpp -test/int/dom$(OBJSUFFIX) test/int/dom$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ +test/int/arithmetic$(OBJSUFFIX) test/int/arithmetic$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -13196,398 +16392,588 @@ test/int/dom$(OBJSUFFIX) test/int/dom$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ ./test/test.hh ./test/test.hpp -test/int/distinct$(OBJSUFFIX) test/int/distinct$(SBJSUFFIX): \ +test/int/basic$(OBJSUFFIX) test/int/basic$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ - ./test/test.hh ./test/test.hpp -test/int/element$(OBJSUFFIX) test/int/element$(SBJSUFFIX): \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/bool$(OBJSUFFIX) test/int/bool$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/extensional$(OBJSUFFIX) test/int/extensional$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/count$(OBJSUFFIX) test/int/count$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/dom$(OBJSUFFIX) test/int/dom$(SBJSUFFIX): \ + ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ + ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ + ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ + ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ + ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/distinct$(OBJSUFFIX) test/int/distinct$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/rel$(OBJSUFFIX) test/int/rel$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/element$(OBJSUFFIX) test/int/element$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/linear$(OBJSUFFIX) test/int/linear$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/extensional$(OBJSUFFIX) test/int/extensional$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/gcc$(OBJSUFFIX) test/int/gcc$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/rel$(OBJSUFFIX) test/int/rel$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -13598,49 +16984,79 @@ test/int/gcc$(OBJSUFFIX) test/int/gcc$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ ./test/test.hh ./test/test.hpp -test/int/sorted$(OBJSUFFIX) test/int/sorted$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ +test/int/linear$(OBJSUFFIX) test/int/linear$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -13651,1085 +17067,1418 @@ test/int/sorted$(OBJSUFFIX) test/int/sorted$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ ./test/test.hh ./test/test.hpp -test/int/unshare$(OBJSUFFIX) test/int/unshare$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ +test/int/gcc$(OBJSUFFIX) test/int/gcc$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/exec$(OBJSUFFIX) test/int/exec$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/sorted$(OBJSUFFIX) test/int/sorted$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/unshare$(OBJSUFFIX) test/int/unshare$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/sequence$(OBJSUFFIX) test/int/sequence$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/exec$(OBJSUFFIX) test/int/exec$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/mm-arithmetic$(OBJSUFFIX) test/int/mm-arithmetic$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/sequence$(OBJSUFFIX) test/int/sequence$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/mm-bool$(OBJSUFFIX) test/int/mm-bool$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/mm-arithmetic$(OBJSUFFIX) test/int/mm-arithmetic$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/mm-lin$(OBJSUFFIX) test/int/mm-lin$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/mm-bool$(OBJSUFFIX) test/int/mm-bool$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/mm-count$(OBJSUFFIX) test/int/mm-count$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/mm-lin$(OBJSUFFIX) test/int/mm-lin$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/mm-rel$(OBJSUFFIX) test/int/mm-rel$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/mm-count$(OBJSUFFIX) test/int/mm-count$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/bin-packing$(OBJSUFFIX) test/int/bin-packing$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/mm-rel$(OBJSUFFIX) test/int/mm-rel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/unary$(OBJSUFFIX) test/int/unary$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/bin-packing$(OBJSUFFIX) test/int/bin-packing$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp -test/int/cumulative$(OBJSUFFIX) test/int/cumulative$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/unary$(OBJSUFFIX) test/int/unary$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp +test/int/cumulative$(OBJSUFFIX) test/int/cumulative$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp test/int/cumulatives$(OBJSUFFIX) test/int/cumulatives$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp test/int/circuit$(OBJSUFFIX) test/int/circuit$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp test/int/no-overlap$(OBJSUFFIX) test/int/no-overlap$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp test/int/precede$(OBJSUFFIX) test/int/precede$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ + ./test/int.hpp ./test/test.hh ./test/test.hpp +test/int/nvalues$(OBJSUFFIX) test/int/nvalues$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -14740,1048 +18489,1254 @@ test/int/precede$(OBJSUFFIX) test/int/precede$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ ./test/test.hh ./test/test.hpp -test/int/nvalues$(OBJSUFFIX) test/int/nvalues$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp test/int/member$(OBJSUFFIX) test/int/member$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ - ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/test.hh ./test/test.hpp test/set$(OBJSUFFIX) test/set$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/construct$(OBJSUFFIX) test/set/construct$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/dom$(OBJSUFFIX) test/set/dom$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/rel$(OBJSUFFIX) test/set/rel$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/rel-op$(OBJSUFFIX) test/set/rel-op$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/rel-op-const$(OBJSUFFIX) test/set/rel-op-const$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/convex$(OBJSUFFIX) test/set/convex$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/sequence$(OBJSUFFIX) test/set/sequence$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/int$(OBJSUFFIX) test/set/int$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/set.hh \ - ./test/set.hpp ./test/test.hh ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/element$(OBJSUFFIX) test/set/element$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/set.hh \ - ./test/set.hpp ./test/test.hh ./test/test.hpp + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/precede$(OBJSUFFIX) test/set/precede$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/distinct$(OBJSUFFIX) test/set/distinct$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ - ./test/test.hh ./test/test.hpp + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp test/set/exec$(OBJSUFFIX) test/set/exec$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp +test/set/mm-set$(OBJSUFFIX) test/set/mm-set$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/int.hh \ - ./test/int.hpp ./test/set.hh ./test/set.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ ./test/test.hh ./test/test.hpp -test/set/mm-set$(OBJSUFFIX) test/set/mm-set$(SBJSUFFIX): \ +test/set/channel$(OBJSUFFIX) test/set/channel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/int.hh ./test/int.hpp \ + ./test/set.hh ./test/set.hpp ./test/test.hh \ + ./test/test.hpp +test/float$(OBJSUFFIX) test/float$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -15790,72 +19745,68 @@ test/set/mm-set$(OBJSUFFIX) test/set/mm-set$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/test.hh \ + ./test/float.hh ./test/float.hpp ./test/test.hh \ ./test/test.hpp -test/set/channel$(OBJSUFFIX) test/set/channel$(SBJSUFFIX): \ +test/float/basic$(OBJSUFFIX) test/float/basic$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/support.hh ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp \ ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ @@ -15864,60 +19815,81 @@ test/set/channel$(OBJSUFFIX) test/set/channel$(SBJSUFFIX): \ ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/int.hh ./test/int.hpp ./test/set.hh \ - ./test/set.hpp ./test/test.hh ./test/test.hpp -test/float$(OBJSUFFIX) test/float$(SBJSUFFIX): \ + ./test/float.hh ./test/float.hpp ./test/test.hh \ + ./test/test.hpp +test/float/arithmetic$(OBJSUFFIX) test/float/arithmetic$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -15928,58 +19900,79 @@ test/float$(OBJSUFFIX) test/float$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ ./test/test.hh ./test/test.hpp -test/float/basic$(OBJSUFFIX) test/float/basic$(SBJSUFFIX): \ +test/float/transcendental$(OBJSUFFIX) test/float/transcendental$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ @@ -15990,659 +19983,812 @@ test/float/basic$(OBJSUFFIX) test/float/basic$(SBJSUFFIX): \ ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ ./test/test.hh ./test/test.hpp -test/float/arithmetic$(OBJSUFFIX) test/float/arithmetic$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ - ./test/test.hpp -test/float/transcendental$(OBJSUFFIX) test/float/transcendental$(SBJSUFFIX): \ +test/float/trigonometric$(OBJSUFFIX) test/float/trigonometric$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ - ./test/test.hpp -test/float/trigonometric$(OBJSUFFIX) test/float/trigonometric$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ + ./test/test.hh ./test/test.hpp +test/float/linear$(OBJSUFFIX) test/float/linear$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ - ./test/test.hpp -test/float/linear$(OBJSUFFIX) test/float/linear$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ + ./test/test.hh ./test/test.hpp +test/float/rel$(OBJSUFFIX) test/float/rel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ - ./test/test.hpp -test/float/rel$(OBJSUFFIX) test/float/rel$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ + ./test/test.hh ./test/test.hpp +test/float/channel$(OBJSUFFIX) test/float/channel$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ + ./test/test.hh ./test/test.hpp +test/float/mm-lin$(OBJSUFFIX) test/float/mm-lin$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ + ./test/int.hh ./test/int.hpp ./test/test.hh \ ./test/test.hpp -test/float/channel$(OBJSUFFIX) test/float/channel$(SBJSUFFIX): \ +test/float/dom$(OBJSUFFIX) test/float/dom$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ - ./test/test.hpp -test/float/mm-lin$(OBJSUFFIX) test/float/mm-lin$(SBJSUFFIX): \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/float.hh ./test/float.hpp \ + ./test/test.hh ./test/test.hpp +test/branch$(OBJSUFFIX) test/branch$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ + ./test/test.hh ./test/test.hpp +test/branch/int$(OBJSUFFIX) test/branch/int$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/int.hh \ - ./test/int.hpp ./test/test.hh ./test/test.hpp -test/float/dom$(OBJSUFFIX) test/float/dom$(SBJSUFFIX): \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ + ./test/test.hh ./test/test.hpp +test/branch/bool$(OBJSUFFIX) test/branch/bool$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/float.hh ./test/float.hpp ./test/test.hh \ - ./test/test.hpp -test/branch$(OBJSUFFIX) test/branch$(SBJSUFFIX): \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ + ./test/test.hh ./test/test.hpp +test/branch/set$(OBJSUFFIX) test/branch/set$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -16652,67 +20798,76 @@ test/branch$(OBJSUFFIX) test/branch$(SBJSUFFIX): \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ ./test/test.hh ./test/test.hpp -test/branch/int$(OBJSUFFIX) test/branch/int$(SBJSUFFIX): \ +test/branch/float$(OBJSUFFIX) test/branch/float$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -16722,137 +20877,155 @@ test/branch/int$(OBJSUFFIX) test/branch/int$(SBJSUFFIX): \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ ./test/test.hh ./test/test.hpp -test/branch/bool$(OBJSUFFIX) test/branch/bool$(SBJSUFFIX): \ +test/assign$(OBJSUFFIX) test/assign$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ - ./test/test.hh ./test/test.hpp -test/branch/set$(OBJSUFFIX) test/branch/set$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ + ./test/test.hh ./test/test.hpp +test/assign/int$(OBJSUFFIX) test/assign/int$(SBJSUFFIX): \ + ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ + ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ + ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ + ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -16860,69 +21033,78 @@ test/branch/set$(OBJSUFFIX) test/branch/set$(SBJSUFFIX): \ ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ ./test/test.hh ./test/test.hpp -test/branch/float$(OBJSUFFIX) test/branch/float$(SBJSUFFIX): \ +test/assign/bool$(OBJSUFFIX) test/assign/bool$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -16930,69 +21112,78 @@ test/branch/float$(OBJSUFFIX) test/branch/float$(SBJSUFFIX): \ ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/branch.hh \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ ./test/test.hh ./test/test.hpp -test/assign$(OBJSUFFIX) test/assign$(SBJSUFFIX): \ +test/assign/set$(OBJSUFFIX) test/assign/set$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -17002,67 +21193,76 @@ test/assign$(OBJSUFFIX) test/assign$(SBJSUFFIX): \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ ./test/test.hh ./test/test.hpp -test/assign/int$(OBJSUFFIX) test/assign/int$(SBJSUFFIX): \ +test/assign/float$(OBJSUFFIX) test/assign/float$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -17072,137 +21272,220 @@ test/assign/int$(OBJSUFFIX) test/assign/int$(SBJSUFFIX): \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ ./test/test.hh ./test/test.hpp -test/assign/bool$(OBJSUFFIX) test/assign/bool$(SBJSUFFIX): \ +test/search$(OBJSUFFIX) test/search$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ - ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ - ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ - ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ - ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ - ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ - ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ - ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ - ./test/test.hh ./test/test.hpp -test/assign/set$(OBJSUFFIX) test/assign/set$(SBJSUFFIX): \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp +test/nogoods$(OBJSUFFIX) test/nogoods$(SBJSUFFIX): \ ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ - ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ - ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ - ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ - ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/trace.hpp \ + ./gecode/float/trace/delta.hpp ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp \ + ./gecode/float/val.hpp ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp \ + ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp \ + ./gecode/float/view.hpp ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp \ + ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp \ + ./gecode/float/view/scale.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ + ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ + ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ + ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ + ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ + ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp \ + ./gecode/int/limits.hpp ./gecode/int/propagator.hpp ./gecode/int/reify.hpp \ + ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp \ + ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp \ + ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp \ + ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp \ + ./gecode/int/var/print.hpp ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp \ + ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp \ + ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp \ + ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp \ + ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp \ + ./gecode/iter.hh ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp \ + ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp \ + ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp \ + ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp \ + ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp \ + ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp \ + ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp \ + ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp \ + ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp \ + ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp \ + ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp \ + ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp \ + ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp ./gecode/kernel.hh \ + ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp \ + ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp \ + ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp \ + ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp \ + ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp \ + ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp \ + ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp \ + ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp \ + ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ + ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp \ + ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp \ + ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp \ + ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp \ + ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp \ + ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp ./gecode/minimodel/reg.hpp \ + ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/set.hh \ + ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ + ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ + ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ + ./gecode/set/limits.hpp ./gecode/set/trace.hpp ./gecode/set/trace/delta.hpp \ + ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp ./gecode/set/var-imp.hpp \ + ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ + ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ + ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ + ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ + ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/allocator.hpp \ + ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ + ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ + ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ + ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ + ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ + ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ + ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ + ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ + ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp +test/array$(OBJSUFFIX) test/array$(SBJSUFFIX): \ ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/int/int-set-2.hpp ./gecode/int/ipl.hpp ./gecode/int/limits.hpp \ + ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/trace.hpp \ + ./gecode/int/trace/bool-delta.hpp ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp \ + ./gecode/int/trace/int-trace-view.hpp ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp \ + ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ + ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ + ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ + ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ + ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ + ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ + ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ + ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ + ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ + ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ + ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ + ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ + ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ + ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ + ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ + ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ + ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ + ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ + ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ + ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ + ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ + ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ + ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ + ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ + ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ + ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ + ./gecode/kernel/gpi.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ + ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp \ + ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp \ + ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp \ + ./gecode/kernel/trace-filter.hpp ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp \ + ./gecode/kernel/tracer.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ + ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/search.hh \ + ./gecode/search/bab.hpp ./gecode/search/base.hpp ./gecode/search/build.hpp \ + ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine.hpp \ + ./gecode/search/exception.hpp ./gecode/search/lds.hpp ./gecode/search/meta/dead.hh \ + ./gecode/search/options.hpp ./gecode/search/pbs.hpp ./gecode/search/rbs.hpp \ + ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ + ./gecode/search/support.hh ./gecode/search/traits.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -17210,25 +21493,32 @@ test/assign/set$(OBJSUFFIX) test/assign/set$(SBJSUFFIX): \ ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ - ./test/test.hh ./test/test.hpp -test/assign/float$(OBJSUFFIX) test/assign/float$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/test.hh \ + ./test/test.hpp +test/flatzinc$(OBJSUFFIX) test/flatzinc$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ + ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ + ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ + ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -17254,25 +21544,34 @@ test/assign/float$(OBJSUFFIX) test/assign/float$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/set.hh \ - ./gecode/set/array-traits.hpp ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp \ - ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp \ - ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp \ - ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp \ - ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp \ - ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp ./gecode/set/view.hpp \ - ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp \ - ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp \ - ./gecode/support.hh ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ @@ -17280,25 +21579,32 @@ test/assign/float$(OBJSUFFIX) test/assign/float$(SBJSUFFIX): \ ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ - ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/assign.hh \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ ./test/test.hh ./test/test.hpp -test/search$(OBJSUFFIX) test/search$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ +test/flatzinc/bool_clause$(OBJSUFFIX) test/flatzinc/bool_clause$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ + ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ + ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ + ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -17324,118 +21630,67 @@ test/search$(OBJSUFFIX) test/search$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ ./test/test.hh ./test/test.hpp -test/nogoods$(OBJSUFFIX) test/nogoods$(SBJSUFFIX): \ - ./gecode/float.hh ./gecode/float/array-traits.hpp ./gecode/float/array.hpp \ - ./gecode/float/branch/activity.hpp ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp \ - ./gecode/float/branch/traits.hpp ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp \ - ./gecode/float/exception.hpp ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp \ - ./gecode/float/num.hpp ./gecode/float/rounding.hpp ./gecode/float/val.hpp \ +test/flatzinc/bug232$(OBJSUFFIX) test/flatzinc/bug232$(SBJSUFFIX): \ + ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ + ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ + ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ + ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ + ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ + ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ + ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ - ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ - ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ - ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ - ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ - ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ - ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ - ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ - ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ - ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ - ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ - ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ - ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ - ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ - ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ - ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ - ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ - ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ - ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ - ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ - ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ - ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ - ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ - ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ - ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ - ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ - ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ - ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ - ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ - ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp ./gecode/search.hh \ - ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ - ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp ./gecode/search/exception.hpp \ - ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp ./gecode/search/rbs.hpp \ - ./gecode/search/statistics.hpp ./gecode/search/stop.hpp ./gecode/search/support.hh \ - ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ - ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ - ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ - ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/var-imp.hpp \ - ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp ./gecode/set/var-imp/iter.hpp \ - ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp ./gecode/set/var/set.hpp \ - ./gecode/set/view.hpp ./gecode/set/view/cached.hpp ./gecode/set/view/complement.hpp \ - ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp ./gecode/set/view/set.hpp \ - ./gecode/set/view/singleton.hpp ./gecode/support.hh ./gecode/support/auto-link.hpp \ - ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp \ - ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp ./gecode/support/config.hpp \ - ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp \ - ./gecode/support/exception.hpp ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp \ - ./gecode/support/int-type.hpp ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp \ - ./gecode/support/random.hpp ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp \ - ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp \ - ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp \ - ./test/test.hh ./test/test.hpp -test/array$(OBJSUFFIX) test/array$(SBJSUFFIX): \ - ./gecode/int.hh ./gecode/int/array-traits.hpp ./gecode/int/array.hpp \ - ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp \ - ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp \ - ./gecode/int/div.hh ./gecode/int/div.hpp ./gecode/int/exception.hpp \ - ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp \ - ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ - ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ @@ -17461,256 +21716,43 @@ test/array$(OBJSUFFIX) test/array$(SBJSUFFIX): \ ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ - ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/global-afc.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ - ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp ./gecode/kernel/range-list.hpp \ - ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp ./gecode/kernel/shared-array.hpp \ - ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ - ./gecode/kernel/view.hpp ./gecode/search.hh ./gecode/search/bab.hpp \ - ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp \ - ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh \ - ./gecode/search/options.hpp ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp \ - ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/test.hh ./test/test.hpp -test/flatzinc$(OBJSUFFIX) test/flatzinc$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ - ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ - ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ - ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp -test/flatzinc/bool_clause$(OBJSUFFIX) test/flatzinc/bool_clause$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ - ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ - ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ - ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ - ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp -test/flatzinc/bug232$(OBJSUFFIX) test/flatzinc/bug232$(SBJSUFFIX): \ - ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ - ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ - ./gecode/flatzinc/option.hh ./gecode/flatzinc/varspec.hh ./gecode/float.hh \ - ./gecode/float/array-traits.hpp ./gecode/float/array.hpp ./gecode/float/branch/activity.hpp \ - ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ - ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ - ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/bug319$(OBJSUFFIX) test/flatzinc/bug319$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -17719,75 +21761,84 @@ test/flatzinc/bug319$(OBJSUFFIX) test/flatzinc/bug319$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/bugfix_r6746$(OBJSUFFIX) test/flatzinc/bugfix_r6746$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -17796,75 +21847,84 @@ test/flatzinc/bugfix_r6746$(OBJSUFFIX) test/flatzinc/bugfix_r6746$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/bugfix_r7854$(OBJSUFFIX) test/flatzinc/bugfix_r7854$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -17873,75 +21933,84 @@ test/flatzinc/bugfix_r7854$(OBJSUFFIX) test/flatzinc/bugfix_r7854$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/empty_domain_1$(OBJSUFFIX) test/flatzinc/empty_domain_1$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -17950,75 +22019,84 @@ test/flatzinc/empty_domain_1$(OBJSUFFIX) test/flatzinc/empty_domain_1$(SBJSUFFIX ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/empty_domain_2$(OBJSUFFIX) test/flatzinc/empty_domain_2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18027,75 +22105,84 @@ test/flatzinc/empty_domain_2$(OBJSUFFIX) test/flatzinc/empty_domain_2$(SBJSUFFIX ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/int_set_as_type1$(OBJSUFFIX) test/flatzinc/int_set_as_type1$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18104,75 +22191,84 @@ test/flatzinc/int_set_as_type1$(OBJSUFFIX) test/flatzinc/int_set_as_type1$(SBJSU ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/int_set_as_type2$(OBJSUFFIX) test/flatzinc/int_set_as_type2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18181,75 +22277,84 @@ test/flatzinc/int_set_as_type2$(OBJSUFFIX) test/flatzinc/int_set_as_type2$(SBJSU ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/jobshop$(OBJSUFFIX) test/flatzinc/jobshop$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18258,75 +22363,84 @@ test/flatzinc/jobshop$(OBJSUFFIX) test/flatzinc/jobshop$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/no_warn_empty_domain$(OBJSUFFIX) test/flatzinc/no_warn_empty_domain$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18335,75 +22449,84 @@ test/flatzinc/no_warn_empty_domain$(OBJSUFFIX) test/flatzinc/no_warn_empty_domai ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/output_test$(OBJSUFFIX) test/flatzinc/output_test$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18412,75 +22535,84 @@ test/flatzinc/output_test$(OBJSUFFIX) test/flatzinc/output_test$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/queens4$(OBJSUFFIX) test/flatzinc/queens4$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18489,75 +22621,84 @@ test/flatzinc/queens4$(OBJSUFFIX) test/flatzinc/queens4$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/sat_arith1$(OBJSUFFIX) test/flatzinc/sat_arith1$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18566,75 +22707,84 @@ test/flatzinc/sat_arith1$(OBJSUFFIX) test/flatzinc/sat_arith1$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/sat_array_bool_and$(OBJSUFFIX) test/flatzinc/sat_array_bool_and$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18643,75 +22793,84 @@ test/flatzinc/sat_array_bool_and$(OBJSUFFIX) test/flatzinc/sat_array_bool_and$(S ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/sat_array_bool_or$(OBJSUFFIX) test/flatzinc/sat_array_bool_or$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18720,75 +22879,84 @@ test/flatzinc/sat_array_bool_or$(OBJSUFFIX) test/flatzinc/sat_array_bool_or$(SBJ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/sat_cmp_reif$(OBJSUFFIX) test/flatzinc/sat_cmp_reif$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18797,75 +22965,84 @@ test/flatzinc/sat_cmp_reif$(OBJSUFFIX) test/flatzinc/sat_cmp_reif$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/sat_eq_reif$(OBJSUFFIX) test/flatzinc/sat_eq_reif$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18874,75 +23051,84 @@ test/flatzinc/sat_eq_reif$(OBJSUFFIX) test/flatzinc/sat_eq_reif$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_approx_bnb$(OBJSUFFIX) test/flatzinc/test_approx_bnb$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -18951,75 +23137,84 @@ test/flatzinc/test_approx_bnb$(OBJSUFFIX) test/flatzinc/test_approx_bnb$(SBJSUFF ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_array_just_right$(OBJSUFFIX) test/flatzinc/test_array_just_right$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19028,75 +23223,84 @@ test/flatzinc/test_array_just_right$(OBJSUFFIX) test/flatzinc/test_array_just_ri ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_assigned_var_bounds_bad$(OBJSUFFIX) test/flatzinc/test_assigned_var_bounds_bad$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19105,75 +23309,84 @@ test/flatzinc/test_assigned_var_bounds_bad$(OBJSUFFIX) test/flatzinc/test_assign ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_flatzinc_output_anns$(OBJSUFFIX) test/flatzinc/test_flatzinc_output_anns$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19182,75 +23395,84 @@ test/flatzinc/test_flatzinc_output_anns$(OBJSUFFIX) test/flatzinc/test_flatzinc_ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_fzn_arith$(OBJSUFFIX) test/flatzinc/test_fzn_arith$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19259,75 +23481,84 @@ test/flatzinc/test_fzn_arith$(OBJSUFFIX) test/flatzinc/test_fzn_arith$(SBJSUFFIX ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_fzn_arrays$(OBJSUFFIX) test/flatzinc/test_fzn_arrays$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19336,75 +23567,84 @@ test/flatzinc/test_fzn_arrays$(OBJSUFFIX) test/flatzinc/test_fzn_arrays$(SBJSUFF ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_fzn_coercions$(OBJSUFFIX) test/flatzinc/test_fzn_coercions$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19413,75 +23653,84 @@ test/flatzinc/test_fzn_coercions$(OBJSUFFIX) test/flatzinc/test_fzn_coercions$(S ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_fzn_comparison$(OBJSUFFIX) test/flatzinc/test_fzn_comparison$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19490,75 +23739,84 @@ test/flatzinc/test_fzn_comparison$(OBJSUFFIX) test/flatzinc/test_fzn_comparison$ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_fzn_logic$(OBJSUFFIX) test/flatzinc/test_fzn_logic$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19567,75 +23825,84 @@ test/flatzinc/test_fzn_logic$(OBJSUFFIX) test/flatzinc/test_fzn_logic$(SBJSUFFIX ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_fzn_sets$(OBJSUFFIX) test/flatzinc/test_fzn_sets$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19644,75 +23911,84 @@ test/flatzinc/test_fzn_sets$(OBJSUFFIX) test/flatzinc/test_fzn_sets$(SBJSUFFIX): ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_int_div$(OBJSUFFIX) test/flatzinc/test_int_div$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19721,75 +23997,84 @@ test/flatzinc/test_int_div$(OBJSUFFIX) test/flatzinc/test_int_div$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_int_mod$(OBJSUFFIX) test/flatzinc/test_int_mod$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19798,75 +24083,84 @@ test/flatzinc/test_int_mod$(OBJSUFFIX) test/flatzinc/test_int_mod$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_int_ranges_as_values$(OBJSUFFIX) test/flatzinc/test_int_ranges_as_values$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19875,75 +24169,84 @@ test/flatzinc/test_int_ranges_as_values$(OBJSUFFIX) test/flatzinc/test_int_range ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/test_seq_search$(OBJSUFFIX) test/flatzinc/test_seq_search$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -19952,75 +24255,84 @@ test/flatzinc/test_seq_search$(OBJSUFFIX) test/flatzinc/test_seq_search$(SBJSUFF ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/2dpacking$(OBJSUFFIX) test/flatzinc/2dpacking$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20029,75 +24341,84 @@ test/flatzinc/2dpacking$(OBJSUFFIX) test/flatzinc/2dpacking$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/alpha$(OBJSUFFIX) test/flatzinc/alpha$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20106,75 +24427,84 @@ test/flatzinc/alpha$(OBJSUFFIX) test/flatzinc/alpha$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships1$(OBJSUFFIX) test/flatzinc/battleships1$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20183,75 +24513,84 @@ test/flatzinc/battleships1$(OBJSUFFIX) test/flatzinc/battleships1$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships10$(OBJSUFFIX) test/flatzinc/battleships10$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20260,75 +24599,84 @@ test/flatzinc/battleships10$(OBJSUFFIX) test/flatzinc/battleships10$(SBJSUFFIX): ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships2$(OBJSUFFIX) test/flatzinc/battleships2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20337,75 +24685,84 @@ test/flatzinc/battleships2$(OBJSUFFIX) test/flatzinc/battleships2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships3$(OBJSUFFIX) test/flatzinc/battleships3$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20414,75 +24771,84 @@ test/flatzinc/battleships3$(OBJSUFFIX) test/flatzinc/battleships3$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships4$(OBJSUFFIX) test/flatzinc/battleships4$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20491,75 +24857,84 @@ test/flatzinc/battleships4$(OBJSUFFIX) test/flatzinc/battleships4$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships5$(OBJSUFFIX) test/flatzinc/battleships5$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20568,75 +24943,84 @@ test/flatzinc/battleships5$(OBJSUFFIX) test/flatzinc/battleships5$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships7$(OBJSUFFIX) test/flatzinc/battleships7$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20645,75 +25029,84 @@ test/flatzinc/battleships7$(OBJSUFFIX) test/flatzinc/battleships7$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/battleships9$(OBJSUFFIX) test/flatzinc/battleships9$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20722,75 +25115,84 @@ test/flatzinc/battleships9$(OBJSUFFIX) test/flatzinc/battleships9$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/blocksworld_instance_1$(OBJSUFFIX) test/flatzinc/blocksworld_instance_1$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20799,75 +25201,84 @@ test/flatzinc/blocksworld_instance_1$(OBJSUFFIX) test/flatzinc/blocksworld_insta ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/blocksworld_instance_2$(OBJSUFFIX) test/flatzinc/blocksworld_instance_2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20876,75 +25287,84 @@ test/flatzinc/blocksworld_instance_2$(OBJSUFFIX) test/flatzinc/blocksworld_insta ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/cumulatives$(OBJSUFFIX) test/flatzinc/cumulatives$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -20953,75 +25373,84 @@ test/flatzinc/cumulatives$(OBJSUFFIX) test/flatzinc/cumulatives$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/cutstock$(OBJSUFFIX) test/flatzinc/cutstock$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21030,75 +25459,84 @@ test/flatzinc/cutstock$(OBJSUFFIX) test/flatzinc/cutstock$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/eq20$(OBJSUFFIX) test/flatzinc/eq20$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21107,75 +25545,84 @@ test/flatzinc/eq20$(OBJSUFFIX) test/flatzinc/eq20$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/factory_planning_instance$(OBJSUFFIX) test/flatzinc/factory_planning_instance$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21184,75 +25631,84 @@ test/flatzinc/factory_planning_instance$(OBJSUFFIX) test/flatzinc/factory_planni ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/golomb$(OBJSUFFIX) test/flatzinc/golomb$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21261,75 +25717,84 @@ test/flatzinc/golomb$(OBJSUFFIX) test/flatzinc/golomb$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/jobshop2x2$(OBJSUFFIX) test/flatzinc/jobshop2x2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21338,75 +25803,84 @@ test/flatzinc/jobshop2x2$(OBJSUFFIX) test/flatzinc/jobshop2x2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/knights$(OBJSUFFIX) test/flatzinc/knights$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21415,75 +25889,84 @@ test/flatzinc/knights$(OBJSUFFIX) test/flatzinc/knights$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/langford2$(OBJSUFFIX) test/flatzinc/langford2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21492,75 +25975,84 @@ test/flatzinc/langford2$(OBJSUFFIX) test/flatzinc/langford2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/latin_squares_fd$(OBJSUFFIX) test/flatzinc/latin_squares_fd$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21569,75 +26061,84 @@ test/flatzinc/latin_squares_fd$(OBJSUFFIX) test/flatzinc/latin_squares_fd$(SBJSU ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/multidim_knapsack_simple$(OBJSUFFIX) test/flatzinc/multidim_knapsack_simple$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21646,75 +26147,84 @@ test/flatzinc/multidim_knapsack_simple$(OBJSUFFIX) test/flatzinc/multidim_knapsa ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/packing$(OBJSUFFIX) test/flatzinc/packing$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21723,75 +26233,84 @@ test/flatzinc/packing$(OBJSUFFIX) test/flatzinc/packing$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/perfsq$(OBJSUFFIX) test/flatzinc/perfsq$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21800,75 +26319,84 @@ test/flatzinc/perfsq$(OBJSUFFIX) test/flatzinc/perfsq$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/perfsq2$(OBJSUFFIX) test/flatzinc/perfsq2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21877,75 +26405,84 @@ test/flatzinc/perfsq2$(OBJSUFFIX) test/flatzinc/perfsq2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/photo$(OBJSUFFIX) test/flatzinc/photo$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -21954,75 +26491,84 @@ test/flatzinc/photo$(OBJSUFFIX) test/flatzinc/photo$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/product_fd$(OBJSUFFIX) test/flatzinc/product_fd$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22031,75 +26577,84 @@ test/flatzinc/product_fd$(OBJSUFFIX) test/flatzinc/product_fd$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/product_lp$(OBJSUFFIX) test/flatzinc/product_lp$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22108,75 +26663,84 @@ test/flatzinc/product_lp$(OBJSUFFIX) test/flatzinc/product_lp$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/quasigroup_qg5$(OBJSUFFIX) test/flatzinc/quasigroup_qg5$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22185,75 +26749,84 @@ test/flatzinc/quasigroup_qg5$(OBJSUFFIX) test/flatzinc/quasigroup_qg5$(SBJSUFFIX ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/queen_cp2$(OBJSUFFIX) test/flatzinc/queen_cp2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22262,75 +26835,84 @@ test/flatzinc/queen_cp2$(OBJSUFFIX) test/flatzinc/queen_cp2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/queen_ip$(OBJSUFFIX) test/flatzinc/queen_ip$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22339,75 +26921,84 @@ test/flatzinc/queen_ip$(OBJSUFFIX) test/flatzinc/queen_ip$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/radiation$(OBJSUFFIX) test/flatzinc/radiation$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22416,75 +27007,84 @@ test/flatzinc/radiation$(OBJSUFFIX) test/flatzinc/radiation$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/simple_sat$(OBJSUFFIX) test/flatzinc/simple_sat$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22493,75 +27093,84 @@ test/flatzinc/simple_sat$(OBJSUFFIX) test/flatzinc/simple_sat$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/singHoist2$(OBJSUFFIX) test/flatzinc/singHoist2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22570,75 +27179,84 @@ test/flatzinc/singHoist2$(OBJSUFFIX) test/flatzinc/singHoist2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/sudoku$(OBJSUFFIX) test/flatzinc/sudoku$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22647,75 +27265,84 @@ test/flatzinc/sudoku$(OBJSUFFIX) test/flatzinc/sudoku$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/template_design$(OBJSUFFIX) test/flatzinc/template_design$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22724,75 +27351,84 @@ test/flatzinc/template_design$(OBJSUFFIX) test/flatzinc/template_design$(SBJSUFF ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/tenpenki_1$(OBJSUFFIX) test/flatzinc/tenpenki_1$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22801,75 +27437,84 @@ test/flatzinc/tenpenki_1$(OBJSUFFIX) test/flatzinc/tenpenki_1$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/tenpenki_2$(OBJSUFFIX) test/flatzinc/tenpenki_2$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22878,75 +27523,84 @@ test/flatzinc/tenpenki_2$(OBJSUFFIX) test/flatzinc/tenpenki_2$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/tenpenki_3$(OBJSUFFIX) test/flatzinc/tenpenki_3$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -22955,75 +27609,84 @@ test/flatzinc/tenpenki_3$(OBJSUFFIX) test/flatzinc/tenpenki_3$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/tenpenki_4$(OBJSUFFIX) test/flatzinc/tenpenki_4$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23032,75 +27695,84 @@ test/flatzinc/tenpenki_4$(OBJSUFFIX) test/flatzinc/tenpenki_4$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/tenpenki_5$(OBJSUFFIX) test/flatzinc/tenpenki_5$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23109,75 +27781,84 @@ test/flatzinc/tenpenki_5$(OBJSUFFIX) test/flatzinc/tenpenki_5$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/tenpenki_6$(OBJSUFFIX) test/flatzinc/tenpenki_6$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23186,75 +27867,84 @@ test/flatzinc/tenpenki_6$(OBJSUFFIX) test/flatzinc/tenpenki_6$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/warehouses$(OBJSUFFIX) test/flatzinc/warehouses$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23263,75 +27953,84 @@ test/flatzinc/warehouses$(OBJSUFFIX) test/flatzinc/warehouses$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ - ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ - ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ - ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ - ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ - ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ + ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ + ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ + ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ + ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ + ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/warehouses_small$(OBJSUFFIX) test/flatzinc/warehouses_small$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23340,75 +28039,84 @@ test/flatzinc/warehouses_small$(OBJSUFFIX) test/flatzinc/warehouses_small$(SBJSU ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/wolf_goat_cabbage$(OBJSUFFIX) test/flatzinc/wolf_goat_cabbage$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23417,75 +28125,84 @@ test/flatzinc/wolf_goat_cabbage$(OBJSUFFIX) test/flatzinc/wolf_goat_cabbage$(SBJ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/zebra$(OBJSUFFIX) test/flatzinc/zebra$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23494,75 +28211,84 @@ test/flatzinc/zebra$(OBJSUFFIX) test/flatzinc/zebra$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/magicsq_3$(OBJSUFFIX) test/flatzinc/magicsq_3$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23571,75 +28297,84 @@ test/flatzinc/magicsq_3$(OBJSUFFIX) test/flatzinc/magicsq_3$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/magicsq_4$(OBJSUFFIX) test/flatzinc/magicsq_4$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23648,75 +28383,84 @@ test/flatzinc/magicsq_4$(OBJSUFFIX) test/flatzinc/magicsq_4$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/magicsq_5$(OBJSUFFIX) test/flatzinc/magicsq_5$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23725,75 +28469,84 @@ test/flatzinc/magicsq_5$(OBJSUFFIX) test/flatzinc/magicsq_5$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/oss$(OBJSUFFIX) test/flatzinc/oss$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23802,75 +28555,84 @@ test/flatzinc/oss$(OBJSUFFIX) test/flatzinc/oss$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/steiner_triples$(OBJSUFFIX) test/flatzinc/steiner_triples$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23879,75 +28641,84 @@ test/flatzinc/steiner_triples$(OBJSUFFIX) test/flatzinc/steiner_triples$(SBJSUFF ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/timetabling$(OBJSUFFIX) test/flatzinc/timetabling$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -23956,75 +28727,84 @@ test/flatzinc/timetabling$(OBJSUFFIX) test/flatzinc/timetabling$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp test/flatzinc/trucking$(OBJSUFFIX) test/flatzinc/trucking$(SBJSUFFIX): \ ./gecode/driver.hh ./gecode/driver/options.hpp ./gecode/driver/script.hpp \ ./gecode/flatzinc.hh ./gecode/flatzinc/ast.hh ./gecode/flatzinc/conexpr.hh \ @@ -24033,72 +28813,81 @@ test/flatzinc/trucking$(OBJSUFFIX) test/flatzinc/trucking$(SBJSUFFIX): \ ./gecode/float/branch/afc.hpp ./gecode/float/branch/assign.hpp ./gecode/float/branch/traits.hpp \ ./gecode/float/branch/val.hpp ./gecode/float/branch/var.hpp ./gecode/float/exception.hpp \ ./gecode/float/limits.hpp ./gecode/float/nextafter.hpp ./gecode/float/num.hpp \ - ./gecode/float/rounding.hpp ./gecode/float/val.hpp ./gecode/float/var-imp.hpp \ - ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp ./gecode/float/var/float.hpp \ - ./gecode/float/var/print.hpp ./gecode/float/view.hpp ./gecode/float/view/float.hpp \ - ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp ./gecode/float/view/print.hpp \ - ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp ./gecode/gist.hh \ - ./gecode/gist/gist.hpp ./gecode/int.hh ./gecode/int/array-traits.hpp \ - ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp ./gecode/int/branch/afc.hpp \ - ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp ./gecode/int/branch/val.hpp \ - ./gecode/int/branch/var.hpp ./gecode/int/div.hh ./gecode/int/div.hpp \ - ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp ./gecode/int/extensional/tuple-set.hpp \ - ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp ./gecode/int/limits.hpp \ - ./gecode/int/propagator.hpp ./gecode/int/reify.hpp ./gecode/int/var-imp.hpp \ - ./gecode/int/var-imp/bool.hpp ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp \ - ./gecode/int/var/bool.hpp ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp \ - ./gecode/int/view.hpp ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp \ - ./gecode/int/view/cached.hpp ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp \ - ./gecode/int/view/iter.hpp ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp \ - ./gecode/int/view/offset.hpp ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp \ - ./gecode/int/view/scale.hpp ./gecode/int/view/zero.hpp ./gecode/iter.hh \ - ./gecode/iter/ranges-add.hpp ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp \ - ./gecode/iter/ranges-cache.hpp ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp \ - ./gecode/iter/ranges-empty.hpp ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp \ - ./gecode/iter/ranges-map.hpp ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp \ - ./gecode/iter/ranges-negative.hpp ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp \ - ./gecode/iter/ranges-positive.hpp ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp \ - ./gecode/iter/ranges-singleton-append.hpp ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp \ - ./gecode/iter/ranges-union.hpp ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp \ - ./gecode/iter/values-bitset.hpp ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp \ - ./gecode/iter/values-list.hpp ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp \ - ./gecode/iter/values-negative.hpp ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp \ - ./gecode/iter/values-ranges.hpp ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp \ - ./gecode/iter/values-unique.hpp ./gecode/kernel.hh ./gecode/kernel/activity.hpp \ - ./gecode/kernel/advisor.hpp ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp \ - ./gecode/kernel/archive.hpp ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp \ - ./gecode/kernel/branch-traits.hpp ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp \ - ./gecode/kernel/brancher-merit.hpp ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp \ - ./gecode/kernel/brancher-val-sel.hpp ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp \ - ./gecode/kernel/brancher-view.hpp ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp \ - ./gecode/kernel/global-afc.hpp ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp \ - ./gecode/kernel/memory-manager.hpp ./gecode/kernel/modevent.hpp ./gecode/kernel/propagator.hpp \ + ./gecode/float/rounding.hpp ./gecode/float/trace.hpp ./gecode/float/trace/delta.hpp \ + ./gecode/float/trace/trace-view.hpp ./gecode/float/trace/traits.hpp ./gecode/float/val.hpp \ + ./gecode/float/var-imp.hpp ./gecode/float/var-imp/delta.hpp ./gecode/float/var-imp/float.hpp \ + ./gecode/float/var/float.hpp ./gecode/float/var/print.hpp ./gecode/float/view.hpp \ + ./gecode/float/view/float.hpp ./gecode/float/view/minus.hpp ./gecode/float/view/offset.hpp \ + ./gecode/float/view/print.hpp ./gecode/float/view/rel-test.hpp ./gecode/float/view/scale.hpp \ + ./gecode/gist.hh ./gecode/gist/gist.hpp ./gecode/int.hh \ + ./gecode/int/array-traits.hpp ./gecode/int/array.hpp ./gecode/int/branch/activity.hpp \ + ./gecode/int/branch/afc.hpp ./gecode/int/branch/assign.hpp ./gecode/int/branch/traits.hpp \ + ./gecode/int/branch/val.hpp ./gecode/int/branch/var.hpp ./gecode/int/div.hh \ + ./gecode/int/div.hpp ./gecode/int/exception.hpp ./gecode/int/extensional/dfa.hpp \ + ./gecode/int/extensional/tuple-set.hpp ./gecode/int/int-set-1.hpp ./gecode/int/int-set-2.hpp \ + ./gecode/int/ipl.hpp ./gecode/int/limits.hpp ./gecode/int/propagator.hpp \ + ./gecode/int/reify.hpp ./gecode/int/trace.hpp ./gecode/int/trace/bool-delta.hpp \ + ./gecode/int/trace/bool-trace-view.hpp ./gecode/int/trace/int-delta.hpp ./gecode/int/trace/int-trace-view.hpp \ + ./gecode/int/trace/traits.hpp ./gecode/int/var-imp.hpp ./gecode/int/var-imp/bool.hpp \ + ./gecode/int/var-imp/delta.hpp ./gecode/int/var-imp/int.hpp ./gecode/int/var/bool.hpp \ + ./gecode/int/var/int.hpp ./gecode/int/var/print.hpp ./gecode/int/view.hpp \ + ./gecode/int/view/bool-test.hpp ./gecode/int/view/bool.hpp ./gecode/int/view/cached.hpp \ + ./gecode/int/view/constint.hpp ./gecode/int/view/int.hpp ./gecode/int/view/iter.hpp \ + ./gecode/int/view/minus.hpp ./gecode/int/view/neg-bool.hpp ./gecode/int/view/offset.hpp \ + ./gecode/int/view/print.hpp ./gecode/int/view/rel-test.hpp ./gecode/int/view/scale.hpp \ + ./gecode/int/view/zero.hpp ./gecode/iter.hh ./gecode/iter/ranges-add.hpp \ + ./gecode/iter/ranges-append.hpp ./gecode/iter/ranges-array.hpp ./gecode/iter/ranges-cache.hpp \ + ./gecode/iter/ranges-compl.hpp ./gecode/iter/ranges-diff.hpp ./gecode/iter/ranges-empty.hpp \ + ./gecode/iter/ranges-inter.hpp ./gecode/iter/ranges-list.hpp ./gecode/iter/ranges-map.hpp \ + ./gecode/iter/ranges-minmax.hpp ./gecode/iter/ranges-minus.hpp ./gecode/iter/ranges-negative.hpp \ + ./gecode/iter/ranges-offset.hpp ./gecode/iter/ranges-operations.hpp ./gecode/iter/ranges-positive.hpp \ + ./gecode/iter/ranges-rangelist.hpp ./gecode/iter/ranges-scale.hpp ./gecode/iter/ranges-singleton-append.hpp \ + ./gecode/iter/ranges-singleton.hpp ./gecode/iter/ranges-size.hpp ./gecode/iter/ranges-union.hpp \ + ./gecode/iter/ranges-values.hpp ./gecode/iter/values-array.hpp ./gecode/iter/values-bitset.hpp \ + ./gecode/iter/values-bitsetoffset.hpp ./gecode/iter/values-inter.hpp ./gecode/iter/values-list.hpp \ + ./gecode/iter/values-map.hpp ./gecode/iter/values-minus.hpp ./gecode/iter/values-negative.hpp \ + ./gecode/iter/values-offset.hpp ./gecode/iter/values-positive.hpp ./gecode/iter/values-ranges.hpp \ + ./gecode/iter/values-singleton.hpp ./gecode/iter/values-union.hpp ./gecode/iter/values-unique.hpp \ + ./gecode/kernel.hh ./gecode/kernel/activity.hpp ./gecode/kernel/advisor.hpp \ + ./gecode/kernel/afc.hpp ./gecode/kernel/allocators.hpp ./gecode/kernel/archive.hpp \ + ./gecode/kernel/array.hpp ./gecode/kernel/branch-tiebreak.hpp ./gecode/kernel/branch-traits.hpp \ + ./gecode/kernel/branch-val.hpp ./gecode/kernel/branch-var.hpp ./gecode/kernel/brancher-merit.hpp \ + ./gecode/kernel/brancher-val-commit.hpp ./gecode/kernel/brancher-val-sel-commit.hpp ./gecode/kernel/brancher-val-sel.hpp \ + ./gecode/kernel/brancher-view-sel.hpp ./gecode/kernel/brancher-view-val.hpp ./gecode/kernel/brancher-view.hpp \ + ./gecode/kernel/core.hpp ./gecode/kernel/exception.hpp ./gecode/kernel/gpi.hpp \ + ./gecode/kernel/macros.hpp ./gecode/kernel/memory-config.hpp ./gecode/kernel/memory-manager.hpp \ + ./gecode/kernel/modevent.hpp ./gecode/kernel/print.hpp ./gecode/kernel/propagator.hpp \ ./gecode/kernel/range-list.hpp ./gecode/kernel/region.hpp ./gecode/kernel/rnd.hpp \ - ./gecode/kernel/shared-array.hpp ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp \ - ./gecode/kernel/var.hpp ./gecode/kernel/view.hpp ./gecode/minimodel.hh \ - ./gecode/minimodel/bool-expr.hpp ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp \ - ./gecode/minimodel/int-rel.hpp ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp \ - ./gecode/minimodel/optimize.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ - ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/cutoff.hpp \ - ./gecode/search/dfs.hpp ./gecode/search/engine-base.hpp ./gecode/search/engine.hpp \ - ./gecode/search/exception.hpp ./gecode/search/meta/rbs.hh ./gecode/search/options.hpp \ - ./gecode/search/rbs.hpp ./gecode/search/statistics.hpp ./gecode/search/stop.hpp \ - ./gecode/search/support.hh ./gecode/set.hh ./gecode/set/array-traits.hpp \ - ./gecode/set/array.hpp ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp \ - ./gecode/set/branch/assign.hpp ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp \ - ./gecode/set/branch/var.hpp ./gecode/set/exception.hpp ./gecode/set/limits.hpp \ + ./gecode/kernel/shared-array.hpp ./gecode/kernel/subscribed-propagators.hpp ./gecode/kernel/trace-filter.hpp \ + ./gecode/kernel/trace-recorder.hpp ./gecode/kernel/trace-traits.hpp ./gecode/kernel/tracer.hpp \ + ./gecode/kernel/var-imp.hpp ./gecode/kernel/var-type.hpp ./gecode/kernel/var.hpp \ + ./gecode/kernel/view.hpp ./gecode/minimodel.hh ./gecode/minimodel/bool-expr.hpp \ + ./gecode/minimodel/exception.hpp ./gecode/minimodel/float-rel.hpp ./gecode/minimodel/int-rel.hpp \ + ./gecode/minimodel/ldsb.hpp ./gecode/minimodel/matrix.hpp ./gecode/minimodel/optimize.hpp \ + ./gecode/minimodel/reg.hpp ./gecode/minimodel/set-expr.hpp ./gecode/minimodel/set-rel.hpp \ + ./gecode/search.hh ./gecode/search/bab.hpp ./gecode/search/base.hpp \ + ./gecode/search/build.hpp ./gecode/search/cutoff.hpp ./gecode/search/dfs.hpp \ + ./gecode/search/engine.hpp ./gecode/search/exception.hpp ./gecode/search/lds.hpp \ + ./gecode/search/meta/dead.hh ./gecode/search/options.hpp ./gecode/search/pbs.hpp \ + ./gecode/search/rbs.hpp ./gecode/search/sebs.hpp ./gecode/search/statistics.hpp \ + ./gecode/search/stop.hpp ./gecode/search/support.hh ./gecode/search/traits.hpp \ + ./gecode/set.hh ./gecode/set/array-traits.hpp ./gecode/set/array.hpp \ + ./gecode/set/branch/activity.hpp ./gecode/set/branch/afc.hpp ./gecode/set/branch/assign.hpp \ + ./gecode/set/branch/traits.hpp ./gecode/set/branch/val.hpp ./gecode/set/branch/var.hpp \ + ./gecode/set/exception.hpp ./gecode/set/limits.hpp ./gecode/set/trace.hpp \ + ./gecode/set/trace/delta.hpp ./gecode/set/trace/trace-view.hpp ./gecode/set/trace/traits.hpp \ ./gecode/set/var-imp.hpp ./gecode/set/var-imp/delta.hpp ./gecode/set/var-imp/integerset.hpp \ ./gecode/set/var-imp/iter.hpp ./gecode/set/var-imp/set.hpp ./gecode/set/var/print.hpp \ ./gecode/set/var/set.hpp ./gecode/set/view.hpp ./gecode/set/view/cached.hpp \ ./gecode/set/view/complement.hpp ./gecode/set/view/const.hpp ./gecode/set/view/print.hpp \ ./gecode/set/view/set.hpp ./gecode/set/view/singleton.hpp ./gecode/support.hh \ - ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp ./gecode/support/bitset-offset.hpp \ - ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp ./gecode/support/cast.hpp \ - ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp ./gecode/support/dynamic-queue.hpp \ - ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp ./gecode/support/heap.hpp \ - ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp ./gecode/support/macros.hpp \ - ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp ./gecode/support/sort.hpp \ - ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp ./gecode/support/thread/none.hpp \ - ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp ./gecode/support/thread/windows.hpp \ - ./gecode/support/timer.hpp ./test/flatzinc.hh ./test/test.hh \ - ./test/test.hpp + ./gecode/support/allocator.hpp ./gecode/support/auto-link.hpp ./gecode/support/bitset-base.hpp \ + ./gecode/support/bitset-offset.hpp ./gecode/support/bitset.hpp ./gecode/support/block-allocator.hpp \ + ./gecode/support/cast.hpp ./gecode/support/config.hpp ./gecode/support/dynamic-array.hpp \ + ./gecode/support/dynamic-queue.hpp ./gecode/support/dynamic-stack.hpp ./gecode/support/exception.hpp \ + ./gecode/support/heap.hpp ./gecode/support/hw-rnd.hpp ./gecode/support/int-type.hpp \ + ./gecode/support/macros.hpp ./gecode/support/marked-pointer.hpp ./gecode/support/random.hpp \ + ./gecode/support/sort.hpp ./gecode/support/static-stack.hpp ./gecode/support/thread.hpp \ + ./gecode/support/thread/none.hpp ./gecode/support/thread/pthreads.hpp ./gecode/support/thread/thread.hpp \ + ./gecode/support/thread/windows.hpp ./gecode/support/timer.hpp ./test/flatzinc.hh \ + ./test/test.hh ./test/test.hpp diff --git a/Makefile.in b/Makefile.in index e4e13f3eaf..db1b3328d3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -143,22 +143,23 @@ endif # SUPPORT COMPONENTS # SUPPORTSRC0 = \ - exception heap thread/thread thread/windows thread/pthreads \ + exception allocator heap \ + thread/thread thread/windows thread/pthreads \ hw-rnd SUPPORTHDR0 = \ block-allocator cast dynamic-array \ - dynamic-stack exception heap \ + dynamic-stack exception allocator heap \ macros random sort static-stack \ marked-pointer int-type auto-link \ thread thread/thread thread/windows thread/pthreads thread/none timer \ dynamic-queue bitset-base bitset bitset-offset \ hw-rnd -SUPPORTSRC1 = $(SUPPORTSRC0:%=gecode/support/%.cpp) -SUPPORTHDR = gecode/support.hh \ +SUPPORTSRC1 = $(SUPPORTSRC0:%=gecode/support/%.cpp) +SUPPORTHDR = gecode/support.hh \ $(SUPPORTHDR0:%=gecode/support/%.hpp) -SUPPORTOBJ = $(SUPPORTSRC1:%.cpp=%$(OBJSUFFIX)) -SUPPORTSRC = $(SUPPORTSRC1) +SUPPORTOBJ = $(SUPPORTSRC1:%.cpp=%$(OBJSUFFIX)) +SUPPORTSRC = $(SUPPORTSRC1) export SUPPORTDLL = $(LIBPREFIX)@SUPPORT@$(DLLSUFFIX) export SUPPORTLIB = $(LIBPREFIX)@SUPPORT@$(LIBSUFFIX) @@ -194,7 +195,7 @@ VARIMP = $(VARIMPHDR) KERNELSRC0 = \ archive core memory-manager branch region \ - afc activity rnd + afc activity rnd exception trace-filter tracer KERNELHDR0 = \ archive array shared-array core exception \ @@ -204,11 +205,13 @@ KERNELHDR0 = \ brancher-view-sel brancher-merit \ brancher-val-sel brancher-val-commit brancher-view brancher-view-val \ brancher-val-sel-commit \ - allocators global-afc \ - afc activity rnd branch-traits + allocators print gpi \ + afc activity rnd branch-traits \ + trace-traits trace-filter tracer trace-recorder \ + subscribed-propagators -KERNELSRC = $(KERNELSRC0:%=gecode/kernel/%.cpp) -KERNELHDR = \ +KERNELSRC = $(KERNELSRC0:%=gecode/kernel/%.cpp) +KERNELHDR = \ gecode/kernel.hh gecode/kernel/wait.hh \ $(KERNELHDR0:%=gecode/kernel/%.hpp) KERNELOBJ = $(KERNELSRC:%.cpp=%$(OBJSUFFIX)) @@ -248,15 +251,24 @@ SEARCHSRC0 = \ parallel/engine \ dfs parallel/dfs \ bab parallel/bab \ - meta/rbs meta/nogoods sequential/path parallel/path + lds sequential/lds \ + sequential/path parallel/path \ + meta/rbs meta/nogoods meta/dead \ + meta/sequential/pbs meta/parallel/pbs \ + rbs pbs sebs exception SEARCHHDR0 = \ statistics.hpp stop.hpp options.hpp cutoff.hpp \ support.hh worker.hh exception.hpp \ + engine.hpp base.hpp build.hpp traits.hpp sebs.hpp \ sequential/path.hh sequential/dfs.hh sequential/bab.hh \ + sequential/lds.hh \ parallel/path.hh parallel/engine.hh \ parallel/dfs.hh parallel/bab.hh \ - meta/rbs.hh meta/nogoods.hh \ - dfs.hpp bab.hpp rbs.hpp engine.hpp engine-base.hpp + meta/rbs.hh meta/rbs.hpp meta/nogoods.hh meta/dead.hh \ + meta/sequential/pbs.hh meta/parallel/pbs.hh \ + meta/sequential/pbs.hpp meta/parallel/pbs.hpp \ + dfs.hpp bab.hpp lds.hpp rbs.hpp pbs.hpp \ + relax.hh SEARCHSRC = $(SEARCHSRC0:%=gecode/search/%.cpp) SEARCHHDR = gecode/search.hh $(SEARCHHDR0:%=gecode/search/%) @@ -288,7 +300,10 @@ export LINKSEARCH = export SEARCHRES = export SEARCHRC = endif -SEARCHBUILDDIRS = search search/sequential search/parallel search/meta +SEARCHBUILDDIRS = search \ + search/sequential search/parallel \ + search/meta \ + search/meta/sequential search/meta/parallel # # INTEGER COMPONENTS @@ -303,7 +318,7 @@ INTSRC0 = \ exec/when.cpp element/pair.cpp \ linear/int-post.cpp linear-int.cpp \ linear/bool-post.cpp linear-bool.cpp \ - branch.cpp distinct.cpp sorted.cpp gcc.cpp \ + branch.cpp distinct/eqite.cpp distinct.cpp sorted.cpp gcc.cpp \ channel.cpp channel/link-single.cpp channel/link-multi.cpp \ unshare.cpp sequence.cpp \ bin-packing.cpp bin-packing/propagate.cpp \ @@ -314,7 +329,10 @@ INTSRC0 = \ arithmetic/mult.cpp \ branch/view-sel.cpp branch/val-sel-commit.cpp \ branch/view-values.cpp \ - ldsb.cpp ldsb/sym-imp.cpp ldsb/sym-obj.cpp + relax.cpp \ + ldsb.cpp ldsb/sym-imp.cpp ldsb/sym-obj.cpp \ + trace.cpp trace/tracer.cpp \ + exception.cpp INTHDR0 = \ limits.hpp support-values.hh support-values.hpp \ @@ -341,6 +359,7 @@ INTHDR0 = \ distinct/graph.hpp distinct/dom-ctrl.hpp \ distinct/bnd.hpp distinct/dom.hpp \ distinct/val.hpp distinct/ter-dom.hpp \ + distinct/eqite.hpp \ dom/range.hpp dom/set.hpp \ element/int.hpp element/view.hpp element/pair.hpp \ gcc/bnd.hpp gcc/dom.hpp gcc/bnd-sup.hpp gcc/dom-sup.hpp \ @@ -364,7 +383,7 @@ INTHDR0 = \ distinct.hh dom.hh \ element.hh exception.hpp gcc.hh linear.hh \ reify.hpp propagator.hpp extensional.hh rel.hh \ - sorted.hh var-imp.hpp view.hpp \ + sorted.hh var-imp.hpp view.hpp ipl.hpp \ channel.hh channel/dom.hpp channel/val.hpp \ channel/base.hpp channel/link-single.hpp channel/link-multi.hpp \ sequence.hh sequence/int.hpp sequence/view.hpp \ @@ -373,16 +392,18 @@ INTHDR0 = \ bin-packing/conflict-graph.hpp \ task.hh task/fwd-to-bwd.hpp task/array.hpp task/sort.hpp \ task/iter.hpp task/tree.hpp task/purge.hpp task/prop.hpp \ - task/man-to-opt.hpp \ + task/man-to-opt.hpp task/event.hpp \ unary.hh unary/task.hpp unary/task-view.hpp \ unary/tree.hpp unary/overload.hpp unary/detectable.hpp \ - unary/not-first-not-last.hpp \ + unary/time-tabling.hpp unary/not-first-not-last.hpp \ unary/edge-finding.hpp unary/subsumption.hpp \ - unary/man-prop.hpp unary/opt-prop.hpp \ + unary/man-prop.hpp unary/opt-prop.hpp unary/post.hpp \ cumulative.hh cumulative/man-prop.hpp cumulative/opt-prop.hpp \ cumulative/task-view.hpp cumulative/overload.hpp \ - cumulative/basic.hpp cumulative/task.hpp cumulative/edge-finding.hpp \ + cumulative/time-tabling.hpp cumulative/task.hpp \ + cumulative/edge-finding.hpp cumulative/post.hpp \ cumulative/tree.hpp cumulative/limits.hpp \ + cumulative/subsumption.hpp \ cumulatives.hh cumulatives/val.hpp \ circuit.hh circuit/base.hpp circuit/val.hpp circuit/dom.hpp \ no-overlap.hh no-overlap/dim.hpp no-overlap/box.hpp \ @@ -396,7 +417,10 @@ INTHDR0 = \ val-set.hh val-set.hpp \ member.hh member/prop.hpp member/re-prop.hpp \ branch/afc.hpp branch/activity.hpp \ - ldsb.hh ldsb/brancher.hpp ldsb/sym-imp.hpp + ldsb.hh ldsb/brancher.hpp ldsb/sym-imp.hpp \ + trace.hpp \ + trace/bool-trace-view.hpp trace/int-trace-view.hpp \ + trace/bool-delta.hpp trace/int-delta.hpp trace/traits.hpp INTSRC = $(INTSRC0:%=gecode/int/%) INTHDR = gecode/int.hh $(INTHDR0:%=gecode/int/%) @@ -433,7 +457,7 @@ INTBUILDDIRS = \ int/channel int/arithmetic int/linear int/bool int/branch int/exec \ int/element int/sequence int/bin-packing \ int/unary int/cumulative int/cumulatives int/task \ - int/ldsb + int/ldsb int/distinct int/trace # # FLOAT COMPONENTS @@ -442,7 +466,10 @@ INTBUILDDIRS = \ FLOATSRC0 = \ var/float.cpp arithmetic.cpp array.cpp branch.cpp rel.cpp linear.cpp \ linear/post.cpp branch/activity.cpp rounding.cpp exec.cpp \ - branch/val-sel-commit.cpp branch/view-sel.cpp dom.cpp + branch/val-sel-commit.cpp branch/view-sel.cpp dom.cpp \ + relax.cpp \ + trace.cpp trace/tracer.cpp \ + exception.cpp FLOATHDR0 = \ var-imp.hpp array.hpp array-traits.hpp limits.hpp exception.hpp \ @@ -459,7 +486,8 @@ FLOATHDR0 = \ branch.hh branch/afc.hpp branch/activity.hpp branch/traits.hpp \ branch/var.hpp branch/val.hpp branch/assign.hpp \ branch/val-commit.hpp branch/val-sel.hpp branch/merit.hpp \ - num.hpp val.hpp rounding.hpp nextafter.hpp + num.hpp val.hpp rounding.hpp nextafter.hpp \ + trace.hpp trace/trace-view.hpp trace/delta.hpp trace/traits.hpp FLOATSRC = $(FLOATSRC0:%=gecode/float/%) FLOATHDR = gecode/float.hh $(FLOATHDR0:%=gecode/float/%) @@ -494,7 +522,8 @@ endif FLOATBUILDDIRS = \ float float/var float/var-imp float/view \ float/linear float/branch float/rel float/branch \ - float/arithmetic float/transcendental float/trigonometric + float/arithmetic float/transcendental float/trigonometric \ + float/trace # # SET COMPONENTS @@ -518,7 +547,10 @@ SETSRC0 = \ var-imp/integerset.cpp var/set.cpp \ exec.cpp branch/activity.cpp branch/view-sel.cpp \ branch/val-sel-commit.cpp branch/ngl.cpp \ - ldsb.cpp ldsb/sym-imp.cpp + ldsb.cpp ldsb/sym-imp.cpp \ + relax.cpp \ + trace.cpp trace/tracer.cpp \ + exception.cpp SETHDR0 = \ limits.hpp \ view.hpp exception.hpp int.hh element.hh var-imp.hpp \ @@ -548,7 +580,9 @@ SETHDR0 = \ branch/var.hpp branch/val.hpp branch/assign.hpp \ branch/merit.hpp branch/val-commit.hpp branch/val-sel.hpp \ branch/ngl.hpp \ - ldsb.hh ldsb/brancher.hpp channel.hh + ldsb.hh ldsb/brancher.hpp channel.hh \ + trace.hpp trace/trace-view.hpp trace/delta.hpp trace/traits.hpp + SETSRC = $(SETSRC0:%=gecode/set/%) SETHDR = gecode/set.hh $(SETHDR0:%=gecode/set/%) @@ -583,7 +617,7 @@ endif SETBUILDDIRS = \ set set/convex set/distinct set/int set/rel set/rel-op \ set/element set/sequence set/var set/var-imp set/view \ - set/branch set/channel set/ldsb + set/branch set/channel set/ldsb set/trace # @@ -594,7 +628,7 @@ MMSRC0 = \ int-expr.cpp int-rel.cpp int-arith.cpp bool-expr.cpp \ set-expr.cpp set-rel.cpp \ float-expr.cpp float-rel.cpp float-arith.cpp \ - reg.cpp optimize.cpp + reg.cpp optimize.cpp exception.cpp MMHDR0 = \ int-rel.hpp float-rel.hpp exception.hpp matrix.hpp \ bool-expr.hpp set-expr.hpp set-rel.hpp \ @@ -1163,7 +1197,7 @@ SEARCHTESTSRC0 = \ ARRAYTESTSRC0 = \ test/array.cpp -TESTSRC0 = test/test.cpp test/afc.cpp test/brancher-handle.cpp test/ldsb.cpp +TESTSRC0 = test/test.cpp test/afc.cpp test/ldsb.cpp test/region.cpp TESTSRC = \ $(TESTSRC0) $(INTTESTSRC0) $(SETTESTSRC0) $(FLOATTESTSRC0) \ @@ -1446,7 +1480,7 @@ export LINKALL = -F. -framework gecode else export LINKALL = \ $(LINKFLATZINC) $(LINKDRIVER) $(LINKGIST) \ - $(LINKSEARCH) $(LINKMM) $(LINKSET) $(LINKFLOAT) $(LINKINT) \ + $(LINKSEARCH) $(LINKMM) $(LINKSET) $(LINKFLOAT) $(LINKMPFR) $(LINKINT) \ $(LINKKERNEL) $(LINKSUPPORT) endif @@ -1719,7 +1753,7 @@ TESTRES = endif $(TESTEXE): $(TESTOBJ) $(TESTRES) $(ALLLIB) $(CXX) @EXEOUTPUT@$@ $(TESTOBJ) $(TESTRES) $(DLLPATH) $(CXXFLAGS) \ - $(LINKALL) $(GLDFLAGS) + $(LINKALL) $(GLDFLAGS) $(LINKQT) $(FIXMANIFEST) $@.manifest $(DLLSUFFIX) $(MANIFEST) -manifest $@.manifest -outputresource:$@\;1 @@ -2003,7 +2037,8 @@ distdoc: doc clean: $(RMF) *.stackdump core gmon.out \ - vc70.pdb vc80.pdb vc90.pdb vc100.pdb vc110.pdb vc120.pdb + vc70.pdb vc80.pdb vc90.pdb vc100.pdb vc110.pdb \ + vc120.pdb vc130.pdb vc140.pdb $(RMF) doxygen.log doxygen.hh doxygen.conf.use stat.hh \ changelog.hh doxygen.hh license.hh header.html $(RMF) $(ALLOBJ) $(ALLSBJ) $(ALLOBJ:%$(OBJSUFFIX)=%.pdb) @@ -2040,7 +2075,7 @@ distclean: veryclean $(RMF) config.log config.status Makefile.dep depend: mkcompiledirs - @$(MAKE) $(VARIMP) + @$(MAKE) $(VARIMP) gecode/flatzinc/parser.tab.hh perl $(top_srcdir)/misc/makedepend.perl \ $(top_srcdir) \ $(ALLSRC) \ diff --git a/changelog.in b/changelog.in index 214711198c..ca6e58d318 100644 --- a/changelog.in +++ b/changelog.in @@ -66,6 +66,704 @@ # optional section in the html page. # +[RELEASE] +Version: 5.0.0 +Date: 2016-10-31 +[DESCRIPTION] + +This release adds a number of new features and fixes many bugs +(some rather serious), so it is recommended to switch as soon as +possible to this release. Some highlights are: re-added limited +discrepancy search (LDS); added sequential and parallel +portfolio-based search (PBS); added support for groups of +propagators and branchers; added extensive tracing functionality +based on groups; propagators can be disabled and re-enabled; +support for arbitrary memory allocators; changed the notion of +"integer consistency level" to the more expressive concept +"integer propagation level". + +It is recommended to read the new Chapter in MPG on groups and +tracing. + +As the interfaces has changed, please consult +\ref PageHowToChange_5 "How to Change to Gecode 5.0.0". + +[ENTRY] +Module: set +What: bug +Rank: minor +[DESCRIPTION] +Fixed some idempotency problems in the n-ary union and weight propagators. + +[ENTRY] +Module: float +What: new +Rank: minor +[DESCRIPTION] +Added relax() function for relaxed assignment of float variables +from a previous solution, see MPG for details. + +[ENTRY] +Module: set +What: new +Rank: minor +[DESCRIPTION] +Added relax() function for relaxed assignment of set variables +from a previous solution, see MPG for details. + +[ENTRY] +Module: int +What: new +Rank: minor +[DESCRIPTION] +Added relax() function for relaxed assignment of integer and +Boolean variables from a previous solution, see MPG for details. + +[ENTRY] +Module: driver +What: new +Rank: minor +[DESCRIPTION] +The probability for relaxing variables in LNS can be passed with +the -relax commandline option. + +[ENTRY] +Module: int +What: bug +Rank: major +Thanks: Roberto Castañeda Lozano +[DESCRIPTION] +The domain consistent dom() constraint for integer ranges was +only bounds consistent... + +[ENTRY] +Module: minimodel +What: bug +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +Export BoolExpr::Misc for linking. + +[ENTRY] +Module: kernel +What: change +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +Do not declare new and delete of ArgArrayBase as private to +support the use of placement new. + +[ENTRY] +Module: driver +What: new +Rank: minor +[DESCRIPTION] +The discrepancy limit for Limited Discrepancy Search (LDS) can be +passed with the -d-l commandline option. + +[ENTRY] +Module: search +What: new +Rank: major +[DESCRIPTION] +Limited Discrepancy Search (LDS) added. Please see MPG for +details. + +[ENTRY] +Module: flatzinc +What: bug +Rank: major +Thanks: Mats Carlsson +[DESCRIPTION] +Fix the FlatZinc parser for cases where variables were aliased to a fixed +variable. + +[ENTRY] +Module: kernel +What: bug +Rank: major +Thanks: Matthias Balzer +[DESCRIPTION] +Fixed memory leak for regions (occured for many large allocation +requests). + +[ENTRY] +Module: float +What: bug +Rank: major +Thanks: Filip Konvicka +[DESCRIPTION] +Enable optimized rounding only if MSVC does not use SSE, +otherwise things really go wrong (necessary for MSVC 2015). + +[ENTRY] +Module: kernel +What: new +Rank: minor +[DESCRIPTION] +Added additional propagation cost level record() which is +reserved for propagators that record information but do not +propagate. + +[ENTRY] +Module: float +What: new +Rank: minor +[DESCRIPTION] +Added channeling constraint between float and Boolean variable. + +[ENTRY] +Module: float +What: bug +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +FloatValArgs erroneously inherited from PrimArgArray, now it +inherits from ArgArray. + +[ENTRY] +Module: minimodel +What: bug +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +Fixed memory leak in constructor for Boolean element expression. + +[ENTRY] +Module: minimodel +What: bug +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +Fixed special case handling for sqr and pow functions. + +[ENTRY] +Module: minimodel +What: bug +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +Removed bogus declarations of comparison operators between +Boolean variables and float expressions. + +[ENTRY] +Module: kernel +What: new +Rank: minor +[DESCRIPTION] +Propagators and branchers now have a fixed identity available by +id() member functions. + +[ENTRY] +Module: kernel +What: new +Rank: minor +Thanks: Gilles Pesant +[DESCRIPTION] +Added an iterator SubscribedPropagators that iterates over the +subscribed propagators of views and variable implementations. + +[ENTRY] +Module: kernel +What: change +Rank: minor +Thanks: Mirko Rahn +[DESCRIPTION] +Do not use local classes as this would requite C++-11. + +[ENTRY] +Module: int +What: bug +Rank: minor +[DESCRIPTION] +Fix n-ary lq/le propagator when used on arrays with variables occurring +multiply. + +[ENTRY] +Module: kernel +What: removed +Rank: major +[DESCRIPTION] +Removed brancher handles, they are subsumed by brancher groups. + +[ENTRY] +Module: other +What: bug +Rank: minor +[DESCRIPTION] +Fixed many small quirks in propagator rewriting, where the +information on which propagator is rewritten was omitted. + +[ENTRY] +Module: driver +What: new +Rank: minor +[DESCRIPTION] +Trace flags can be passed on the commandline. + +[ENTRY] +Module: float +What: new +Rank: major +[DESCRIPTION] +Added support for tracing propagation, please see MPG for details. + +[ENTRY] +Module: set +What: new +Rank: major +[DESCRIPTION] +Added support for tracing propagation, please see MPG for details. + +[ENTRY] +Module: int +What: new +Rank: major +[DESCRIPTION] +Added support for tracing propagation, please see MPG for details. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +Added support for tracing propagation, please see MPG for details. + +ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +All constraint post functions should now use the macro +GECODE_POST at their start: it will check for failure but also +will set group information useful for tracing. + +[ENTRY] +Module: kernel +What: bug +Rank: minor +[DESCRIPTION] +Some Gecode macros made the assumption that they can only be used +inside the Gecode namespace. Fixed. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +Added groups of branchers (class BrancherGroup) by which +groups of branchers can be controlled. See MPG for details. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +Added groups of propagators (class PropagatorGroup) by which +groups of propagators can be controlled. See MPG for details. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +Propagators can now be disabled and enabled (through +PropagatorGroups). See MPG for details. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +All propagators must implement a virtual member function +reschedule() that can be used to reschedule a propagator according +to its subscriptions. See MPG for more details. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +All variable implementation must implement an additional +reschedule() function that can be used to reschedule a propagator +according to its subscriptions. See MPG for more details. + +[ENTRY] +Module: kernel +What: change +Rank: minor +[DESCRIPTION] +The iterators over all propagators and branchers of a space are +not any longer accessible. Please use group iterators instead. + +[ENTRY] +Module: kernel +What: change +Rank: minor +[DESCRIPTION] +The member functions propagators() and branchers() of the class +Space have been removed as they can be expressed with groups. + +[ENTRY] +Module: other +What: bug +Rank: minor +Thanks: Mirko Rahn +[DESCRIPTION] +Made copy constructor for search engines private to trigger +compiler error when trying to copy a search engine. + +[ENTRY] +Module: other +What: bug +Rank: minor +Thanks: Mirko Rahn +[DESCRIPTION] +Fixed some linking issues for static linking. + +[ENTRY] +Module: support +What: new +Rank: major +[DESCRIPTION] +Gecode supports now arbitrary memory allocators (the behavior can +be controlled by the commandline options -enable-allocator and +-disable-allocator). For more details, please see MPG. + +[ENTRY] +Module: kernel +What: change +Rank: minor +Thanks: Conrad Drescher +[DESCRIPTION] +Added destructor to NGL class to avoid warnings. + +[ENTRY] +Module: kernel +What: bug +Rank: minor +Thanks: Matthias Balzer +[DESCRIPTION] +Fixed wrong type declaration in region_allocator::deallocate(). + +[ENTRY] +Module: float +What: bug +Rank: minor +Thanks: Conrad Drescher, Patrick Berg +[DESCRIPTION] +Fixed two infinite recursion bugs in related to use of hull(). + +[ENTRY] +Module: flatzinc +What: bug +Rank: minor +[DESCRIPTION] +Add missing declaration for bool_clause_reif builtin. + +[ENTRY] +Module: flatzinc +What: bug +Rank: minor +Thanks: Tommy Persson +[DESCRIPTION] +FlatZinc interpreter now does not try to post constraints if there was a +syntax error during parsing. + +[ENTRY] +Module: minimodel +What: bug +Rank: minor +Thanks: Roberto Castañeda Lozano, Matthias Balzer +[DESCRIPTION] +Fixed posting of Boolean element expressions and relations. + +[ENTRY] +Module: minimodel +What: bug +Rank: minor +Thanks: Joseph Scott +[DESCRIPTION] +Fix printing of regular expressions. + +[ENTRY] +Module: int +What: new +Rank: minor +[DESCRIPTION] +Added distinct-except-constant constraint. + +[ENTRY] +Module: int +What: new +Rank: minor +[DESCRIPTION] +Added distinct with optional variables. + +[ENTRY] +Module: flatzinc +What: change +Rank: minor +[DESCRIPTION] +Add support for the alldifferent_except_0 constraint by rewriting to a +global cardinality constraint. + +[ENTRY] +Module: flatzinc +What: change +Rank: minor +[DESCRIPTION] +The simple LNS using relax_and_reconstruct can now take an optional third +argument that is used as an initial solution. + +[ENTRY] +Module: search +What: change +Rank: minor +[DESCRIPTION] +The restart meta search engine must be used with the +branch-and-bound engine for best solution search. + +[ENTRY] +Module: search +What: change +Rank: minor +[DESCRIPTION] +For meta search engines, the order of template arguments has been +changed: the first is the script type, the second is the engine +type. + +[ENTRY] +Module: kernel +What: new +Rank: minor +[DESCRIPTION] +All branchers of a space can be killed by +BrancherGroup::all.kill(home). This is the default for the master() +function when using portfolio search. + +[ENTRY] +Module: kernel +What: new +Rank: major +[DESCRIPTION] +The clone() function takes an additional optional argument that defines +whether AFC information is shared among clones. + +[ENTRY] +Module: driver +What: new +Rank: minor +[DESCRIPTION] +The number of assets to use for portfolio-based search can be +passed on the commandline as -assets. + +[ENTRY] +Module: search +What: new +Rank: major +[DESCRIPTION] +Portfolio-based search has been added (both sequential and +parallel). Please see "Modeling and Programming with Gecode" for +details. + +[ENTRY] +Module: kernel +What: change +Rank: major +[DESCRIPTION] +The master() and slave() configuration functions has been changed +as they are now also used for portfolio-based search. Please see +"Modeling and Programming with Gecode" for details. + +[ENTRY] +Module: support +What: new +Rank: minor +[DESCRIPTION] +Classes can now inherit from HeapAllocated when using the Gecode +heap object for memory management. + +[ENTRY] +Module: search +What: bug +Rank: minor +[DESCRIPTION] +The restart engine would not properly delete some data structures +when being deleted. + +[ENTRY] +Module: int +What: new +Rank: minor +[DESCRIPTION] +Added some additional propagation to circuit and path +constraints, based on: Kathryn Glenn Francis, Peter Stuckey, +Explaining Circuit Propagation, Constraints (2014) 19:1-29. + +[ENTRY] +Module: kernel +What: new +Rank: minor +Thanks: Joseph Scott +[DESCRIPTION] +Missing = SUBSCRIBE annotations for modification events are +properly reported. + +[ENTRY] +Module: int +What: new +Rank: major +[DESCRIPTION] +The unary constraint now can also perform time-tabling propagation. + +[ENTRY] +Module: int +What: new +Rank: major +[DESCRIPTION] +The level of propagation of the cumulative constraint can now be +controlled via the integer propagation level argument. Please +consult Modeling and Programming with Gecode for details. + +[ENTRY] +Module: int +What: new +Rank: major +[DESCRIPTION] +The level of propagation of the unary constraint can now be +controlled via the integer propagation level argument. Please +consult Modeling and Programming with Gecode for details. + +[ENTRY] +Module: int +What: change +Rank: minor +[DESCRIPTION] +The selection for extensional table constraints whether to +optimize for speed or memory is now controlled by the integer +propagation level argument. The old argument of type +ExtensionalPropKind has been removed (the type has been removed +as well). + +[ENTRY] +Module: driver +What: change +Rank: major +[DESCRIPTION] +The commandline option -icl (for integer consistency level) has +been replaced by -ipl (for integer propagation level). All new +levels can be specified by a comma separated list as argument to +-ipl. + +[ENTRY] +Module: int +What: change +Rank: major +[DESCRIPTION] +The integer consistency level (IntConLevel) has been renamed to +integer propagation level (IntPropLevel). Additional levels for +speed, memory, basic, and advanced propagation have been added. +See Modeling and Programming with Gecode for details. + +[ENTRY] +Module: int +What: bug +Rank: major +Thanks: Kish Shen +[DESCRIPTION] +The count constraint with INT_GR relation was broken (off-by-one error). + +[ENTRY] +Module: example +What: change +Rank: minor +Thanks: Ananja Muddukrishna +[DESCRIPTION] +The bin-packing model did not use a best-fit solution for the +upper bound, but only a first-fit. + +[ENTRY] +Module: int +What: performance +Rank: minor +Thanks: Kish Shen +[DESCRIPTION] +Some count constraints are now optimized in case its arguments are +assigned. + +[ENTRY] +Module: other +What: change +Rank: minor +[DESCRIPTION] +Compiles with Visual Studio 2015. + +[ENTRY] +Module: int +What: bug +Rank: minor +Thanks: Kish Shen +[DESCRIPTION] +The binpacking constraint works even if all items are of size zero. + +[ENTRY] +Module: int +What: bug +Rank: minor +Thanks: Kish Shen +[DESCRIPTION] +Constrain bin variables even for zero-sized items in binpacking constraint. + +[ENTRY] +Module: flatzinc +What: bug +Rank: minor +[DESCRIPTION] +Fix a bug in the parser when parsing float variable domains. + +[ENTRY] +Module: int +What: new +Rank: minor +Thanks: Kish Shen +[DESCRIPTION] +Added variant of argmin and argmax with offset. + +[ENTRY] +Module: flatzinc +What: change +Rank: minor +Thanks: Pete Nightingale +[DESCRIPTION] +Make bounds propagation the default for global cardinality constraints +in FlatZinc. + +[ENTRY] +Module: flatzinc +What: change +Rank: minor +[DESCRIPTION] +Add support for generating the FlatZinc parser using bison version 3. + +[ENTRY] +Module: flatzinc +What: bug +Rank: major +Thanks: Andrea Rendl +[DESCRIPTION] +Fix branching on introduced variables, which could sometimes lead to +unassigned variables appearing in the output. + +[ENTRY] +Module: flatzinc +What: bug +Rank: minor +Thanks: Jean-Noël Monette +[DESCRIPTION] +Improve error messages in FlatZinc for some type errors. + + [RELEASE] Version: 4.4.0 Date: 2015-03-20 @@ -277,7 +975,7 @@ What: bug Rank: minor Thanks: Björn Böttcher [DESCRIPTION] -Fix behaviour of -a command line option for satisfaction problems. +Fix behavior of -a command line option for satisfaction problems. [ENTRY] Module: flatzinc @@ -316,7 +1014,7 @@ Module: test What: new Rank: major [DESCRIPTION] -Added long-overdues tests for the FlatZinc interpreter. +Added long-overdue tests for the FlatZinc interpreter. [ENTRY] Module: other diff --git a/configure b/configure index 9a38c42823..de0b02e8f0 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac Id: configure.ac 14383 2015-01-26 14:46:08Z schulte . +# From configure.ac Id: configure.ac 14964 2016-04-19 12:28:31Z schulte . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GECODE 4.4.0. +# Generated by GNU Autoconf 2.69 for GECODE 5.0.0. # # Report bugs to . # @@ -581,8 +581,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='GECODE' PACKAGE_TARNAME='gecode' -PACKAGE_VERSION='4.4.0' -PACKAGE_STRING='GECODE 4.4.0' +PACKAGE_VERSION='5.0.0' +PACKAGE_STRING='GECODE 5.0.0' PACKAGE_BUGREPORT='users@gecode.org' PACKAGE_URL='' @@ -798,6 +798,7 @@ enable_debug enable_peakheap enable_small_codesize enable_leak_debug +enable_allocator enable_audit enable_profile enable_gcov @@ -1377,7 +1378,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GECODE 4.4.0 to adapt to many kinds of systems. +\`configure' configures GECODE 5.0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1438,7 +1439,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GECODE 4.4.0:";; + short | recursive ) echo "Configuration of GECODE 5.0.0:";; esac cat <<\_ACEOF @@ -1456,6 +1457,7 @@ Optional Features: --enable-small-codesize optimize for code size [default=no] --enable-leak-debug build with support for finding memory leaks [default=no] + --enable-allocator build with default memory allocator [default=yes] --enable-audit build with auditing code [default=no] --enable-profile build with profiling information [default=no] --enable-gcov build with gcov support [default=no] @@ -1582,7 +1584,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GECODE configure 4.4.0 +GECODE configure 5.0.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2260,7 +2262,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GECODE $as_me 4.4.0, which was +It was created by GECODE $as_me 5.0.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2615,7 +2617,7 @@ ac_config_headers="$ac_config_headers gecode/support/config.hpp" -ac_gecode_soversion=41 +ac_gecode_soversion=43 GECODE_SOVERSION=${ac_gecode_soversion} ac_gecode_flatzincversion=1.6 @@ -2676,6 +2678,9 @@ GECODE_FLATZINC_VERSION=${ac_gecode_flatzincversion} + + + @@ -5648,6 +5653,24 @@ fi $as_echo "no" >&6; } fi +# Check whether --enable-allocator was given. +if test "${enable_allocator+set}" = set; then : + enableval=$enable_allocator; +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with default memory allocator" >&5 +$as_echo_n "checking whether to build with default memory allocator... " >&6; } + if test "${enable_allocator:-yes}" = "yes"; then + +$as_echo "#define GECODE_ALLOCATOR /**/" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + # Check whether --enable-audit was given. if test "${enable_audit+set}" = set; then : enableval=$enable_audit; @@ -12361,8 +12384,8 @@ $as_echo "no" >&6; } HAVE_FLEXBISON="no" else - if bison --version | \ - grep -e ' 2\.[3-9][0-9]*' >/dev/null 2>&1 + if bison --version | grep -e ' 2\.[3-9][0-9]*' >/dev/null 2>&1 || + bison --version | grep -e ' 3\.*' >/dev/null 2>&1 then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -13323,7 +13346,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GECODE $as_me 4.4.0, which was +This file was extended by GECODE $as_me 5.0.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13385,7 +13408,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GECODE config.status 4.4.0 +GECODE config.status 5.0.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 20f9578725..d7ee8f82f1 100644 --- a/configure.ac +++ b/configure.ac @@ -41,11 +41,11 @@ dnl AC_REVISION([$Id$]) AC_PREREQ(2.53) -AC_INIT(GECODE, 4.4.0, users@gecode.org) +AC_INIT(GECODE, 5.0.0, users@gecode.org) AC_CONFIG_HEADERS([gecode/support/config.hpp]) AC_CONFIG_SRCDIR(gecode/kernel.hh) -ac_gecode_soversion=41 +ac_gecode_soversion=43 AC_SUBST(GECODE_SOVERSION, ${ac_gecode_soversion}) ac_gecode_flatzincversion=1.6 AC_SUBST(GECODE_FLATZINC_VERSION, ${ac_gecode_flatzincversion}) @@ -139,6 +139,9 @@ AC_GECODE_CODESIZE dnl check whether we want to have support for finding memory leaks AC_GECODE_LEAK_DEBUG +dnl check whether we want to use default memory allocator +AC_GECODE_ALLOCATOR + dnl check whether we want audit code in our build AC_GECODE_AUDIT diff --git a/configure.ac.in b/configure.ac.in index 459be27a3c..6b6a4b2ed1 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -37,11 +37,11 @@ dnl AC_REVISION([$Id$]) AC_PREREQ(2.53) -AC_INIT(GECODE, 4.4.0, users@gecode.org) +AC_INIT(GECODE, 5.0.0, users@gecode.org) AC_CONFIG_HEADERS([gecode/support/config.hpp]) AC_CONFIG_SRCDIR(gecode/kernel.hh) -ac_gecode_soversion=41 +ac_gecode_soversion=43 AC_SUBST(GECODE_SOVERSION, ${ac_gecode_soversion}) ac_gecode_flatzincversion=1.6 AC_SUBST(GECODE_FLATZINC_VERSION, ${ac_gecode_flatzincversion}) @@ -135,6 +135,9 @@ AC_GECODE_CODESIZE dnl check whether we want to have support for finding memory leaks AC_GECODE_LEAK_DEBUG +dnl check whether we want to use default memory allocator +AC_GECODE_ALLOCATOR + dnl check whether we want audit code in our build AC_GECODE_AUDIT diff --git a/contribs/qecode/AbstractWorker.hh b/contribs/qecode/AbstractWorker.hh index cacc2755cf..a3367df1cc 100755 --- a/contribs/qecode/AbstractWorker.hh +++ b/contribs/qecode/AbstractWorker.hh @@ -1,5 +1,5 @@ - /**** , [ Worker.hh ], -Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard + /**** , [ Worker.hh ], +Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/contribs/qecode/Makefile.in.in b/contribs/qecode/Makefile.in.in index 33913541bf..acd10dbb0e 100644 --- a/contribs/qecode/Makefile.in.in +++ b/contribs/qecode/Makefile.in.in @@ -34,7 +34,7 @@ endif # QECODESRC0 = QCOPPlus.cc myspace.cc OptVar.cc qsolver_qcop.cc qsolver_qcsp.cc Strategy.cc StrategyNode.cc QCSPPlusUnblockable.cc qsolver_unblockable.cc UnblockableViewValBranching.cc Work.cc Worker.cc WorkManager.cc qsolver_parallel.cc -QECODEHDR0 = +QECODEHDR0 = QECODESRC = $(QECODESRC0) @@ -51,13 +51,13 @@ LINKQECODE = $(LINKPREFIX)@QECODE@$(LINKSUFFIX) LINKALL := $(LINKALL) $(LINKQECODE) -ALLLIB := $(ALLLIB) $(QECODELIB) +ALLLIB := $(ALLLIB) $(QECODELIB) ifeq "@BUILDDLL@" "yes" DLLTARGETS = $(QECODEDLL) else -DLTARGETS= +DLTARGETS= endif ifeq "@BUILDSTATIC@" "yes" @@ -70,7 +70,7 @@ endif LIBTARGETS= $(DLLTARGETS) $(STATICTARGETS) -all : $(LIBTARGETS) +all : $(LIBTARGETS) # # Object targets @@ -115,31 +115,31 @@ $(QECODESTATICLIB): $(QECODEOBJ) $(AR) $(ARFLAGS) $@ $(QECODEOBJ) $(RANLIB) $@ -# +# # EXE targets # # #for linux: ? -CXXFLAGS := $(CXXFLAGS) $(QECODEFLAGS) +CXXFLAGS := $(CXXFLAGS) $(QECODEFLAGS) # # Autoconf # -$(qecode_top_srcdir)/configure: $(qecode_top_srcdir)/configure.ac +$(qecode_top_srcdir)/configure: $(qecode_top_srcdir)/configure.ac (cd $(qecode_top_srcdir) && autoconf) config.status: $(qecode_top_srcdir)/configure ../../config.status --recheck ./config.status --recheck # use the sustitutions from gecode to generate the Makefile.in -Makefile.in: $(qecode_top_srcdir)/Makefile.in.in ../../config.status +Makefile.in: $(qecode_top_srcdir)/Makefile.in.in ../../config.status ../../config.status \ --file Makefile.in:$(qecode_top_srcdir)/Makefile.in.in # use the sustitutions from configure to generate the Makefile -Makefile: Makefile.in ./config.status +Makefile: Makefile.in ./config.status ./config.status --file ./Makefile:./Makefile.in @@ -157,6 +157,6 @@ distclean: veryclean $(RMF) config.log config.status .PHONY: doc -doc: $(QECODEHDR) $(QECODESRC) +doc: $(QECODEHDR) $(QECODESRC) mkdir -p doc/html doxygen doxygen.conf diff --git a/contribs/qecode/OptVar.cc b/contribs/qecode/OptVar.cc index bb4a60fac5..df4e1f9fcf 100644 --- a/contribs/qecode/OptVar.cc +++ b/contribs/qecode/OptVar.cc @@ -1,5 +1,5 @@ -/**** , [ OptVar.cc ], -Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard +/**** , [ OptVar.cc ], +Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -33,11 +33,11 @@ int ExistOptVar::getVal(Strategy s) { if (s.isFalse()) {cout<<"EOV "< scopeId) {cout<<"EOV "< values; values.clear(); if (s.isFalse()) {cout<<"UOV Try to get opt value on FALSE"<eval(values); + if (s.isTrue()) return fct->eval(values); if (s.isDummy()) { for (int i=0;igetVal(s.getChild(i))); @@ -67,7 +67,7 @@ int UnivOptVar::getVal(Strategy s) { } return fct->eval(values); } - + if (s.scope() < (scopeId-1) ) { if (s.quantifier()) {cout<<"UOV universal scope too soon"< /** \brief Abstract class for an Aggregator -* +* * An aggregator is defined as a function Multiset_of_int -> int. From an implementation * point of view, this multiset is a vector of int. */ @@ -44,7 +44,7 @@ class QECODE_VTABLE_EXPORT AggregatorSum : public Aggregator{ public: QECODE_EXPORT virtual int eval(vector values) { int cpt=0; - for (int i=0;iv[var] = new IntVar(*rules[i],min,max); rules[i]->type_of_v[var] = VTYPE_INT; @@ -96,7 +96,7 @@ void Qcop::QIntVar(int var,IntSet dom) { cout<<"Variable "<v[var] = new IntVar(*rules[i],dom); rules[i]->type_of_v[var] = VTYPE_INT; @@ -113,7 +113,7 @@ void Qcop::QBoolVar(int var) { cout<<"Variable "<v[var] = new BoolVar(*rules[i],0,1); rules[i]->type_of_v[var]=VTYPE_BOOL; @@ -173,13 +173,13 @@ void Qcop::makeStructure() { abort(); } } - + for (int i=0;inbSpaces;i++) { if (rules[i]->status() == SS_FAILED) { cout<<"MakeStructure : rule space "<status() == SS_FAILED) { cout<<"MakeStructure : goal space is already failed."<getScope() < scope) {cout<<"aggregated variable out of aggregator scope"<getScope();i++) // Universelle entre aggregateur et variable aggrŽgŽe - if (Quantifiers[i]) + if (Quantifiers[i]) {cout<<"Universal scope between variable and aggregator"<optim[i]; nbvbs[i] = this->nbVarBySpace[i]; } - + // void** v = new void*[this->n]; VarType* typeofv = new VarType[n]; int* wso = new int[n]; @@ -287,7 +287,7 @@ Qcop* Qcop::clone() { typeofv[i] = this->type_of_v[i]; wso[i] = this->whichSpaceOwns[i]; } - + Qcop* ret = new Qcop(); ret->nvar = nvv; ret->n = this->n; diff --git a/contribs/qecode/QCOPPlus.hh b/contribs/qecode/QCOPPlus.hh index f6a6c960bf..882386e9d3 100755 --- a/contribs/qecode/QCOPPlus.hh +++ b/contribs/qecode/QCOPPlus.hh @@ -1,16 +1,16 @@ -/**** , [ QCOPPlus.hh ], - Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard - +/**** , [ QCOPPlus.hh ], + Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -42,7 +42,7 @@ private: int nbSpaces; // void** v; VarType* type_of_v; - + bool* Quantifiers; MySpace** rules; MySpace* goal; @@ -50,30 +50,30 @@ private: int* nbVarBySpace; int* whichSpaceOwns; bool* varInitialised; - + int currentDeclareSpace; Qcop() {} public: forceinline QECODE_EXPORT int nv() {return n;} - + /** \brief Default constructor for a restricted-quantified space * * This is the first step for building a QCSP+/QCOP+ problem. The prefix is defined here. * @param ns The number of scopes in the prefix. * @param quant Array of booleans which contains the quantifier of every scope (true for universal, false for existential). * @param nv Array of integer which contains the number of variables by scope. - */ + */ QECODE_EXPORT Qcop(int ns, bool* quant,int* nv); QECODE_EXPORT ~Qcop(); - + /** \brief Defines an integer variable in the quantified space * * Defines an integer variable in the quantifies space using a fully declared domain. * @param var Number of the variable to be defined. * @param dom The initial domain of the variable. - */ + */ QECODE_EXPORT void QIntVar(int var,int min,int max); - + /** \brief Defines an integer variable in the quantified space * * Defines an integer variable in the quantifies space using a fully declared domain. @@ -81,41 +81,41 @@ public: * @param dom The initial domain of the variable. */ QECODE_EXPORT void QIntVar(int var,IntSet dom); - + /** \brief Defines a boolean variable in the quantified space * * Defines a boolean variable with a full initial domain in the quantified space. * @param var Number of the variable to be defined. */ QECODE_EXPORT void QBoolVar(int var); - + /** \brief Returns the current declarating space * * Return the space we are currently declarating constraints in. nextScope() is used to set the nextspace as the current one. - */ + */ QECODE_EXPORT MySpace* space(); - + /** \brief Returns an integer variable from the space we are currently declaring * * Returns an integer variable from the cpace we are currently declaring. Will abort if the variable is not integer. * @param n The number of the variable to return. */ QECODE_EXPORT IntVar var(int n); - + /** \brief Returns a boolean variable from the space we are currently declaring * * Returns a boolean variable from the space we are currently declaring. Will abort if the variable is not boolean. * @param n The number of the variable to return. */ QECODE_EXPORT BoolVar bvar(int n); - + /** \brief Switch to the next space for constraint declaration * * Switches to the next space for constraint declaration. var, bvar and space methods will now refer to the next rule space (or to the goal space if the current space was the last rule one). * Returns the new space number, or -1 if it was called while there was no next space to declare constraints in. */ QECODE_EXPORT int nextScope(); - + /** \brief Finalizes the object construction * * Finalizes the restricted-quantified space construction. Must be invoked once all the variable and all the constraints have been declared, and before the search is performed on this space. @@ -123,7 +123,7 @@ public: * For the existential scopes on which an optimization condition have not been defined yet, this method will post a "Any" optimization condition (i.e. do not optimize). */ QECODE_EXPORT void makeStructure(); - + /** \brief returns an aggregate of the problem * * Creates an aggregate at a given universal scope. This aggregate is an optimization variable that an existential scope can use for optimizing. @@ -132,25 +132,25 @@ public: * @param agg The aggregator function that will be used for this aggregate. */ QECODE_EXPORT OptVar* getAggregate(int scope, OptVar* opt, Aggregator* agg); - + /** returns an existential optimization variable * - * Creates an optimization variable that will have the value of an existential variable defined in the problem. + * Creates an optimization variable that will have the value of an existential variable defined in the problem. * @param var the number of the existential variable that must be considered */ QECODE_EXPORT OptVar* getExistential(int var); - + /** set an optimization condition on an existential scope * * set an optimization condition on a given existential scope of the problem. An optimizaiton condition is composed of an optimization variable (aggregate or existential variable), and of an - * optimization type. + * optimization type. * @param scope the scope on which the optimization condition is posted. Must be existential. * @param optType the optimization type of the condision we post. 0 is for ANY, 1 is for MIN, 2 is for MAX. * @param var the optimization variable to be minimized/maximized */ QECODE_EXPORT void optimize(int scope, int optType, OptVar* var); // QECODE_EXPORT void print(); - + QECODE_EXPORT forceinline bool qt_of_var(int v) { return Quantifiers[whichSpaceOwns[v]];} ///< returns uantifier of variable 'v' QECODE_EXPORT forceinline bool quantification(int scope) {return Quantifiers[scope];} ///< returns quantifier of scope 'scope' QECODE_EXPORT int spaces(); ///< returns the number of scopes of the problem diff --git a/contribs/qecode/QCSPPlusUnblockable.cc b/contribs/qecode/QCSPPlusUnblockable.cc index cfe456d8ae..7e83c12e53 100755 --- a/contribs/qecode/QCSPPlusUnblockable.cc +++ b/contribs/qecode/QCSPPlusUnblockable.cc @@ -1,5 +1,5 @@ -/**** , [ QCSPPlusUnblockable.cc ], -Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard +/**** , [ QCSPPlusUnblockable.cc ], +Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -45,7 +45,7 @@ QcspUnblockable::QcspUnblockable(int ns,bool* quant,int* nv) { arul=new MySpace(n); goal = new MySpace(n); - + for(unsigned int i=0;i[nbSpaces]; bvars = new vector[nbSpaces]; } @@ -76,7 +76,7 @@ void QcspUnblockable::QIntVar(int var,int min,int max) { abort(); } // cout<<"Qintvar : arul = "<v[var] = new IntVar(*arul,min,max); arul->type_of_v[var] = VTYPE_INT; @@ -91,7 +91,7 @@ void QcspUnblockable::QIntVar(int var,IntSet dom) { cout<<"Variable "<v[var] = new IntVar(*arul,dom); arul->type_of_v[var] = VTYPE_INT; goal->v[var] = new IntVar(*goal,dom); @@ -106,7 +106,7 @@ void QcspUnblockable::QBoolVar(int var) { cout<<"Variable "<v[var] = new BoolVar(*arul,0,1); arul->type_of_v[var]=VTYPE_BOOL; goal->v[var] = new BoolVar(*goal,0,1); @@ -171,7 +171,7 @@ void QcspUnblockable::makeStructure() { unsigned int nbint=0; unsigned int nbbool=0; for (unsigned int j=0;j(ret->v[idx]) ); } br->branch(ret,iva,bva); - + return ret; } diff --git a/contribs/qecode/QCSPPlusUnblockable.hh b/contribs/qecode/QCSPPlusUnblockable.hh index 89ef4968ff..8f11e25abd 100755 --- a/contribs/qecode/QCSPPlusUnblockable.hh +++ b/contribs/qecode/QCSPPlusUnblockable.hh @@ -1,5 +1,5 @@ -/**** , [ QCSPPlusUnblockable.hh ], -Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard +/**** , [ QCSPPlusUnblockable.hh ], +Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -35,8 +35,8 @@ using namespace std; using namespace Gecode; class QECODE_VTABLE_EXPORT QcspUnblockable { -private : - +private : + int n; int nbSpaces; void** v; @@ -51,28 +51,28 @@ private : vector* vars; vector* bvars; MySpace* arul; - + public: QECODE_EXPORT int nv() {return n;} - + /** \brief Default constructor for a restricted-quantified space * * This is the first step for building a QCSP+/QCOP+ problem. The prefix is defined here. * @param ns The number of scopes in the prefix. * @param quant Array of booleans which contains the quantifier of every scope (true for universal, false for existential). * @param nv Array of integer which contains the number of variables by scope. - */ + */ QECODE_EXPORT QcspUnblockable(int ns, bool* quant,int* nv); QECODE_EXPORT ~QcspUnblockable(); - + /** \brief Defines an integer variable in the quantified space * * Defines an integer variable in the quantifies space using a fully declared domain. * @param var Number of the variable to be defined. * @param dom The initial domain of the variable. - */ + */ QECODE_EXPORT void QIntVar(int var,int min,int max); - + /** \brief Defines an integer variable in the quantified space * * Defines an integer variable in the quantifies space using a fully declared domain. @@ -80,41 +80,41 @@ public: * @param dom The initial domain of the variable. */ QECODE_EXPORT void QIntVar(int var,IntSet dom); - + /** \brief Defines a boolean variable in the quantified space * * Defines a boolean variable with a full initial domain in the quantified space. * @param var Number of the variable to be defined. */ QECODE_EXPORT void QBoolVar(int var); - + /** \brief Returns the current declarating space * * Return the space we are currently declarating constraints in. nextScope() is used to set the nextspace as the current one. - */ + */ QECODE_EXPORT MySpace* space(); - + /** \brief Returns an integer variable from the space we are currently declaring * * Returns an integer variable from the cpace we are currently declaring. Will abort if the variable is not integer. * @param n The number of the variable to return. */ QECODE_EXPORT IntVar var(int n); - + /** \brief Returns a boolean variable from the space we are currently declaring * * Returns a boolean variable from the space we are currently declaring. Will abort if the variable is not boolean. * @param n The number of the variable to return. */ QECODE_EXPORT BoolVar bvar(int n); - + /** \brief Switch to the next space for constraint declaration * * Switches to the next space for constraint declaration. var, bvar and space methods will now refer to the next rule space (or to the goal space if the current space was the last rule one). * Returns the new space number, or -1 if it was called while there was no next space to declare constraints in. */ QECODE_EXPORT int nextScope(); - + /** \brief Finalizes the object construction * * Finalizes the restricted-quantified space construction. Must be invoked once all the variable and all the constraints have been declared, and before the search is performed on this space. @@ -122,19 +122,19 @@ public: * For the existential scopes on which an optimization condition have not been defined yet, this method will post a "Any" optimization condition (i.e. do not optimize). */ QECODE_EXPORT void makeStructure(); - + QECODE_EXPORT bool qt_of_var(int v); ///< returns uantifier of variable 'v' QECODE_EXPORT bool quantification(int scope) {return Quantifiers[scope];} ///< returns quantifier of scope 'scope' QECODE_EXPORT int spaces(); ///< returns the number of scopes of the problem QECODE_EXPORT int nbVarInScope(int scope) {return nbVarBySpace[scope];}///< returns the number of variables present in scope 'scope' QECODE_EXPORT MySpace* getSpace(int scope);///< returns a copy of the Gecode::Space corresponding to the scope-th restricted quantifier of the problem QECODE_EXPORT MySpace* getGoal(); - + /** \brief sets the branching heuristic - * - * Declares the branching heuristic that will be used to solve this problem. + * + * Declares the branching heuristic that will be used to solve this problem. */ - QECODE_EXPORT void branch(UnblockableBranching* b); + QECODE_EXPORT void branch(UnblockableBranching* b); }; #endif diff --git a/contribs/qecode/Strategy.cc b/contribs/qecode/Strategy.cc index 0adaeef5ce..697ec1db1e 100644 --- a/contribs/qecode/Strategy.cc +++ b/contribs/qecode/Strategy.cc @@ -1,16 +1,16 @@ -/**** , [ bobocheTree.cc ], - Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard - +/**** , [ bobocheTree.cc ], + Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -28,8 +28,8 @@ StrategyImp::StrategyImp() { zetag=StrategyNode::Dummy(); todos=0; father=NULL; -} - +} + void StrategyImp::todosUpdate(int i) { todos += i; if (father != NULL) father->todosUpdate(i); @@ -76,7 +76,7 @@ Strategy::Strategy(bool qt,int VMin, int VMax, int scope, vector values) { StrategyNode tag(2,qt,VMin,VMax,scope); tag.valeurs=values; imp = new StrategyImp(tag); - + } @@ -177,7 +177,7 @@ void Strategy::attach(Strategy child) { } void Strategy::detach(Strategy son) { - + vector::iterator it = imp->nodes.begin(); while (it != (imp->nodes.end()) && ( (*it).id() != son.id())) { it++;} @@ -191,7 +191,7 @@ void Strategy::detach(Strategy son) { void Strategy::detach(unsigned int i) { if (imp->nodes.size() < i) return; - + vector::iterator it = imp->nodes.begin()+i; todosUpdate(0-((*it).imp->todos)); (*it).imp->father=NULL; @@ -200,7 +200,7 @@ void Strategy::detach(unsigned int i) { Strategy Strategy::STrue() { Strategy ret(StrategyNode::STrue()); - return ret; + return ret; } Strategy Strategy::SFalse() { @@ -249,5 +249,5 @@ int Strategy::checkIntegrity() { } return ret; } - + diff --git a/contribs/qecode/Strategy.hh b/contribs/qecode/Strategy.hh index 73e4ac1038..b82b17a103 100644 --- a/contribs/qecode/Strategy.hh +++ b/contribs/qecode/Strategy.hh @@ -1,16 +1,16 @@ -/**** , [ bobocheTree.hh ], - Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard - +/**** , [ bobocheTree.hh ], + Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -41,17 +41,17 @@ private: StrategyImp* father; void todosUpdate(int i); StrategyImp(); - + public: StrategyImp(StrategyNode tag); - ~StrategyImp(); + ~StrategyImp(); }; /** \brief Strategy of a QCSP+ problem * * This class represents a solution of a QCSP+. Basically it consists in the tree-representation of the winning strategy. - * 3 spacial cases exists : the trivially true strategy, the trivially false strategy (used for the UNSAT answer), - * and the "Dummy" node, used to link together each tree of a strategy which first player is universal (such a strategy is not a tree but a forest) + * 3 spacial cases exists : the trivially true strategy, the trivially false strategy (used for the UNSAT answer), + * and the "Dummy" node, used to link together each tree of a strategy which first player is universal (such a strategy is not a tree but a forest) */ class QECODE_VTABLE_EXPORT Strategy { friend class StrategyImp; @@ -62,19 +62,19 @@ private: public: QECODE_EXPORT Strategy(); ///< default constructor QECODE_EXPORT Strategy(StrategyNode tag); ///< builds a strategy on a given strategy node (deprecated) - + /* \brief builds a one node (sub)strategy * - * this method builds a one-node strategy that will typically be attached as child of another strategy. A strategy node embeds informations about quantification, + * this method builds a one-node strategy that will typically be attached as child of another strategy. A strategy node embeds informations about quantification, * scope and values of variables that must be provided * @param qt quantifier of the scope this node represents * @param VMin index of the first variable of the scope this node represents * @param VMax index of the last variable of the scope this node represents * @param values values taken by the variables between VMin and VMax in this part of the strategy */ - QECODE_EXPORT Strategy(bool qt,int VMin, int VMax, int scope,vector values); + QECODE_EXPORT Strategy(bool qt,int VMin, int VMax, int scope,vector values); QECODE_EXPORT Strategy(const Strategy& tree); ///< copy constructor - QECODE_EXPORT Strategy& operator = (const Strategy& rvalue); + QECODE_EXPORT Strategy& operator = (const Strategy& rvalue); QECODE_EXPORT ~Strategy(); QECODE_EXPORT StrategyNode getTag();///< DEPRECATED returns the StrategyNode object corresponding to the root of this strategy QECODE_EXPORT forceinline unsigned int degree() {return imp->nodes.size();}///< returns this strategy's number of children @@ -88,9 +88,9 @@ public: QECODE_EXPORT forceinline bool isFalse() {return imp->zetag.isFalse();} ///< returns wether this strategy represents the UNSAT answer QECODE_EXPORT forceinline bool isTrue() {return imp->zetag.isTrue();} ///< returns wether this strategy is trivially true QECODE_EXPORT forceinline bool isComplete() {return ((imp->todos) == 0);} ///< returns wether this is a complete sub-strategy (without todo nodes) - QECODE_EXPORT forceinline bool isDummy() {return imp->zetag.isDummy();} ///< returns wether this strategy is a set of + QECODE_EXPORT forceinline bool isDummy() {return imp->zetag.isDummy();} ///< returns wether this strategy is a set of QECODE_EXPORT forceinline bool isTodo() {return imp->zetag.isTodo();} ///< return wether this strategy is a "ToDo" marker or not - + QECODE_EXPORT static Strategy STrue(); ///< returns the trivially true strategy QECODE_EXPORT static Strategy SFalse(); ///< returns the trivially false strategy QECODE_EXPORT static Strategy Dummy(); ///< returns a "dummy" node @@ -104,7 +104,7 @@ public: QECODE_EXPORT forceinline void* id() {return imp;} ///< Return an identifier for this strategy (this identifier is shared among multiples instances of this strategy) QECODE_EXPORT vector getPosition(); QECODE_EXPORT forceinline int nbTodos() {return imp->todos;} - + QECODE_EXPORT int checkIntegrity(); }; diff --git a/contribs/qecode/StrategyNode.cc b/contribs/qecode/StrategyNode.cc index e5af489fbf..922d64dc79 100644 --- a/contribs/qecode/StrategyNode.cc +++ b/contribs/qecode/StrategyNode.cc @@ -1,5 +1,5 @@ -/**** , [ StrategyNode.cc ], -Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard +/**** , [ StrategyNode.cc ], +Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/contribs/qecode/StrategyNode.hh b/contribs/qecode/StrategyNode.hh index f7f8099010..2274d89220 100644 --- a/contribs/qecode/StrategyNode.hh +++ b/contribs/qecode/StrategyNode.hh @@ -1,5 +1,5 @@ -/**** , [ StrategyNode.hh ], -Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard +/**** , [ StrategyNode.hh ], +Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -32,7 +32,7 @@ public: int Vmax; int scope; vector valeurs; - + QECODE_EXPORT StrategyNode(); QECODE_EXPORT StrategyNode(int type,bool qt,int Vmin, int Vmax, int scope); QECODE_EXPORT ~StrategyNode(); diff --git a/contribs/qecode/UnblockableBranching.hh b/contribs/qecode/UnblockableBranching.hh index 9c4ed57be6..b9548fde18 100755 --- a/contribs/qecode/UnblockableBranching.hh +++ b/contribs/qecode/UnblockableBranching.hh @@ -1,5 +1,5 @@ -/**** , [ UnblockableBranching.hh ], -Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard +/**** , [ UnblockableBranching.hh ], +Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/contribs/qecode/UnblockableViewValBranching.cc b/contribs/qecode/UnblockableViewValBranching.cc index f4e01b18b5..af63201c9b 100755 --- a/contribs/qecode/UnblockableViewValBranching.cc +++ b/contribs/qecode/UnblockableViewValBranching.cc @@ -1,5 +1,5 @@ -/**** , [ UnblockableViewValBranching.cc ], -Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard +/**** , [ UnblockableViewValBranching.cc ], +Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/contribs/qecode/UnblockableViewValBranching.hh b/contribs/qecode/UnblockableViewValBranching.hh index eb509fb6c9..819ca729aa 100755 --- a/contribs/qecode/UnblockableViewValBranching.hh +++ b/contribs/qecode/UnblockableViewValBranching.hh @@ -1,5 +1,5 @@ -/**** , [ UnblockableViewValBranching.hh ], -Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard +/**** , [ UnblockableViewValBranching.hh ], +Copyright (c) 2009 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -34,7 +34,7 @@ private : IntValBranch ivlb; IntValBranch bvlb; bool before; - + public : QECODE_EXPORT UnblockableViewValBranching(IntVarBranch vrb,IntValBranch vlb,bool booleans_before); QECODE_EXPORT UnblockableViewValBranching(IntVarBranch Ivrb,IntValBranch Ivlb,IntVarBranch Bvrb,IntValBranch Bvlb,bool booleans_before); diff --git a/contribs/qecode/Work.cc b/contribs/qecode/Work.cc index 40ac7bfc73..acb12b96b5 100644 --- a/contribs/qecode/Work.cc +++ b/contribs/qecode/Work.cc @@ -1,16 +1,16 @@ /************************************************************ Work.cc - Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard - + Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE diff --git a/contribs/qecode/Work.hh b/contribs/qecode/Work.hh index 736685bfa6..6a2183321c 100644 --- a/contribs/qecode/Work.hh +++ b/contribs/qecode/Work.hh @@ -1,5 +1,5 @@ /************************************************************ Work.hh -Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard +Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -40,17 +40,17 @@ private: vector theRoot; Gecode::Search::Engine* remaining; int scope; -public: +public: QECODE_EXPORT QWork(){wait=stop=0; remaining=NULL; scope=-1;} ///< creates a dummy work. Don't try to solve it. QECODE_EXPORT QWork(int scope,vector root,Gecode::Search::Engine* todo); QECODE_EXPORT ~QWork(); - + QECODE_EXPORT static QWork Wait(); QECODE_EXPORT static QWork Stop(); - + QECODE_EXPORT forceinline bool isWait() {return wait;} QECODE_EXPORT forceinline bool isStop() {return stop;} - + QECODE_EXPORT forceinline Gecode::Search::Engine* getRemaining() {return this->remaining;} QECODE_EXPORT vector root() { vector ret=this->theRoot; diff --git a/contribs/qecode/WorkComparators.hh b/contribs/qecode/WorkComparators.hh index 9629077e05..f85760f4d5 100644 --- a/contribs/qecode/WorkComparators.hh +++ b/contribs/qecode/WorkComparators.hh @@ -1,6 +1,6 @@ /* * WorkComparators.hh - * + * * * Created by Jérémie Vautard on 31/03/10. * Copyright 2010 Université d'Orléans. All rights reserved. @@ -11,14 +11,14 @@ #include "QCOPPlus.hh" class BidonComparator : public WorkComparator { - public : + public : virtual bool cmp(QWork a,QWork b) { return false; } }; class DeepFirstComparator : public WorkComparator { - public : + public : virtual bool cmp(QWork a,QWork b) { if (a.root().size() > b.root().size()) return true; if (a.root().size() < b.root().size()) return false; @@ -31,13 +31,13 @@ class QuantifierThenDepthComparator : public WorkComparator { Qcop* problem; bool existsFirst; bool deepestFirst; - - public : - QuantifierThenDepthComparator(Qcop* p,bool existsFirst,bool deepestFirst) { + + public : + QuantifierThenDepthComparator(Qcop* p,bool existsFirst,bool deepestFirst) { this->problem = p; this->existsFirst = existsFirst; this->deepestFirst = deepestFirst; - } + } virtual bool cmp(QWork a,QWork b) { bool q1 = (problem->qt_of_var(a.root().size()) != existsFirst); bool q2 = (problem->qt_of_var(b.root().size()) != existsFirst); @@ -51,13 +51,13 @@ class QuantifierThenDepthComparator : public WorkComparator { }; class DepthComparator : public WorkComparator { - private : + private : bool deepestFirst; - public : + public : DepthComparator(bool deepestFirst) { this->deepestfirst = deepestFirst; } - + virtual bool cmp(QWork a,QWork b) { int d1 = a.root().size(); int d2 = b.root().size(); diff --git a/contribs/qecode/WorkManager.cc b/contribs/qecode/WorkManager.cc index 26408eacdb..6c0dd71075 100644 --- a/contribs/qecode/WorkManager.cc +++ b/contribs/qecode/WorkManager.cc @@ -1,16 +1,16 @@ /************************************************************ WorkManager.cc - Copyright (c) 2010 Universite d'Orleans - Jeremie Vautard - + Copyright (c) 2010 Universite d'Orleans - Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -25,10 +25,10 @@ bool isPrefix(vector prefix,vector a) { if (a.size() < prefix.size()) return false; else - for (unsigned int i=0;i prefix) { //if (prefix.empty()) cout<<"empty"; //for (int i=0;i< prefix.size();i++) cout<::iterator i=l.begin(); + list::iterator i=l.begin(); while (!(i == l.end())) { // cout<<"| "; // cout.flush(); @@ -118,7 +118,7 @@ QWork WorkManager::getWork(AQWorker* worker) { // cout<<"WM : Todos was empty"< todo,vector position) { +void WorkManager::returnWork(AQWorker* worker,Strategy ret,list todo,vector position) { // If the worker is not among the actives ones, ignore his job. Else, withdraw it from the active workers // and process its result @@ -180,11 +180,11 @@ void WorkManager::returnWork(AQWorker* worker,Strategy ret,list todo,vect mex.release(); return; } - + // processing results... - + // adding todo to Todos - + // going to father of substrategy bool acceptable = true; Strategy father = S.getSubStrategy(position); @@ -193,13 +193,13 @@ void WorkManager::returnWork(AQWorker* worker,Strategy ret,list todo,vect acceptable=false; } // remove the Todo node that marked this work - if (acceptable) { + if (acceptable) { // cout<<" RW Father position is "; // vector checkPosition = father.getPosition(); // if (checkPosition.empty()) cout<<"empty"; // for (int i=0;i< checkPosition.size();i++) cout<::iterator j = todo.begin();j != todo.end();j++) { // cout<<"WM todo + 1"< todo,vect // if ((*j).root().empty()) cout<<"empty"; // for (int i=0;i< (*j).root().size();i++) cout<<(*j).root()[i]<<" "; // cout< todo,vect i--; } } - - + + if (!ret.isComplete()) { // still work to do... // attach the (incomplete) substrategy // cout<<"RW returned work was incomplete. Attaching"< todo,vect } else if (!ret.isFalse()) { // complete substrategy // attach the (complete) substrategy - // recursively update node + // recursively update node // cout<<"RW returned work was true. Attaching and updating"< todo,vect (*j).clean(); } } - + // cout<<"RW release"< prefix) { // if (prefix.empty()) cout<<"empty"; // for (int i=0;i< prefix.size();i++) cout<::iterator i=actives.begin();i!=actives.end();i++) { if (isPrefix(prefix,(*i)->workPosition())) { diff --git a/contribs/qecode/WorkManager.hh b/contribs/qecode/WorkManager.hh index 505982380a..3c21a46890 100644 --- a/contribs/qecode/WorkManager.hh +++ b/contribs/qecode/WorkManager.hh @@ -1,16 +1,16 @@ /************************************************************ WorkManager.hh - Copyright (c) 2010 Universite d'Orleans - Jeremie Vautard - + Copyright (c) 2010 Universite d'Orleans - Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -44,7 +44,7 @@ using namespace Gecode::Support; using namespace Gecode::Search; class QECODE_VTABLE_EXPORT WorkComparator { - public : + public : virtual bool cmp(QWork a,QWork b)=0; }; @@ -59,7 +59,7 @@ public: QECODE_EXPORT bool empty() {return l.empty();} QECODE_EXPORT QWork top() {return l.front();} QECODE_EXPORT int size() {return l.size();} - + QECODE_EXPORT void trash(vector prefix); }; @@ -79,17 +79,17 @@ private: Gecode::Support::Mutex mex; // = PTHREAD_MUTEX_INITIALIZER; public: Qcop* problem; - + QECODE_EXPORT WorkManager(Qcop* p,WorkComparator* c); - + QECODE_EXPORT QWork getWork(AQWorker* worker); - QECODE_EXPORT void returnWork(AQWorker* worker,Strategy ret,list todo,vector position); + QECODE_EXPORT void returnWork(AQWorker* worker,Strategy ret,list todo,vector position); QECODE_EXPORT forceinline Strategy getResult() {return S;} - + QECODE_EXPORT forceinline bool isFinished() {mex.acquire();bool ret=finished;mex.release();return ret;} - + QECODE_EXPORT void printStatus(); }; diff --git a/contribs/qecode/Worker.cc b/contribs/qecode/Worker.cc index 0c39e93637..9334a31f58 100644 --- a/contribs/qecode/Worker.cc +++ b/contribs/qecode/Worker.cc @@ -1,16 +1,16 @@ -/**** , [ Worker.cc ], - Copyright (c) 2010 Universite de Caen Basse Normandie- Jeremie Vautard - +/**** , [ Worker.cc ], + Copyright (c) 2010 Universite de Caen Basse Normandie- Jeremie Vautard + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -20,7 +20,7 @@ THE SOFTWARE. *************************************************************************/ -#include "Worker.hh" +#include "Worker.hh" inline vector getTheValues(MySpace* sol,int vmin,int vmax){ @@ -31,10 +31,10 @@ inline vector getTheValues(MySpace* sol,int vmin,int vmax){ // cout<type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -43,7 +43,7 @@ inline vector getTheValues(MySpace* sol,int vmin,int vmax){ } } // cout< QWorker::workPosition() { } void QWorker::run() { - + while(true) { access.acquire(); stopandforget=0; @@ -104,7 +104,7 @@ void QWorker::run() { else { access.acquire(); currentWork = cur; - access.release(); + access.release(); Strategy ret=solve(); access.acquire(); bool forget= (stopandforget == 2); @@ -115,7 +115,7 @@ void QWorker::run() { } else { // cout<<"QWorker "<::iterator i(todo.begin());i != todo.end();i++) { (*i).clean(); } @@ -137,23 +137,23 @@ Strategy QWorker::rsolve(int scope,/*vector assignments,*/Engine* L) { if (forget) { delete L; return Strategy::Dummy(); - } - + } + MySpace* sol = static_cast(L->next()); Strategy ret=Strategy::Dummy(); bool LwasEmpty = true; - - + + while ((sol != NULL) ) { LwasEmpty=false; vector assignments = getTheValues(sol,0,sol->nbVars()-1); Strategy result; - + if (scope == (problem->spaces() - 1) ) { // last scope reached. Verify the goal... MySpace* g = problem->getGoal(); for (int i=0;inbVars();i++) { switch (g->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*g,*(static_cast(g->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -174,7 +174,7 @@ Strategy QWorker::rsolve(int scope,/*vector assignments,*/Engine* L) { else { int vmin = ( (scope==0)? 0 : (problem->nbVarInScope(scope-1)) ); int vmax = (problem->nbVarInScope(scope))-1; - vector zevalues=getTheValues(sol,vmin,vmax); + vector zevalues=getTheValues(sol,vmin,vmax); result=Strategy(problem->quantification(scope),vmin,vmax,scope,zevalues); result.attach(Strategy::STrue()); delete g; @@ -182,12 +182,12 @@ Strategy QWorker::rsolve(int scope,/*vector assignments,*/Engine* L) { delete goalsol; } } - + else { // This is not the last scope... MySpace* espace = problem->getSpace(scope+1); for (int i=0;itype_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -197,11 +197,11 @@ Strategy QWorker::rsolve(int scope,/*vector assignments,*/Engine* L) { cout<<"Unknown variable type"<(espace,/*sizeof(MySpace),*/o); delete espace; - + access.acquire(); forget=(stopandforget == 2); bool stop=(stopandforget==1); @@ -228,13 +228,13 @@ Strategy QWorker::rsolve(int scope,/*vector assignments,*/Engine* L) { ret.attach(Strategy::Stodo()); return ret; } - + result=rsolve(scope+1,solutions); } - + int vmin = ( (scope == 0) ? 0 : (problem->nbVarInScope(scope-1)) ); int vmax = (problem->nbVarInScope(scope))-1; - vector zevalues=getTheValues(sol,vmin,vmax); + vector zevalues=getTheValues(sol,vmin,vmax); delete sol; access.acquire(); forget=(stopandforget == 2); @@ -251,7 +251,7 @@ Strategy QWorker::rsolve(int scope,/*vector assignments,*/Engine* L) { } else { Strategy toAttach(true,vmin,vmax,scope,zevalues); - + toAttach.attach(result); ret.attach(toAttach); } diff --git a/contribs/qecode/Worker.hh b/contribs/qecode/Worker.hh index 69206aaae4..a10adbf60f 100755 --- a/contribs/qecode/Worker.hh +++ b/contribs/qecode/Worker.hh @@ -1,5 +1,5 @@ -/**** , [ Worker.hh ], - Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard +/**** , [ Worker.hh ], + Copyright (c) 2010 Universite de Caen Basse Normandie - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -53,7 +53,7 @@ class QECODE_VTABLE_EXPORT QWorker : public AQWorker { list todo; bool finished; Strategy rsolve(int scope,/*vector assignments,*/Engine* L); - + public: QECODE_EXPORT QWorker(WorkManager* wm) {this->wm=wm; this->problem = wm->problem->clone();} diff --git a/contribs/qecode/configure.ac b/contribs/qecode/configure.ac index 9909696451..18e4f9c28c 100644 --- a/contribs/qecode/configure.ac +++ b/contribs/qecode/configure.ac @@ -15,10 +15,10 @@ dnl in the Software without restriction, including without limitation the rights dnl to use, copy, modify, merge, publish, distribute, sublicense, and/or sell dnl copies of the Software, and to permit persons to whom the Software is dnl furnished to do so, subject to the following conditions: -dnl +dnl dnl The above copyright notice and this permission notice shall be included in dnl all copies or substantial portions of the Software. -dnl +dnl dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -39,6 +39,6 @@ AC_SUBST(QECODE, "qecode") ../../config.status --file Makefile.in:Makefile.in.in -AC_CONFIG_COMMANDS([Makefile.in]) +AC_CONFIG_COMMANDS([Makefile.in]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT diff --git a/contribs/qecode/examples/MatrixGame.cpp b/contribs/qecode/examples/MatrixGame.cpp index d931528a4d..07bbdbac3f 100644 --- a/contribs/qecode/examples/MatrixGame.cpp +++ b/contribs/qecode/examples/MatrixGame.cpp @@ -67,7 +67,7 @@ int main (int argc, char * const argv[]) { access[nbDecisionVar-2]=boardSize; for (int i=nbDecisionVar-3; i>=0; i--) access[i]=access[i+2]*2; - + // debug for (int i=0; i +#include using namespace std; using namespace Gecode; @@ -47,6 +48,25 @@ void printStr(Strategy s,int depth) { } } +vector assignment; +void listAssignments(Strategy s) { + StrategyNode tag = s.getTag(); + if (s.isTrue()) { + // We are at the end of a branch : we print the assignment) + for (int i=0;i using namespace std; + +// This function prints a winning strategy. +void printStr(Strategy s,int depth=0) { + StrategyNode plop = s.getTag(); + for (int glou=0;glou Ey in 1..3 [x=2] -> y=1 @@ -136,12 +161,13 @@ int main() { test5.nextScope(); rel(*(test5.space()),test5.var(1) == 1); test5.makeStructure(); - QCOP_solver s5(&test5); + QCSP_Solver s5(&test5); nodes=0; steps=0; - Strategy ret5=s5.solve(nodes); + Strategy ret5=s5.solve(nodes,INT_MAX,true); cout<<"Problem 5 : result = "<<(ret5.isFalse()?"FALSE":"TRUE")<<", sould be FALSE."< Ey in 1..3 [x=1] -> x=2 @@ -167,12 +193,13 @@ int main() { test6.nextScope(); rel(*(test6.space()),test6.var(0) == 2); test6.makeStructure(); - QCOP_solver s6(&test6); + QCSP_Solver s6(&test6); nodes=0; steps=0; - Strategy ret6=s6.solve(nodes); + Strategy ret6=s6.solve(nodes,INT_MAX,true); cout<<"Problem 6 : result = "<<(ret6.isFalse()?"FALSE":"TRUE")<<", sould be FALSE."< y=0 @@ -197,12 +224,13 @@ int main() { test7.nextScope(); rel(*(test7.space()),test7.var(1) == 0); test7.makeStructure(); - QCOP_solver s7(&test7); + QCSP_Solver s7(&test7); nodes=0; steps=0; - Strategy ret7=s7.solve(nodes); + Strategy ret7=s7.solve(nodes,INT_MAX,true); cout<<"Problem 7 : result = "<<(ret7.isFalse()?"FALSE":"TRUE")<<", sould be FALSE."< y=0 @@ -227,12 +255,13 @@ int main() { test8.nextScope(); rel(*(test8.space()),test8.var(1) == 0); test8.makeStructure(); - QCOP_solver s8(&test8); + QCSP_Solver s8(&test8); nodes=0; steps=0; - Strategy ret8=s8.solve(nodes); + Strategy ret8=s8.solve(nodes,INT_MAX,true); cout<<"Problem 8 : result = "<<(ret8.isFalse()?"FALSE":"TRUE")<<", sould be TRUE."<(v[i]); break; - case VTYPE_BOOL : + case VTYPE_BOOL : delete static_cast(v[i]); break; default : cout<<"Unsupported variable type"< plop; - plop.clear(); + plop.clear(); return rSolve(sp,0,plop,nodes); } @@ -48,7 +48,7 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign if (g == NULL) {/*cout<<"the goal was null"<nbVars();i++) { switch (g->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*g,*(static_cast(g->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -68,7 +68,7 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign delete g; return Strategy(StrategyNode::STrue()); } - + ///////////////////////////////////////////////////////////////////////////////////////// // Second case : we are in the middle of the problem... // ///////////////////////////////////////////////////////////////////////////////////////// @@ -80,7 +80,7 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign for (int i=0;itype_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -91,18 +91,18 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign abort(); } } - + // Second case, first subcase : current scope is universal ///////////////////////////////////////////////////////// if (qs->quantification(scope)) { // cout<<"universal"<status() == SS_FAILED) { // cout<<"the scope is failed"< solutions(espace); MySpace* sol = solutions.next(); if (sol == NULL) { @@ -110,17 +110,17 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign delete espace; return Strategy::STrue(); } - + Strategy retour = Strategy::Dummy(); while (sol != NULL) { // cout<<"a solution"< assign; for (int i = 0; inbVars();i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : assign.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : assign.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -128,16 +128,16 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign abort(); } } - + int vmin = ( (scope==0)? 0 : (qs->nbVarInScope(scope-1)) ); int vmax = (qs->nbVarInScope(scope))-1; vector zevalues; for (int i = vmin; i<=vmax;i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -146,7 +146,7 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign } } Strategy toAttach(true,vmin,vmax,scope,zevalues); - + Strategy son = rSolve(qs,scope+1,assign,nodes); if (son.isFalse()) { // cout<<"the son is false"< assignments, unsign delete espace; return retour; } // end of if(universal) - + // Second case, second subcase : current scope is existential //////////////////////////////////////////////////////////// else { @@ -173,7 +173,7 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign delete espace; return Strategy::SFalse(); } - + DFS solutions(espace); MySpace* sol =solutions.next(); if (sol == NULL) { @@ -181,7 +181,7 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign delete espace; return Strategy::SFalse(); } - + OptVar* opt = qs->getOptVar(scope); int opttype = qs->getOptType(scope); Strategy retour(StrategyNode::SFalse()); @@ -191,10 +191,10 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign vector assign; for (int i = 0; inbVars();i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : assign.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : assign.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -208,13 +208,13 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign vector zevalues; for (int i = vmin; i<=vmax;i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - default : + default : cout<<"6unknown Variable type"< assignments, unsign Strategy son_of_candidate = rSolve(qs,scope+1,assign,nodes); if (son_of_candidate.isFalse()) candidate = Strategy::SFalse(); else candidate.attach(son_of_candidate); - + int score_of_candidate; if (candidate.isFalse()) score_of_candidate = ( (opttype == 1) ? INT_MAX : INT_MIN ); else score_of_candidate = opt->getVal(candidate); @@ -253,14 +253,14 @@ Strategy QCOP_solver::rSolve(Qcop* qs,int scope, vector assignments, unsign score=score_of_candidate; } break; - default : + default : cout<<"Unknown opt type : "< -inline vector getTheValues(MySpace* sol,int vmin,int vmax){ - vector zevalues; - // cout< (sol->nbVars())) cout<<"getTheValues mal appele"<type_of_v[i]) { - case VTYPE_INT : - zevalues.push_back( (static_cast(sol->v[i]))->val() ); - break; - case VTYPE_BOOL : - zevalues.push_back( (static_cast(sol->v[i]))->val() ); - break; - default : - cout<<"4Unknown variable type"< getTheValues(MySpace* sol,int vmin,int vmax) +{ + vector zevalues; + // cout< (sol->nbVars())) cout<<"getTheValues mal appele"<type_of_v[i]) { + case VTYPE_INT : + zevalues.push_back( (static_cast(sol->v[i]))->val() ); + break; + case VTYPE_BOOL : + zevalues.push_back( (static_cast(sol->v[i]))->val() ); + break; + default : + cout<<"4Unknown variable type"<sp = sp; - nbRanges=new int; +QCSP_Solver::QCSP_Solver(Qcop* sp) +{ + this->sp = sp; + nbRanges=new int; } -Strategy QCSP_Solver::solve(unsigned long int& nodes, unsigned int limit) { - this->limit=limit; - MySpace* espace=sp->getSpace(0); - Options o; - Engine* solutions = new WorkerToEngine(espace,/*sizeof(MySpace),*/o); - return rSolve(sp,0,solutions,nodes); +Strategy QCSP_Solver::solve(unsigned long int& nodes, unsigned int limit,bool allStrategies) +{ + this->limit=limit; + MySpace* espace=sp->getSpace(0); + Options o; + Engine* solutions = new WorkerToEngine(espace,/*sizeof(MySpace),*/o); + return rSolve(sp,0,solutions,nodes,allStrategies); } -Strategy QCSP_Solver::rSolve(Qcop* qs,int scope,Engine* L, unsigned long int& nodes) { - nodes++; - MySpace* sol = static_cast(L->next()); - Strategy ret=Strategy::Dummy(); - bool LwasEmpty = true; - while ((sol != NULL) ) { - LwasEmpty=false; - vector assignments = getTheValues(sol,0,sol->nbVars()-1); - Strategy result; - - if (scope == (qs->spaces() - 1) ) { // last scope reached. Verify the goal... - MySpace* g = qs->getGoal(); - for (int i=0;inbVars();i++) { - switch (g->type_of_v[i]) { - case VTYPE_INT : - rel(*g,*(static_cast(g->v[i])) == assignments[i]); - break; - case VTYPE_BOOL : - rel(*g,*(static_cast(g->v[i])) == assignments[i]); - break; - default : - cout<<"Unknown variable type"< solutions(g); - MySpace* goalsol = solutions.next(); - if (goalsol == NULL) { - delete g; - result = Strategy::SFalse(); - } - else { - int vmin = ( (scope==0)? 0 : (qs->nbVarInScope(scope-1)) ); - int vmax = (qs->nbVarInScope(scope))-1; - vector zevalues=getTheValues(sol,vmin,vmax); - result=Strategy(qs->quantification(scope),vmin,vmax,scope,zevalues); - result.attach(Strategy::STrue()); - delete g; - // delete sol; - delete goalsol; - } - } - - else { // This is not the last scope... - MySpace* espace = qs->getSpace(scope+1); - for (int i=0;itype_of_v[i]) { - case VTYPE_INT : - rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); - break; - case VTYPE_BOOL : - rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); - break; - default : - cout<<"Unknown variable type"<(espace,/*sizeof(MySpace),*/o); - delete espace; - result=rSolve(qs,scope+1,solutions,nodes); - } - - int vmin = ( (scope == 0) ? 0 : (qs->nbVarInScope(scope-1)) ); - int vmax = (qs->nbVarInScope(scope))-1; - vector zevalues=getTheValues(sol,vmin,vmax); - delete sol; - if (qs->quantification(scope)) { // current scope is universal - if (result.isFalse()) // one branch fails - { - delete L; - return Strategy::SFalse(); - } - else { - Strategy toAttach(true,vmin,vmax,scope,zevalues); - toAttach.attach(result); - ret.attach(toAttach); - } - } - else { //current scope is existential - if (!result.isFalse()) { // result not the truivilally false strategy... - delete L; - if (scope >= limit) return Strategy::STrue(); - ret = Strategy(qs->quantification(scope),vmin,vmax,scope,zevalues); - ret.attach(result); - return ret; // we return it immediately - } +Strategy QCSP_Solver::rSolve(Qcop* qs,int scope,Engine* L, unsigned long int& nodes,bool allStrategies) +{ + nodes++; + MySpace* sol = static_cast(L->next()); + Strategy ret=Strategy::Dummy(); + bool LwasEmpty = true; + bool atLeastOneExistential = false; + while ((sol != NULL) ) { + LwasEmpty=false; + vector assignments = getTheValues(sol,0,sol->nbVars()-1); + Strategy result; + + if (scope == (qs->spaces() - 1) ) { // last scope reached. Verify the goal... + MySpace* g = qs->getGoal(); + for (int i=0; inbVars(); i++) { + switch (g->type_of_v[i]) { + case VTYPE_INT : + rel(*g,*(static_cast(g->v[i])) == assignments[i]); + break; + case VTYPE_BOOL : + rel(*g,*(static_cast(g->v[i])) == assignments[i]); + break; + default : + cout<<"Unknown variable type"< solutions(g); + MySpace* goalsol = solutions.next(); + if (goalsol == NULL) { + delete g; + result = Strategy::SFalse(); + } else { + int vmin = ( (scope==0)? 0 : (qs->nbVarInScope(scope-1)) ); + int vmax = (qs->nbVarInScope(scope))-1; + vector zevalues=getTheValues(sol,vmin,vmax); + result = Strategy::STrue(); +// result=Strategy(qs->quantification(scope),vmin,vmax,scope,zevalues); +// result.attach(Strategy::STrue()); + delete g; + // delete sol; + delete goalsol; + } + } + + else { // This is not the last scope... + MySpace* espace = qs->getSpace(scope+1); + for (int i=0; itype_of_v[i]) { + case VTYPE_INT : + rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); + break; + case VTYPE_BOOL : + rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); + break; + default : + cout<<"Unknown variable type"<(espace,/*sizeof(MySpace),*/o); + delete espace; + result=rSolve(qs,scope+1,solutions,nodes,allStrategies); + } + + int vmin = ( (scope == 0) ? 0 : (qs->nbVarInScope(scope-1)) ); + int vmax = (qs->nbVarInScope(scope))-1; + vector zevalues=getTheValues(sol,vmin,vmax); + delete sol; + if (qs->quantification(scope)) { // current scope is universal + if (result.isFalse()) { // one branch fails + delete L; + return Strategy::SFalse(); + } else { + Strategy toAttach(true,vmin,vmax,scope,zevalues); + toAttach.attach(result); + ret.attach(toAttach); + } + } else { //current scope is existential + if (!result.isFalse()) { // result is not the trivially false strategy... + atLeastOneExistential =true; + Strategy toAttach; + if (allStrategies) { + // We want to save every possible strategies. Each correct existential branch will be saved + if (scope >= limit) toAttach = Strategy::STrue(); + else { + toAttach = Strategy(qs->quantification(scope),vmin,vmax,scope,zevalues); + toAttach.attach(result); + } + ret.attach(toAttach); + } else { + //We want only one possible strategy. We found an assignment which leads to a valid substrategy. So, we return it immediately + delete L; + if (scope >= limit) return Strategy::STrue(); + ret = Strategy(qs->quantification(scope),vmin,vmax,scope,zevalues); + ret.attach(result); + return ret; + } + } + } + sol = static_cast(L->next()); } - sol = static_cast(L->next()); - } - delete L; - if (scope>limit) - ret = Strategy::STrue(); - if (qs->quantification(scope)) //universal scope - return (LwasEmpty ? Strategy::STrue() : ret); - else - return Strategy::SFalse(); + delete L; + if (scope>limit) + ret = Strategy::STrue(); + if (qs->quantification(scope)) //universal scope + return (LwasEmpty ? Strategy::STrue() : ret); + else // existnetial Scope + return (atLeastOneExistential ? ret : Strategy::SFalse()); } diff --git a/contribs/qecode/qsolver_qcsp.hh b/contribs/qecode/qsolver_qcsp.hh index 6a97b90469..6239d55e95 100644 --- a/contribs/qecode/qsolver_qcsp.hh +++ b/contribs/qecode/qsolver_qcsp.hh @@ -1,5 +1,5 @@ -/**** , [ qsolver.hh ], -Copyright (c) 2010 Universite de Caen-Basse Normandie - Jeremie Vautard +/**** , [ qsolver.hh ], +Copyright (c) 2010 Universite de Caen-Basse Normandie - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -39,26 +39,28 @@ using namespace Gecode::Search; using namespace Gecode::Search::Sequential; /** General QCSP+ / QCOP+ Solver. - * This class is the search engine for Qcop objects. + * This class is the search engine for Qcop objects. */ class QECODE_VTABLE_EXPORT QCSP_Solver { - + private: unsigned int limit; int n; Qcop* sp; int* nbRanges; - Strategy rSolve(Qcop* qs,int scope,Engine* L,unsigned long int& nodes); + Strategy rSolve(Qcop* qs,int scope,Engine* L,unsigned long int& nodes,bool allStrategies); public: /** Public constructor. @param sp The problem to solve */ - QECODE_EXPORT QCSP_Solver(Qcop* sp); - - /** Solves the problem and returns a corresponding winning strategy. - @param nodes A reference that is increased by the number of nodes encountered in the search tree. + QECODE_EXPORT QCSP_Solver(Qcop* sp); + + /** Solves the problem and returns a corresponding winning strategy. + @param nodes : A reference that is increased by the number of nodes encountered in the search tree. + @param limit : limit of the depth of the Strategy object returned. Any branch longer than this limit will be truncated. + @param allStrategies : indicate if the solver should return only one winning strategy, or all of them (condensed in one Strategy object, where existential nodes will not be unique) */ - QECODE_EXPORT Strategy solve(unsigned long int& nodes,unsigned int limit=INT_MAX); + QECODE_EXPORT Strategy solve(unsigned long int& nodes,unsigned int limit=INT_MAX,bool allStrategies=false); }; #endif diff --git a/contribs/qecode/qsolver_unblockable.cc b/contribs/qecode/qsolver_unblockable.cc index 7343ad6db9..1b9649f0ac 100755 --- a/contribs/qecode/qsolver_unblockable.cc +++ b/contribs/qecode/qsolver_unblockable.cc @@ -1,5 +1,5 @@ -/**** , [ QSolverUnblockable.cc ], -Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard +/**** , [ QSolverUnblockable.cc ], +Copyright (c) 2008 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -47,7 +47,7 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a if (g == NULL) {return Strategy(StrategyNode::SFalse());} for (int i=0;itype_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*g,*(static_cast(g->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -63,11 +63,11 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a return Strategy(StrategyNode::SFalse()); } delete g; - + if (scope == qs->spaces()) { return Strategy(StrategyNode::STrue()); } - + ///////////////////////////////////////////////////////////////////////////////////////// // Second case : we are in the middle of the problem... // ///////////////////////////////////////////////////////////////////////////////////////// @@ -76,7 +76,7 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a if (espace == NULL) cout<<"I caught a NULL for scope "<type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -87,7 +87,7 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a abort(); } } - + // Second case, first subcase : current scope is universal ///////////////////////////////////////////////////////// if (qs->quantification(scope)) { @@ -95,23 +95,23 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a delete espace; return Strategy(StrategyNode::STrue()); } - + DFS solutions(espace); MySpace* sol = solutions.next(); if (sol == NULL) { delete espace; return Strategy(StrategyNode::STrue()); } - + Strategy retour = StrategyNode::Dummy(); while (sol != NULL) { vector assign; for (int i = 0; inbVarInScope(scope);i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : assign.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : assign.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -119,16 +119,16 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a abort(); } } - + int vmin = ( (scope==0)? 0 : (qs->nbVarInScope(scope-1)) ); int vmax = (qs->nbVarInScope(scope))-1; vector zevalues; for (int i = vmin; i<=vmax;i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -137,7 +137,7 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a } } Strategy toAttach(true,vmin,vmax,scope,zevalues); - + Strategy son = rSolve(qs,scope+1,assign,nodes); if (son.isFalse()) { delete sol; @@ -152,7 +152,7 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a delete espace; return retour; } // end of if(universal) - + // Second case, second subcase : current scope is existential //////////////////////////////////////////////////////////// else { @@ -160,7 +160,7 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a delete espace; return Strategy(StrategyNode::SFalse()); } - + DFS solutions(espace); MySpace* sol =solutions.next(); if (sol == NULL) { @@ -172,10 +172,10 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a for (int i = 0; inbVarInScope(scope);i++) { // cout << "i = "<type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : assign.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : assign.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -183,29 +183,29 @@ Strategy QSolverUnblockable::rSolve(QcspUnblockable* qs,int scope, vector a abort(); } } // end for - + int vmin = ( (scope==0)?0 : qs->nbVarInScope(scope-1) ); int vmax = qs->nbVarInScope(scope)-1; vector zevalues; for (int i = vmin; i<=vmax;i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - default : + default : cout<<"6unknown Variable type"< assignments if (g == NULL) {return Strategy(StrategyNode::SFalse());} for (int i=0;itype_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*g,*(static_cast(g->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -265,11 +265,11 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments return Strategy(StrategyNode::SFalse()); } delete g; - + if (scope == qs->spaces()) { return Strategy(StrategyNode::STrue()); } - + ///////////////////////////////////////////////////////////////////////////////////////// // Second case : we are in the middle of the problem... // ///////////////////////////////////////////////////////////////////////////////////////// @@ -278,7 +278,7 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments if (espace == NULL) cout<<"I caught a NULL for scope "<type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : rel(*espace,*(static_cast(espace->v[i])) == assignments[i]); break; case VTYPE_BOOL : @@ -289,7 +289,7 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments abort(); } } - + // Second case, first subcase : current scope is universal ///////////////////////////////////////////////////////// if (qs->quantification(scope)) { @@ -297,23 +297,23 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments delete espace; return Strategy(StrategyNode::STrue()); } - + DFS solutions(espace); MySpace* sol = solutions.next(); if (sol == NULL) { delete espace; return Strategy(StrategyNode::STrue()); } - + Strategy retour = StrategyNode::Dummy(); while (sol != NULL) { vector assign; for (int i = 0; inbVarInScope(scope);i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : assign.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : assign.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -321,16 +321,16 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments abort(); } } - + int vmin = ( (scope==0)? 0 : (qs->nbVarInScope(scope-1)) ); int vmax = (qs->nbVarInScope(scope))-1; vector zevalues; for (int i = vmin; i<=vmax;i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -339,7 +339,7 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments } } Strategy toAttach(true,vmin,vmax,scope,zevalues); - + Strategy son = rSolve(qs,scope+1,assign,nodes); if (son.isFalse()) { delete sol; @@ -354,7 +354,7 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments delete espace; return retour; } // end of if(universal) - + // Second case, second subcase : current scope is existential //////////////////////////////////////////////////////////// else { @@ -362,7 +362,7 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments delete espace; return Strategy(StrategyNode::SFalse()); } - + DFS solutions(espace); MySpace* sol =solutions.next(); if (sol == NULL) { @@ -374,10 +374,10 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments for (int i = 0; inbVarInScope(scope);i++) { // cout << "i = "<type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : assign.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : assign.push_back( (static_cast(sol->v[i]))->val() ); break; default : @@ -385,29 +385,29 @@ Strategy QSolverUnblockable2::rSolve(Qcop* qs,int scope, vector assignments abort(); } } // end for - + int vmin = ( (scope==0)?0 : qs->nbVarInScope(scope-1) ); int vmax = qs->nbVarInScope(scope)-1; vector zevalues; for (int i = vmin; i<=vmax;i++) { switch (sol->type_of_v[i]) { - case VTYPE_INT : + case VTYPE_INT : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - case VTYPE_BOOL : + case VTYPE_BOOL : zevalues.push_back( (static_cast(sol->v[i]))->val() ); break; - default : + default : cout<<"6unknown Variable type"< assignments,unsigned long int& nodes); - + public: /** Public constructor. @param sp The problem to solve */ QECODE_EXPORT QSolverUnblockable(QcspUnblockable* sp); - /** Solves the problem and returns a corresponding winning strategy. + /** Solves the problem and returns a corresponding winning strategy. @param nodes A reference that is increased by the number of nodes encountered in the search tree. */ QECODE_EXPORT Strategy solve(unsigned long int& nodes); @@ -58,23 +58,23 @@ public: /** Unblockable QCSP+ Solver. -* This class is the search engine for unblockable QCSP+ defined with the general Qcop class. +* This class is the search engine for unblockable QCSP+ defined with the general Qcop class. */ class QECODE_VTABLE_EXPORT QSolverUnblockable2 { - + private: int n; Qcop* sp; int* nbRanges; Strategy rSolve(Qcop* qs,int scope,vector assignments,unsigned long int& nodes); - + public: /** Public constructor. @param sp The problem to solve */ QECODE_EXPORT QSolverUnblockable2(Qcop* sp); - /** Solves the problem and returns a corresponding winning strategy. + /** Solves the problem and returns a corresponding winning strategy. WARNING : Defined optimization conditions and aggregates are NOT taken into account. @param nodes A reference that is increased by the number of nodes encountered in the search tree. */ diff --git a/contribs/qecode/vartype.hh b/contribs/qecode/vartype.hh index 477e06b704..fa51ba97c1 100644 --- a/contribs/qecode/vartype.hh +++ b/contribs/qecode/vartype.hh @@ -1,5 +1,5 @@ -/**** qecode2, [ vartype.hh ], -Copyright (c) 2007 Universite d'Orleans - Jeremie Vautard +/**** qecode2, [ vartype.hh ], +Copyright (c) 2007 Universite d'Orleans - Jeremie Vautard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/contribs/quacode/CMakeLists.txt b/contribs/quacode/CMakeLists.txt index cb0f0d9f2c..47c58b73a9 100644 --- a/contribs/quacode/CMakeLists.txt +++ b/contribs/quacode/CMakeLists.txt @@ -55,6 +55,7 @@ IF(NOT DEFINED CMAKE_BUILD_TYPE) ENDIF() PROJECT(Quacode) +SET(CMAKE_CXX_FLAGS "-std=c++11") SET(CMAKE_VERBOSE_MAKEFILE TRUE) @@ -165,6 +166,7 @@ ELSE (NOT GECODE_FOUND) examples/matrix-game.cpp examples/connect-four.cpp examples/baker.cpp + examples/rndQCSP.cpp ) SOURCE_GROUP("Hpp Files" REGULAR_EXPRESSION ".hpp") @@ -173,6 +175,7 @@ ELSE (NOT GECODE_FOUND) SET_SOURCE_FILES_PROPERTIES(${ALL_HPP} PROPERTIES HEADER_FILE_ONLY TRUE) ADD_LIBRARY(quacode ${QUACODE_SRCS} ${QUACODE_HEADERS} ${QUACODE_HPP}) + TARGET_LINK_LIBRARIES(quacode ${GECODE_LIBRARIES}) SET_TARGET_PROPERTIES(quacode PROPERTIES COMPILE_DEFINITIONS "BUILD_QUACODE_LIB") INSTALL(TARGETS quacode LIBRARY DESTINATION lib ARCHIVE DESTINATION lib/static) SET(QUACODE_LIBRARIES quacode) diff --git a/contribs/quacode/FindGecode.cmake b/contribs/quacode/FindGecode.cmake index 0a50a46a1b..b2453e2846 100644 --- a/contribs/quacode/FindGecode.cmake +++ b/contribs/quacode/FindGecode.cmake @@ -39,7 +39,7 @@ FILE(STRINGS ${GECODE_BIN}/config.status GECODE_DLL_ARCH LIMIT_COUNT 1 REGEX "S\ STRING(REGEX MATCH "=\"[^\"]*" GECODE_DLL_ARCH "${GECODE_DLL_ARCH}") STRING(SUBSTRING "${GECODE_DLL_ARCH}" 2 -1 GECODE_DLL_ARCH) -FIND_LIBRARY(GECODE_KERNEL_LIBRARIES gecodekernel${GECODE_DLL_ARCH} ${GECODE_SEARCH_PATH}) +FIND_LIBRARY(GECODE_KERNEL_LIBRARIES gecodekernel${GECODE_DLL_ARCH} ${GECODE_SEARCH_PATH}) IF(GECODE_KERNEL_LIBRARIES) SET(GECODE_FOUND TRUE) diff --git a/contribs/quacode/doxygen/Doxyfile.conf b/contribs/quacode/doxygen/Doxyfile.conf index 607a63006b..6d2bd82f90 100644 --- a/contribs/quacode/doxygen/Doxyfile.conf +++ b/contribs/quacode/doxygen/Doxyfile.conf @@ -195,7 +195,7 @@ FULL_PATH_NAMES = YES # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. -STRIP_FROM_PATH = +STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which @@ -204,7 +204,7 @@ STRIP_FROM_PATH = # specify the list of include paths that are normally passed to the compiler # using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't @@ -271,13 +271,13 @@ TAB_SIZE = 4 # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines. -ALIASES = +ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding "class=itcl::class" # will allow you to use the command class in the itcl::class meaning. -TCL_SUBST = +TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For @@ -324,7 +324,7 @@ OPTIMIZE_OUTPUT_VHDL = NO # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. -EXTENSION_MAPPING = +EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable @@ -660,7 +660,7 @@ GENERATE_DEPRECATEDLIST= YES # sections, marked by \if ... \endif and \cond # ... \endcond blocks. -ENABLED_SECTIONS = +ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the @@ -715,7 +715,7 @@ FILE_VERSION_FILTER = "doxygen/getrevision.sh" # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = +LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib @@ -726,7 +726,7 @@ LAYOUT_FILE = # search path. Do not use file names with spaces, bibtex cannot handle them. See # also \cite for info how to create references. -CITE_BIB_FILES = +CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages @@ -785,7 +785,7 @@ WARN_FORMAT = "$file:$line: $text" # messages should be written. If left blank the output is written to standard # error (stderr). -WARN_LOGFILE = +WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files @@ -838,7 +838,7 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = +EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded @@ -865,13 +865,13 @@ EXCLUDE_PATTERNS = *privateMisc/* # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = +EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and @@ -891,7 +891,7 @@ EXAMPLE_RECURSIVE = NO # that contain images that are to be included in the documentation (see the # \image command). -IMAGE_PATH = +IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program @@ -908,7 +908,7 @@ IMAGE_PATH = # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. -INPUT_FILTER = +INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the @@ -917,7 +917,7 @@ INPUT_FILTER = # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. -FILTER_PATTERNS = +FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER ) will also be used to filter the input files that are used for @@ -932,14 +932,14 @@ FILTER_SOURCE_FILES = NO # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. -FILTER_SOURCE_PATTERNS = +FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = +USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing @@ -1051,7 +1051,7 @@ COLS_IN_ALPHA_INDEX = 5 # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. -IGNORE_PREFIX = +IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output @@ -1095,7 +1095,7 @@ HTML_FILE_EXTENSION = .html # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_HEADER = +HTML_HEADER = # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard @@ -1105,7 +1105,7 @@ HTML_HEADER = # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_FOOTER = +HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of @@ -1117,7 +1117,7 @@ HTML_FOOTER = # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_STYLESHEET = +HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- # defined cascading style sheet that is included after the standard style sheets @@ -1128,7 +1128,7 @@ HTML_STYLESHEET = # see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = +HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1138,7 +1138,7 @@ HTML_EXTRA_STYLESHEET = # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = +HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the stylesheet and background images according to @@ -1266,7 +1266,7 @@ GENERATE_HTMLHELP = NO # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_FILE = +CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler ( hhc.exe). If non-empty @@ -1274,7 +1274,7 @@ CHM_FILE = # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -HHC_LOCATION = +HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated ( # YES) or that it should be included in the master .chm file ( NO). @@ -1287,7 +1287,7 @@ GENERATE_CHI = NO # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. -CHM_INDEX_ENCODING = +CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated ( # YES) or a normal table of contents ( NO) in the .chm file. Furthermore it @@ -1318,7 +1318,7 @@ GENERATE_QHP = NO # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. -QCH_FILE = +QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace @@ -1343,7 +1343,7 @@ QHP_VIRTUAL_FOLDER = doc # filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom @@ -1351,21 +1351,21 @@ QHP_CUST_FILTER_NAME = # filters). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_CUST_FILTER_ATTRS = +QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. -QHP_SECT_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location of Qt's # qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the # generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. -QHG_LOCATION = +QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To @@ -1498,7 +1498,7 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_EXTENSIONS = +MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site @@ -1506,7 +1506,7 @@ MATHJAX_EXTENSIONS = # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_CODEFILE = +MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and @@ -1566,7 +1566,7 @@ EXTERNAL_SEARCH = NO # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. -SEARCHENGINE_URL = +SEARCHENGINE_URL = # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed # search data is written to a file for indexing by an external tool. With the @@ -1582,7 +1582,7 @@ SEARCHDATA_FILE = searchdata.xml # projects and redirect the results back to the right project. # This tag requires that the tag SEARCHENGINE is set to YES. -EXTERNAL_SEARCH_ID = +EXTERNAL_SEARCH_ID = # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen # projects other than the one defined by this configuration file, but that are @@ -1592,7 +1592,7 @@ EXTERNAL_SEARCH_ID = # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... # This tag requires that the tag SEARCHENGINE is set to YES. -EXTRA_SEARCH_MAPPINGS = +EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # Configuration options related to the LaTeX output @@ -1653,7 +1653,7 @@ PAPER_TYPE = a4 # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. -EXTRA_PACKAGES = +EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for the # generated LaTeX document. The header should contain everything until the first @@ -1669,7 +1669,7 @@ EXTRA_PACKAGES = # PROJECT_NAME), or the project number (see PROJECT_NUMBER). # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_HEADER = +LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the # generated LaTeX document. The footer should contain everything after the last @@ -1678,7 +1678,7 @@ LATEX_HEADER = # Note: Only use a user-defined footer if you know what you are doing! # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_FOOTER = +LATEX_FOOTER = # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the LATEX_OUTPUT output @@ -1686,7 +1686,7 @@ LATEX_FOOTER = # markers available. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_EXTRA_FILES = +LATEX_EXTRA_FILES = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will @@ -1786,14 +1786,14 @@ RTF_HYPERLINKS = NO # default style sheet that doxygen normally uses. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is # similar to doxygen's config file. A template extensions file can be generated # using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # Configuration options related to the man page output @@ -1828,7 +1828,7 @@ MAN_EXTENSION = .3 # MAN_EXTENSION with the initial . removed. # This tag requires that the tag GENERATE_MAN is set to YES. -MAN_SUBDIR = +MAN_SUBDIR = # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it # will generate one additional man file for each entity documented in the real @@ -1932,7 +1932,7 @@ PERLMOD_PRETTY = YES # overwrite each other's variables. # This tag requires that the tag GENERATE_PERLMOD is set to YES. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor @@ -1973,7 +1973,7 @@ SEARCH_INCLUDES = YES # preprocessor. # This tag requires that the tag SEARCH_INCLUDES is set to YES. -INCLUDE_PATH = +INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the @@ -1981,7 +1981,7 @@ INCLUDE_PATH = # used. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that are # defined before the preprocessor is started (similar to the -D option of e.g. @@ -2001,7 +2001,7 @@ PREDEFINED = "QUACODE_EXPORT" \ # definition found in the source code. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will # remove all references to function-like macros that are alone on a line, have @@ -2030,13 +2030,13 @@ SKIP_FUNCTION_MACROS = YES # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files. -GENERATE_TAGFILE = +GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external class will be listed in the # class index. If set to NO only the inherited external classes will be listed. @@ -2084,14 +2084,14 @@ CLASS_DIAGRAMS = YES # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. -MSCGEN_PATH = +MSCGEN_PATH = # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. # If left empty dia is assumed to be found in the default search path. -DIA_PATH = +DIA_PATH = # If set to YES, the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. @@ -2140,7 +2140,7 @@ DOT_FONTSIZE = 10 # the path where dot can find it using this tag. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTPATH = +DOT_FONTPATH = # If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for # each documented class showing the direct and indirect inheritance relations. @@ -2280,26 +2280,26 @@ INTERACTIVE_SVG = NO # found. If left blank, it is assumed the dot tool can be found in the path. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_PATH = +DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the \dotfile # command). # This tag requires that the tag HAVE_DOT is set to YES. -DOTFILE_DIRS = +DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the \mscfile # command). -MSCFILE_DIRS = +MSCFILE_DIRS = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile # command). -DIAFILE_DIRS = +DIAFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes diff --git a/contribs/quacode/examples/baker.cpp b/contribs/quacode/examples/baker.cpp index 4598232164..3a9e8eb2c8 100644 --- a/contribs/quacode/examples/baker.cpp +++ b/contribs/quacode/examples/baker.cpp @@ -63,10 +63,16 @@ namespace Gecode { namespace Driver { */ class BakerOptions : public Options { public: + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; int n; /// Parameter to be given on the command line /// Initialize options for example with name \a s BakerOptions(const char* s, int n0) - : Options(s), n(n0) {} + : Options(s), + _printStrategy("-printStrategy","Print strategy",false), + n(n0) { + add(_printStrategy); + } /// Parse options from arguments \a argv (number is \a argc) void parse(int& argc, char* argv[]) { Options::parse(argc,argv); @@ -74,6 +80,10 @@ class BakerOptions : public Options { return; n = atoi(argv[1]); } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } /// Print help message virtual void help(void) { Options::help(); @@ -86,27 +96,27 @@ class QCSPBaker : public Script, public QSpaceInfo { IntVarArray X; public: - QCSPBaker(const BakerOptions& opt) : Script(), QSpaceInfo() + QCSPBaker(const BakerOptions& opt) : Script(opt), QSpaceInfo() { std::cout << "Loading problem" << std::endl; + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy using namespace Int; - IntVarArgs w(*this,4,1,40); - IntVar f(*this,1,40); + IntVarArgs w(*this,5,1,opt.n); + IntVar f(*this,1,opt.n); setForAll(*this, f); - IntVarArgs c(*this,4,-1,1); + IntVarArgs c(*this,5,-1,1); IntVarArgs vaX; vaX << w << f << c; X = IntVarArray(*this, vaX); - IntVar o1(*this,-40,40), o2(*this,-40,40), o3(*this,-40,40), o4(*this,-40,40); - rel(*this, w[0], IRT_GR, opt.n); + IntVar o1(*this,-opt.n,opt.n), o2(*this,-opt.n,opt.n), o3(*this,-opt.n,opt.n), o4(*this,-opt.n,opt.n), o5(*this,-opt.n,opt.n); rel(*this, w[0] * c[0] == o1); rel(*this, w[1] * c[1] == o2); rel(*this, w[2] * c[2] == o3); rel(*this, w[3] * c[3] == o4); - rel(*this, o1 + o2 + o3 + o4 == f); - + rel(*this, w[4] * c[4] == o5); + rel(*this, o1 + o2 + o3 + o4 + o5 == f); branch(*this, X, INT_VAR_NONE(), INT_VALUES_MIN()); } @@ -127,7 +137,7 @@ class QCSPBaker : public Script, public QSpaceInfo { int main(int argc, char* argv[]) { - BakerOptions opt("Baker Problem",0); + BakerOptions opt("Baker Problem",40); opt.parse(argc,argv); Script::run(opt); diff --git a/contribs/quacode/examples/connect-four.cpp b/contribs/quacode/examples/connect-four.cpp index 8008e6a473..91b600a0dd 100644 --- a/contribs/quacode/examples/connect-four.cpp +++ b/contribs/quacode/examples/connect-four.cpp @@ -63,6 +63,8 @@ namespace Gecode { namespace Driver { */ class ConnectFourOptions : public Options { protected: + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; /// Model name Gecode::Driver::StringOption _QCSPmodel; /// Heuristic in branching @@ -76,7 +78,9 @@ class ConnectFourOptions : public Options { public: /// Initialize options for example with name \a s ConnectFourOptions(const char* s) - : Options(s), _QCSPmodel("-QCSPmodel","Name of the model used for modeling problem",3), + : Options(s), + _printStrategy("-printStrategy","Print strategy",false), + _QCSPmodel("-QCSPmodel","Name of the model used for modeling problem",3), _heuristic("-heuristic","Use heuristic when branching (only for model + and ++)",true), _file("-file","File name of recorded moves"), _row("-row","Number of rows (minimum 4)",6), @@ -84,12 +88,17 @@ class ConnectFourOptions : public Options { _QCSPmodel.add(1,"AllState","Model with all states as defined by P. Nightingale. Without Pure Value and heuristic setup."); _QCSPmodel.add(2,"AllState+","Model with all states as defined by P. Nightingale. With cut."); _QCSPmodel.add(3,"AllState++","Model with all states as defined by P. Nightingale. With cut and additional constraints."); + add(_printStrategy); add(_QCSPmodel); add(_heuristic); add(_file); add(_row); add(_col); } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } /// Return model name int QCSPmodel(void) const { return _QCSPmodel.value(); @@ -175,9 +184,10 @@ class ConnectFourAllState : public Script, public QSpaceInfo { const ConnectFourOptions& opt; public: - ConnectFourAllState(const ConnectFourOptions& _opt) : Script(), QSpaceInfo(), opt(_opt) + ConnectFourAllState(const ConnectFourOptions& _opt) : Script(_opt), QSpaceInfo(), opt(_opt) { std::cout << "Loading problem" << std::endl; + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy using namespace Int; // Define constants row = opt.row(); @@ -247,7 +257,7 @@ class ConnectFourAllState : public Script, public QSpaceInfo { } m << U[k/2]; for (int i=0; i < col; i++) - rel(*this, ((gameWinner[k-1] == Nil) && (h[(k-1)*col+i] < row) && (M[k] == i)) >> (U[k/2] == i), ICL_DOM); // Forbid illegal move + rel(*this, ((gameWinner[k-1] == Nil) && (h[(k-1)*col+i] < row) && (M[k] == i)) >> (U[k/2] == i), IPL_DOM); // Forbid illegal move } } else { // Model from P. Nightingale but we add cut and prune universal in order @@ -261,25 +271,25 @@ class ConnectFourAllState : public Script, public QSpaceInfo { else uWm << getUnWatched(M[k]); // Some moves has been recorded, we play them here - if (rMoves.size() > k) rel(*this, uWm[k] == rMoves[k], ICL_DOM); + if (rMoves.size() > k) rel(*this, uWm[k] == rMoves[k], IPL_DOM); // Set the move-here variables if (k==0) for (int i=0; i < col; i++) - rel(*this, (m[0] == i) == (mh[0*col+i] && moveDone[0]), ICL_DOM); + rel(*this, (m[0] == i) == (mh[0*col+i] && moveDone[0]), IPL_DOM); else { for (int i=0; i < col; i++) { if (opt.QCSPmodel() <= 1) { // Not exactly as the article, we have drop the part with !lineMove[k-1]. // We have to do this because it is not compatible with the constraints // which force the last board to be full - // rel(*this, (!lineMove[k-1] && (h[(k-1)*col+i] < row) && (m[k] == i)) == mh[k*col+i], ICL_DOM); - rel(*this, ((h[(k-1)*col+i] < row) && (m[k] == i)) == mh[k*col+i], ICL_DOM); + // rel(*this, (!lineMove[k-1] && (h[(k-1)*col+i] < row) && (m[k] == i)) == mh[k*col+i], IPL_DOM); + rel(*this, ((h[(k-1)*col+i] < row) && (m[k] == i)) == mh[k*col+i], IPL_DOM); } else { // opt.QCSPmodel() > 1 - // rel(*this, (!lineMove[k-1] && (h[(k-1)*col+i] < row) && (m[k] == i)) == (mh[k*col+i] && moveDone[k]), ICL_DOM); - rel(*this, ((h[(k-1)*col+i] < row) && (m[k] == i)) == (mh[k*col+i] && moveDone[k]), ICL_DOM); + // rel(*this, (!lineMove[k-1] && (h[(k-1)*col+i] < row) && (m[k] == i)) == (mh[k*col+i] && moveDone[k]), IPL_DOM); + rel(*this, ((h[(k-1)*col+i] < row) && (m[k] == i)) == (mh[k*col+i] && moveDone[k]), IPL_DOM); // Prune for universal - rel(*this, (h[(k-1)*col+i] == row) >> (uWm[k] != i), ICL_DOM); // Prune illegal move from universal + rel(*this, (h[(k-1)*col+i] == row) >> (uWm[k] != i), IPL_DOM); // Prune illegal move from universal // Add cut if ((k%2) == 1) cut(*this, (gameWinner[k-1] == Red) && moveDone[k-1]); @@ -296,24 +306,24 @@ class ConnectFourAllState : public Script, public QSpaceInfo { be = expr(*this, board[offSet+i*row+j] != (((k%2)==0)?Black:Red)); for (int jj=j+1; jj < row; jj++) be = expr(*this, be && (board[offSet+i*row+jj] == Nil)); - rel(*this, pos[offSet+i*row+j] == be, ICL_DOM); + rel(*this, pos[offSet+i*row+j] == be, IPL_DOM); } for (int k=0, offSet = 0; k> (board[offSet+i*row] == Nil), ICL_DOM); - rel(*this, mh[0*col+i] >> (board[offSet+i*row] == Red), ICL_DOM); + rel(*this, pos[offSet+i*row], IPL_DOM); + rel(*this, pos[offSet+i*row+row-1], IPL_DOM); + rel(*this, !mh[0*col+i] >> (board[offSet+i*row] == Nil), IPL_DOM); + rel(*this, mh[0*col+i] >> (board[offSet+i*row] == Red), IPL_DOM); } } else { for (int i=0; i < col; i++) { - rel(*this, (h[(k-1)*col+i] == row) == !pos[offSet+i*row+row-1], ICL_DOM); + rel(*this, (h[(k-1)*col+i] == row) == !pos[offSet+i*row+row-1], IPL_DOM); for (int j=0; j < row; j++) { - rel(*this, (h[(k-1)*col+i] == j) >> pos[offSet+i*row+j], ICL_DOM); - rel(*this, (!mh[k*col+i] && (h[(k-1)*col+i] == j)) >> (board[offSet+i*row+j] == Nil), ICL_DOM); - rel(*this, ( mh[k*col+i] && (h[(k-1)*col+i] == j)) >> (board[offSet+i*row+j] == (((k%2)==0)?Red:Black)), ICL_DOM); + rel(*this, (h[(k-1)*col+i] == j) >> pos[offSet+i*row+j], IPL_DOM); + rel(*this, (!mh[k*col+i] && (h[(k-1)*col+i] == j)) >> (board[offSet+i*row+j] == Nil), IPL_DOM); + rel(*this, ( mh[k*col+i] && (h[(k-1)*col+i] == j)) >> (board[offSet+i*row+j] == (((k%2)==0)?Red:Black)), IPL_DOM); } } } @@ -322,8 +332,8 @@ class ConnectFourAllState : public Script, public QSpaceInfo { for (int k=1, offSet = row*col; k> (board[offSet+i*row+j] == Black), ICL_DOM); - rel(*this, (board[(offSet-row*col)+i*row+j] == Red) >> (board[offSet+i*row+j] == Red), ICL_DOM); + rel(*this, (board[(offSet-row*col)+i*row+j] == Black) >> (board[offSet+i*row+j] == Black), IPL_DOM); + rel(*this, (board[(offSet-row*col)+i*row+j] == Red) >> (board[offSet+i*row+j] == Red), IPL_DOM); } // Link height and board state @@ -331,11 +341,11 @@ class ConnectFourAllState : public Script, public QSpaceInfo { for (int i=0; i < col; i++) for (int j=0; j < row+1; j++) if (j==0) - rel(*this, (board[offSet+i*row] == Nil) >> (h[k*col+i] == 0), ICL_DOM); + rel(*this, (board[offSet+i*row] == Nil) >> (h[k*col+i] == 0), IPL_DOM); else if (j==row) - rel(*this, (board[offSet+i*row+j-1] != Nil) >> (h[k*col+i] == row), ICL_DOM); + rel(*this, (board[offSet+i*row+j-1] != Nil) >> (h[k*col+i] == row), IPL_DOM); else - rel(*this, ((board[offSet+i*row+j-1] != Nil) && (board[offSet+i*row+j] == Nil)) >> (h[k*col+i] == j), ICL_DOM); + rel(*this, ((board[offSet+i*row+j-1] != Nil) && (board[offSet+i*row+j] == Nil)) >> (h[k*col+i] == j), IPL_DOM); // Detect lines BoolVarArgs l; @@ -369,50 +379,50 @@ class ConnectFourAllState : public Script, public QSpaceInfo { lk << bRed; l << bRed; if (k>0) - rel(*this,(lineMove[k-1] || (x[0] != Red) || (x[1] != Red) || (x[2] != Red) || (x[3] != Red)) == !bRed, ICL_DOM); + rel(*this,(lineMove[k-1] || (x[0] != Red) || (x[1] != Red) || (x[2] != Red) || (x[3] != Red)) == !bRed, IPL_DOM); else - rel(*this,((x[0] != Red) || (x[1] != Red) || (x[2] != Red) || (x[3] != Red)) == !bRed, ICL_DOM); + rel(*this,((x[0] != Red) || (x[1] != Red) || (x[2] != Red) || (x[3] != Red)) == !bRed, IPL_DOM); } else { BoolVar bBlack(*this,0,1); lk << bBlack; l << bBlack; - rel(*this,(lineMove[k-1] || (x[0] != Black) || (x[1] != Black) || (x[2] != Black) || (x[3] != Black)) == !bBlack, ICL_DOM); + rel(*this,(lineMove[k-1] || (x[0] != Black) || (x[1] != Black) || (x[2] != Black) || (x[3] != Black)) == !bBlack, IPL_DOM); } } } } } if (k>0) lk << lineMove[k-1]; - rel(*this, BOT_OR, lk, lineMove[k], ICL_DOM); + rel(*this, BOT_OR, lk, lineMove[k], IPL_DOM); } line = BoolVarArray(*this, l); // Set GameState variables - rel(*this, gameWinner[0] == Nil, ICL_DOM); + rel(*this, gameWinner[0] == Nil, IPL_DOM); for (int k=1; k < nbDecisionVar; k++) { - rel(*this, (gameWinner[k-1] == Black) >> (gameWinner[k] == Black), ICL_DOM); - rel(*this, (gameWinner[k-1] == Red) >> (gameWinner[k] == Red), ICL_DOM); - rel(*this, ((gameWinner[k-1] == Nil) && !lineMove[k]) >> (gameWinner[k] == Nil), ICL_DOM); + rel(*this, (gameWinner[k-1] == Black) >> (gameWinner[k] == Black), IPL_DOM); + rel(*this, (gameWinner[k-1] == Red) >> (gameWinner[k] == Red), IPL_DOM); + rel(*this, ((gameWinner[k-1] == Nil) && !lineMove[k]) >> (gameWinner[k] == Nil), IPL_DOM); if ((k%2) == 0) - rel(*this, ((gameWinner[k-1] == Nil) && lineMove[k]) >> (gameWinner[k] == Red), ICL_DOM); + rel(*this, ((gameWinner[k-1] == Nil) && lineMove[k]) >> (gameWinner[k] == Red), IPL_DOM); else - rel(*this, ((gameWinner[k-1] == Nil) && lineMove[k]) >> (gameWinner[k] == Black), ICL_DOM); + rel(*this, ((gameWinner[k-1] == Nil) && lineMove[k]) >> (gameWinner[k] == Black), IPL_DOM); if (opt.QCSPmodel() == 3) { // If not winner before, only current player have a chance to win // the game at this move -- NOT IN INITIAL MODEL if ((k%2) == 0) - rel(*this, (gameWinner[k-1] == Nil) >> (gameWinner[k] != Black), ICL_DOM); + rel(*this, (gameWinner[k-1] == Nil) >> (gameWinner[k] != Black), IPL_DOM); else - rel(*this, (gameWinner[k-1] == Nil) >> (gameWinner[k] != Red), ICL_DOM); + rel(*this, (gameWinner[k-1] == Nil) >> (gameWinner[k] != Red), IPL_DOM); } } // For first move, symmetry is broken by removing the rightmost (upper): col - (col div 2) - if (kOffset == 0) rel(*this, m[0], IRT_LE, col - (col / 2), ICL_DOM); + if (kOffset == 0) rel(*this, m[0], IRT_LE, col - (col / 2), IPL_DOM); // Force a winner at the end of the game - rel(*this, gameWinner[nbDecisionVar-1], IRT_EQ, Red, ICL_DOM); + rel(*this, gameWinner[nbDecisionVar-1], IRT_EQ, Red, IPL_DOM); if (opt.QCSPmodel() == 1) { // Set the last board full. @@ -421,7 +431,7 @@ class ConnectFourAllState : public Script, public QSpaceInfo { // doesn't have to be filled. for (int i=0; i < col; i++) for (int j=0; j < row; j++) - rel(*this, board[(nbDecisionVar-1)*row*col+i*row+j] != Nil, ICL_DOM); + rel(*this, board[(nbDecisionVar-1)*row*col+i*row+j] != Nil, IPL_DOM); } } diff --git a/contribs/quacode/examples/matrix-game.cpp b/contribs/quacode/examples/matrix-game.cpp index f5386645c1..037524f5b2 100644 --- a/contribs/quacode/examples/matrix-game.cpp +++ b/contribs/quacode/examples/matrix-game.cpp @@ -64,6 +64,8 @@ class MatrixGameOptions : public Options { protected: /// Optional file name Gecode::Driver::StringValueOption _file; + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; /// Flag to known if we have to print initial board Driver::BoolOption _printBoard; public: @@ -71,10 +73,12 @@ class MatrixGameOptions : public Options { /// Initialize options for example with name \a s MatrixGameOptions(const char* s, int n0, bool pb0) : Options(s), _file("-file","File name for MatrixGameOptionsrix input"), + _printStrategy("-printStrategy","Print strategy",false), _printBoard("-printBoard", "whether to print initial board",pb0), n(n0) { add(_file); + add(_printStrategy); add(_printBoard); } /// Parse options from arguments \a argv (number is \a argc) @@ -94,6 +98,10 @@ class MatrixGameOptions : public Options { const char* file(void) const { return _file.value(); } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } /// Return true if we have to print initial board bool printBoard(void) const { return _printBoard.value(); @@ -105,9 +113,10 @@ class QCSPMatrixGame : public Script, public QSpaceInfo { public: - QCSPMatrixGame(const MatrixGameOptions& opt) : Script(), QSpaceInfo() + QCSPMatrixGame(const MatrixGameOptions& opt) : Script(opt), QSpaceInfo() { std::cout << "Loading problem" << std::endl; + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy using namespace Int; int depth = opt.n;// Size of the matrix is 2^depth. Large values may take long to solve... int boardSize = (int)pow((double)2,(double)depth); @@ -167,8 +176,8 @@ class QCSPMatrixGame : public Script, public QSpaceInfo { // Goal constaints IntVar cstUn(*this,1,1); IntVar boardIdx(*this,0,boardSize*boardSize); - linear(*this, access, x, IRT_EQ, boardIdx, ICL_DOM); - element(*this, board, boardIdx, cstUn, ICL_DOM); + linear(*this, access, x, IRT_EQ, boardIdx, IPL_DOM); + element(*this, board, boardIdx, cstUn, IPL_DOM); branch(*this, X, INT_VAR_NONE(), INT_VAL_MIN()); } diff --git a/contribs/quacode/examples/nim-fibo.cpp b/contribs/quacode/examples/nim-fibo.cpp index 3d939d587b..dc4663997f 100644 --- a/contribs/quacode/examples/nim-fibo.cpp +++ b/contribs/quacode/examples/nim-fibo.cpp @@ -63,12 +63,16 @@ namespace Gecode { namespace Driver { class NimFiboOptions : public Options { public: int n; /// Parameter to be given on the command line + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; /// Use cut or not Gecode::Driver::BoolOption _cut; /// Initialize options for example with name \a s NimFiboOptions(const char* s, int n0) : Options(s), n(n0), + _printStrategy("-printStrategy","Print strategy",false), _cut("-cut","Use cut in problem model",true) { + add(_printStrategy); add(_cut); } /// Parse options from arguments \a argv (number is \a argc) @@ -84,6 +88,10 @@ class NimFiboOptions : public Options { std::cerr << "\t(unsigned int) default: " << n << std::endl << "\t\tnumber of initial matchs" << std::endl; } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } /// Return true if cut must be used bool cut(void) const { return _cut.value(); @@ -115,9 +123,10 @@ class QCSPNimFibo : public Script, public QSpaceInfo { public: - QCSPNimFibo(const NimFiboOptions& opt) : Script(), QSpaceInfo() + QCSPNimFibo(const NimFiboOptions& opt) : Script(opt), QSpaceInfo() { std::cout << "Loading problem" << std::endl; + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy using namespace Int; // Number of matches int NMatchs = opt.n; diff --git a/contribs/quacode/examples/qbf.cpp b/contribs/quacode/examples/qbf.cpp index 42e6e2b059..a7b665630a 100644 --- a/contribs/quacode/examples/qbf.cpp +++ b/contribs/quacode/examples/qbf.cpp @@ -64,17 +64,21 @@ namespace Gecode { namespace Driver { * \brief Options taking one additional parameter */ class QBFOptions : public Options { + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; Driver::BoolOption _qConstraint; /// Parameter to decide between optimized quantified constraints or usual ones public: int n; /// Parameter to be given on the command line /// Initialize options for example with name \a s QBFOptions(const char* s, int n0, bool _qConstraint0) : Options(s), + _printStrategy("-printStrategy","Print strategy",false), _qConstraint("-quantifiedConstraints", "whether to use quantified optimized constraints", _qConstraint0), n(n0) { + add(_printStrategy); add(_qConstraint); } /// Parse options from arguments \a argv (number is \a argc) @@ -84,6 +88,10 @@ class QBFOptions : public Options { return; n = atoi(argv[1]); } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } bool qConstraint(void) const { return _qConstraint.value(); } @@ -98,9 +106,10 @@ class QBFOptions : public Options { class QBFProblem : public Script, public QSpaceInfo { BoolVarArray X; public: - QBFProblem(const QBFOptions& opt) : Script(), QSpaceInfo() + QBFProblem(const QBFOptions& opt) : Script(opt), QSpaceInfo() { std::cout << "Loading problem" << std::endl; + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy using namespace Int; X = BoolVarArray(*this,4,0,1); diff --git a/contribs/quacode/examples/qdimacs.cpp b/contribs/quacode/examples/qdimacs.cpp index 8f3ed3ac8b..5835e6ba67 100644 --- a/contribs/quacode/examples/qdimacs.cpp +++ b/contribs/quacode/examples/qdimacs.cpp @@ -64,6 +64,8 @@ using namespace Gecode; */ class QDimacsOptions : public Options { public: + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; /// Parameter to decide between optimized quantified constraints or usual ones Driver::BoolOption _qConstraint; /// Name of the QDIMACS file to parse @@ -71,10 +73,12 @@ class QDimacsOptions : public Options { /// Initialize options with file name \a s QDimacsOptions(const char* s, bool _qConstraint0) : Options(s), + _printStrategy("-printStrategy","Print strategy",false), _qConstraint("-quantifiedConstraints", "whether to use quantified optimized constraints", _qConstraint0) { + add(_printStrategy); add(_qConstraint); } /// Parse options from arguments \a argv (number is \a argc) @@ -89,6 +93,10 @@ class QDimacsOptions : public Options { filename = argv[1]; argc--; } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } /// Print help message virtual void help(void) { Options::help(); @@ -147,7 +155,8 @@ class QDimacs : public Script, public QSpaceInfo { QBoolVarArray qx; public: /// The actual problem - QDimacs(const QDimacsOptions& opt) : QSpaceInfo() { + QDimacs(const QDimacsOptions& opt) : Script(opt), QSpaceInfo() { + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy parseQDIMACS(opt.filename.c_str(),opt._qConstraint.value()); } diff --git a/contribs/quacode/examples/rndQCSP.cpp b/contribs/quacode/examples/rndQCSP.cpp new file mode 100644 index 0000000000..2b3ce4a899 --- /dev/null +++ b/contribs/quacode/examples/rndQCSP.cpp @@ -0,0 +1,188 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Vincent Barichard + * + * Copyright: + * Vincent Barichard, 2013 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Quacode: + * http://quacode.barichard.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +#include +#include +#include + +using namespace Gecode; + +#ifdef GECODE_HAS_GIST +namespace Gecode { namespace Driver { + /// Specialization for QDFS + template + class GistEngine > { + public: + static void explore(S* root, const Gist::Options& opt) { + (void) Gist::explore(root, false, opt); + } + }; +}} +#endif + + +/** + * \brief Options taking one additional parameter + */ +class RndQCSPOptions : public Options { + public: + /// Print strategy or not + Gecode::Driver::BoolOption _printStrategy; + /// File name of bench + Gecode::Driver::StringValueOption _file; + /// Initialize options for example with name \a s + RndQCSPOptions(const char* s) + : Options(s), + _printStrategy("-printStrategy","Print strategy",false), + _file("-file","File name of benchmark file") + { + add(_printStrategy); + add(_file); + } + /// Return true if the strategy must be printed + bool printStrategy(void) const { + return _printStrategy.value(); + } + /// Return file name + const char *file(void) const { + return _file.value(); + } +}; + +class RndQCSP : public Script, public QSpaceInfo { + IntVarArray X; + + public: + RndQCSP(const RndQCSPOptions& opt) : Script(opt), QSpaceInfo() + { + std::cout << "Loading problem" << std::endl; + using namespace Int; + + if (!opt.printStrategy()) strategyMethod(0); // disable build and print strategy + if (!opt.file()) { + throw Gecode::Exception("rndQCSP","Unable to open file"); + } + + IntVarArgs vaX; + int nbVars=0; + + static const int READ_DESC = 0; + static const int READ_VAR = 1; + static const int READ_CST = 2; + std::ifstream f(opt.file()); + std::string line; + if (f.good()) { + int state = READ_DESC; + while ( !f.eof() ) { + getline(f,line); + if ( line.empty() ) break; + std::istringstream iLine(line); + int val; + switch (state) { + case READ_DESC: + iLine >> nbVars; // Read number of variables + iLine >> val; // Read number of existential variables + iLine >> val; // Read number of universal variables + state = READ_VAR; + break; + case READ_VAR: + { + char quant; + int domMin, domMax; + iLine >> val; // Read idx variable + iLine >> quant; // Read quantifier + iLine >> domMin; // Read minimal value of domain + iLine >> domMax; // Read maximal value of domain + IntVar v(*this,domMin,domMax); + if (quant == 'F') setForAll(*this,v); + vaX << v; + nbVars--; + if (nbVars == 0) { + X = IntVarArray(*this, vaX); + state = READ_CST; + } + } + break; + case READ_CST: + { + int idx, coeff; + bool firstElt=true; + LinIntExpr liExp; + while (iLine >> coeff >> idx) { + if (firstElt) + liExp = LinIntExpr(X[idx],coeff); + else + liExp = liExp + LinIntExpr(X[idx],coeff); + firstElt=false; + } + rel(*this, liExp == 0); + } + break; + } + } + } + + f.close(); + + //branch(*this, X, INT_VAR_NONE(), INT_VALUES_MIN()); + branch(*this, X, INT_VAR_NONE(), INT_VAL_MIN()); + } + + RndQCSP(bool share, RndQCSP& p) : Script(share,p), QSpaceInfo(*this,share,p) + { + X.update(*this,share,p.X); + } + + virtual Space* copy(bool share) { return new RndQCSP(share,*this); } + + + void print(std::ostream& os) const { + strategyPrint(os); + } +}; + +int main(int argc, char* argv[]) +{ + + RndQCSPOptions opt("RndQCSP Problem"); + opt.parse(argc,argv); + Script::run(opt); + + return 0; +} diff --git a/contribs/quacode/quacode/qcsp.hh b/contribs/quacode/quacode/qcsp.hh index 37263f4a29..6f8728fbbe 100644 --- a/contribs/quacode/quacode/qcsp.hh +++ b/contribs/quacode/quacode/qcsp.hh @@ -189,7 +189,7 @@ namespace Gecode { QuantArgs(int n, const TQuantifier* e) : PrimArgArray(n, e) {} /// Initialize from primitive argument array \a a (copy elements) QuantArgs(const PrimArgArray& a) : PrimArgArray(a) {} - //@} + //@} }; /** \brief Post domain consistent propagator for Quantified Boolean operation on \a x0 and \a x1 @@ -241,13 +241,15 @@ namespace Gecode { * \ingroup TaskModelSearch */ template - class QDFS : public EngineBase { + class QDFS : public Search::Base { private: /// The actual search engine Search::Engine* e; public: /// Initialize search engine for space \a s with options \a o QDFS(T* s, const Search::Options& o=Search::Options::def); + /// Whether engine does best solution search + static const bool best = false; /// Return next solution (NULL, if none exists or search has been stopped) T* next(void); /// Return statistics diff --git a/contribs/quacode/quacode/qint/qbool/eqv.hpp b/contribs/quacode/quacode/qint/qbool/eqv.hpp index d15543acd3..6e14abff86 100644 --- a/contribs/quacode/quacode/qint/qbool/eqv.hpp +++ b/contribs/quacode/quacode/qint/qbool/eqv.hpp @@ -130,7 +130,7 @@ namespace Gecode { namespace Int { namespace Bool { case GECODE_INT_STATUS(NONE,NONE,ONE): return ES_FIX; case GECODE_INT_STATUS(NONE,ZERO,NONE): - if (q0 == FORALL) + if (q0 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } @@ -142,7 +142,7 @@ namespace Gecode { namespace Int { namespace Bool { if (q0 == FORALL) return ES_FAILED; GECODE_ME_CHECK(x0.zero_none(home)); break; case GECODE_INT_STATUS(NONE,ONE,NONE): - if (q0 == FORALL) + if (q0 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } @@ -154,7 +154,7 @@ namespace Gecode { namespace Int { namespace Bool { if (q0 == FORALL) return ES_FAILED; GECODE_ME_CHECK(x0.one_none(home)); break; case GECODE_INT_STATUS(ZERO,NONE,NONE): - if (q1 == FORALL) + if (q1 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } @@ -178,7 +178,7 @@ namespace Gecode { namespace Int { namespace Bool { case GECODE_INT_STATUS(ZERO,ONE,ONE): return ES_FAILED; case GECODE_INT_STATUS(ONE,NONE,NONE): - if (q1 == FORALL) + if (q1 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } diff --git a/contribs/quacode/quacode/qint/qbool/qbool.cpp b/contribs/quacode/quacode/qint/qbool/qbool.cpp index c488d713fe..c71c2ec6e5 100644 --- a/contribs/quacode/quacode/qint/qbool/qbool.cpp +++ b/contribs/quacode/quacode/qint/qbool/qbool.cpp @@ -70,7 +70,7 @@ namespace Gecode { GECODE_ES_FAIL((Bool::QOr ::post(home,qx0.x,qx0.q,qx0.r,qx1.x,qx1.q,qx1.r,x2))); break; - case BOT_IMP: + case BOT_IMP: { NegBoolView n0(qx0.x); GECODE_ES_FAIL((Bool::QOr @@ -104,13 +104,13 @@ namespace Gecode { QuantArgs qx(x.size()); IntArgs rx(x.size()); for (int i=x.size(); i--; ) { - NegBoolView n(x[i].x); xv[i]=n; qx[i]=x[i].q; rx[i]=x[i].r; + NegBoolView n(x[i].x); xv[i]=n; qx[i]=x[i].q; rx[i]=x[i].r; } ViewArray yv(home,y.size()); QuantArgs qy(y.size()); IntArgs ry(y.size()); for (int i=y.size(); i--; ) { - yv[i]=y[i].x; qy[i]=y[i].q; ry[i]=y[i].r; + yv[i]=y[i].x; qy[i]=y[i].q; ry[i]=y[i].r; } GECODE_ES_FAIL((Bool::QClauseTrue ::post(home,xv,qx,rx,yv,qy,ry))); @@ -137,13 +137,13 @@ namespace Gecode { QuantArgs qx(x.size()); IntArgs rx(x.size()); for (int i=x.size(); i--; ) { - xv[i]=x[i].x; qx[i]=x[i].q; rx[i]=x[i].r; + xv[i]=x[i].x; qx[i]=x[i].q; rx[i]=x[i].r; } ViewArray yv(home,y.size()); QuantArgs qy(y.size()); IntArgs ry(y.size()); for (int i=y.size(); i--; ) { - NegBoolView n(y[i].x); yv[i]=n; qy[i]=y[i].q; ry[i]=y[i].r; + NegBoolView n(y[i].x); yv[i]=n; qy[i]=y[i].q; ry[i]=y[i].r; } GECODE_ES_FAIL((Bool::QClauseTrue ::post(home,xv,qx,rx,yv,qy,ry))); @@ -166,13 +166,13 @@ namespace Gecode { QuantArgs qx(x.size()); IntArgs rx(x.size()); for (int i=x.size(); i--; ) { - NegBoolView n(x[i].x); xv[i]=n; qx[i]=x[i].q; rx[i]=x[i].r; + NegBoolView n(x[i].x); xv[i]=n; qx[i]=x[i].q; rx[i]=x[i].r; } ViewArray yv(home,y.size()); QuantArgs qy(y.size()); IntArgs ry(y.size()); for (int i=y.size(); i--; ) { - yv[i]=y[i].x; qy[i]=y[i].q; ry[i]=y[i].r; + yv[i]=y[i].x; qy[i]=y[i].q; ry[i]=y[i].r; } NegBoolView nz(z); GECODE_ES_FAIL((Bool::QClause @@ -186,13 +186,13 @@ namespace Gecode { QuantArgs qx(x.size()); IntArgs rx(x.size()); for (int i=x.size(); i--; ) { - xv[i]=x[i].x; qx[i]=x[i].q; rx[i]=x[i].r; + xv[i]=x[i].x; qx[i]=x[i].q; rx[i]=x[i].r; } ViewArray yv(home,y.size()); QuantArgs qy(y.size()); IntArgs ry(y.size()); for (int i=y.size(); i--; ) { - NegBoolView n(y[i].x); yv[i]=n; qy[i]=y[i].q; ry[i]=y[i].r; + NegBoolView n(y[i].x); yv[i]=n; qy[i]=y[i].q; ry[i]=y[i].r; } GECODE_ES_FAIL((Bool::QClause ::post(home,xv,qx,rx,yv,qy,ry,z))); diff --git a/contribs/quacode/quacode/qint/qbool/xorv.hpp b/contribs/quacode/quacode/qint/qbool/xorv.hpp index d31c70a297..887e27506a 100644 --- a/contribs/quacode/quacode/qint/qbool/xorv.hpp +++ b/contribs/quacode/quacode/qint/qbool/xorv.hpp @@ -130,7 +130,7 @@ namespace Gecode { namespace Int { namespace Bool { case GECODE_INT_STATUS(NONE,NONE,ONE): return ES_FIX; case GECODE_INT_STATUS(NONE,ZERO,NONE): - if (q0 == FORALL) + if (q0 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } @@ -142,7 +142,7 @@ namespace Gecode { namespace Int { namespace Bool { if (q0 == FORALL) return ES_FAILED; GECODE_ME_CHECK(x0.one_none(home)); break; case GECODE_INT_STATUS(NONE,ONE,NONE): - if (q0 == FORALL) + if (q0 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } @@ -154,7 +154,7 @@ namespace Gecode { namespace Int { namespace Bool { if (q0 == FORALL) return ES_FAILED; GECODE_ME_CHECK(x0.zero_none(home)); break; case GECODE_INT_STATUS(ZERO,NONE,NONE): - if (q1 == FORALL) + if (q1 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } @@ -178,7 +178,7 @@ namespace Gecode { namespace Int { namespace Bool { case GECODE_INT_STATUS(ZERO,ONE,ONE): return ES_FAILED; case GECODE_INT_STATUS(ONE,NONE,NONE): - if (q1 == FORALL) + if (q1 == FORALL) { GECODE_ME_CHECK(x2.zero_none(home)); break; } diff --git a/contribs/quacode/quacode/qspaceinfo.hh b/contribs/quacode/quacode/qspaceinfo.hh index 022635ae53..f1226a948b 100644 --- a/contribs/quacode/quacode/qspaceinfo.hh +++ b/contribs/quacode/quacode/qspaceinfo.hh @@ -66,7 +66,7 @@ namespace Gecode { using BinaryPropagator::x1; /// Initial size of x0 - unsigned int x0Size; + unsigned int x0Size; /// Constructor for cloning \a p Watch(Space& home, bool share, Watch& p); /// Constructor for posting diff --git a/contribs/quacode/quacode/search/sequential/qdfs.hh b/contribs/quacode/quacode/search/sequential/qdfs.hh index 36d088264d..6e051b1ff1 100644 --- a/contribs/quacode/quacode/search/sequential/qdfs.hh +++ b/contribs/quacode/quacode/search/sequential/qdfs.hh @@ -76,6 +76,8 @@ namespace Gecode { namespace Search { namespace Sequential { Space* next(void); /// Return statistics Statistics statistics(void) const; + /// Constrain future solutions to be better than \a b (should never be called) + void constrain(const Space& b); /// Reset engine to restart at space \a s void reset(Space* s); /// Return no-goods @@ -84,12 +86,13 @@ namespace Gecode { namespace Search { namespace Sequential { ~QDFS(void); }; - forceinline + forceinline QDFS::QDFS(Space* s, const Options& o) : opt(o), path(static_cast(opt.nogoods_limit)), d(0) { if ((s == NULL) || (s->status(*this) == SS_FAILED)) { fail++; cur = NULL; + if (s) dynamic_cast(s)->strategyFailed(); if (!opt.clone) delete s; } else { @@ -104,8 +107,8 @@ namespace Gecode { namespace Search { namespace Sequential { path.reset(); d = 0; if ((s == NULL) || (s->status(*this) == SS_FAILED)) { - delete s; cur = NULL; + if (s) dynamic_cast(s)->strategyFailed(); } else { cur = s; dynamic_cast(cur)->strategyReset(); @@ -121,6 +124,7 @@ namespace Gecode { namespace Search { namespace Sequential { forceinline Space* QDFS::next(void) { Space * solvedSpace = NULL; + Space * failedSpace = NULL; TQuantifier bckQuant = EXISTS; start(); while (true) { @@ -141,7 +145,7 @@ namespace Gecode { namespace Search { namespace Sequential { // On devra dépiler jusqu'au dernier existentiel bckQuant = EXISTS; fail++; - delete cur; + failedSpace = cur; cur = NULL; break; case SS_SOLVED: @@ -181,10 +185,15 @@ namespace Gecode { namespace Search { namespace Sequential { cur = NULL; if (solvedSpace) { - dynamic_cast(cur)->strategySuccess(); + dynamic_cast(solvedSpace)->strategySuccess(); return solvedSpace; } else { - dynamic_cast(cur)->strategyFailed(); + if (failedSpace) + { + // Can be NULL if failed space on construction + dynamic_cast(failedSpace)->strategyFailed(); + delete failedSpace; + } return NULL; } } @@ -195,6 +204,11 @@ namespace Gecode { namespace Search { namespace Sequential { delete solvedSpace; solvedSpace = NULL; } + if (failedSpace) + { + delete failedSpace; + failedSpace = NULL; + } } GECODE_NEVER; return NULL; @@ -205,7 +219,13 @@ namespace Gecode { namespace Search { namespace Sequential { return *this; } - forceinline + forceinline void + QDFS::constrain(const Space& b) { + (void) b; + assert(false); + } + + forceinline QDFS::~QDFS(void) { delete cur; path.reset(); diff --git a/contribs/quacode/quacode/search/sequential/qpath.hh b/contribs/quacode/quacode/search/sequential/qpath.hh index d4f15f6513..21d17797a4 100644 --- a/contribs/quacode/quacode/search/sequential/qpath.hh +++ b/contribs/quacode/quacode/search/sequential/qpath.hh @@ -146,7 +146,7 @@ namespace Gecode { namespace Search { namespace Sequential { void unwind(int l); /// Commit space \a s as described by stack entry at position \a i void commit(Space* s, int i) const; - /// Recompute space according to path + /// Recompute space according to path Space* recompute(unsigned int& d, unsigned int a_d, Worker& s); /// Recompute space according to path Space* recompute(unsigned int& d, unsigned int a_d, Worker& s, @@ -236,7 +236,7 @@ namespace Gecode { namespace Search { namespace Sequential { */ forceinline - QPath::QPath(int l) + QPath::QPath(int l) : ds(heap), _ngdl(l) {} forceinline int diff --git a/contribs/quacode/quacode/support/dynamic-list.hh b/contribs/quacode/quacode/support/dynamic-list.hh index 844a6d19fd..8a5406f9b6 100644 --- a/contribs/quacode/quacode/support/dynamic-list.hh +++ b/contribs/quacode/quacode/support/dynamic-list.hh @@ -160,19 +160,19 @@ namespace Gecode { namespace Support { DynamicList::size(void) const { return _size; } - + template forceinline bool DynamicList::empty(void) const { return fst == NULL; } - + template forceinline bool DynamicList::end(void) const { return cur == NULL; } - + template forceinline T DynamicList::operator ()(void) { diff --git a/doxygen/doxygen.conf.in b/doxygen/doxygen.conf.in index 2ad3a7e39f..94325ffe82 100644 --- a/doxygen/doxygen.conf.in +++ b/doxygen/doxygen.conf.in @@ -49,181 +49,181 @@ # Project related configuration options #--------------------------------------------------------------------------- -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = Gecode -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = @VERSION@ -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = doc -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, -# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, -# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, -# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, +# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, +# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, +# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" -ABBREVIATE_BRIEF = +ABBREVIATE_BRIEF = -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the # path to strip. -STRIP_FROM_PATH = +STRIP_FROM_PATH = -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. -STRIP_FROM_INC_PATH = +STRIP_FROM_INC_PATH = -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = YES -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = YES -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO -# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = +ALIASES = -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources -# only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = NO @@ -232,178 +232,178 @@ SUBGROUPING = NO # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = YES -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file +# If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = YES -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = YES -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = YES -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = YES -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the +# Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = YES -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = NO -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES -# The ENABLED_SECTIONS tag can be used to enable conditional +# The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. -ENABLED_SECTIONS = +ENABLED_SECTIONS = -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. SHOW_DIRECTORIES = YES -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the progam writes to standard output +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from the +# version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the progam writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = "perl @top_srcdir@/misc/getrevision.perl" @@ -412,49 +412,49 @@ FILE_VERSION_FILTER = "perl @top_srcdir@/misc/getrevision.perl" # configuration options related to warning and progress messages #--------------------------------------------------------------------------- -# The QUIET tag can be used to turn on/off the messages that are generated +# The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = NO -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = doxygen.log @@ -463,18 +463,18 @@ WARN_LOGFILE = doxygen.log # configuration options related to the input files #--------------------------------------------------------------------------- -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = . @top_srcdir@ -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm FILE_PATTERNS = *.h \ @@ -483,26 +483,26 @@ FILE_PATTERNS = *.h \ *.cpp \ *.hpp -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = gecode.framework -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = \ @@ -514,53 +514,53 @@ EXCLUDE_PATTERNS = \ *gecode/flatzinc/exampleplugin/* \ *gecode/flatzinc/parser.tab.* *gecode/flatzinc/lexer.* -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = *.cpp -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see # the \image command). -IMAGE_PATH = +IMAGE_PATH = -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. -INPUT_FILTER = +INPUT_FILTER = -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. -FILTER_PATTERNS = +FILTER_PATTERNS = -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO @@ -569,38 +569,38 @@ FILTER_SOURCE_FILES = NO # configuration options related to source browsing #--------------------------------------------------------------------------- -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES -# Setting the INLINE_SOURCES tag to YES will include the body +# Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES @@ -609,21 +609,21 @@ VERBATIM_HEADERS = YES # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 3 -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = @@ -632,110 +632,110 @@ IGNORE_PREFIX = # configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = header.html -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = @top_srcdir@/misc/doxygen/footer.html -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = @top_srcdir@/misc/doxygen/stylesheet.css -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = GecodeReference.chm -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = hhc.exe -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = YES -# The TOC_EXPAND flag can be set to YES to add extra items for group members +# The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = YES -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = YES -# This tag can be used to set the number of enum values (range [1..20]) +# This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 @@ -744,74 +744,74 @@ TREEVIEW_WIDTH = 250 # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = amsmath -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! -LATEX_HEADER = +LATEX_HEADER = -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO @@ -820,68 +820,68 @@ LATEX_HIDE_INDICES = NO # configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. -RTF_STYLESHEET_FILE = +RTF_STYLESHEET_FILE = -# Set optional variables used in the generation of an rtf document. +# Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. -RTF_EXTENSIONS_FILE = +RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man -# The MAN_EXTENSION tag determines the extension that is added to +# The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO @@ -890,33 +890,33 @@ MAN_LINKS = NO # configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_SCHEMA = +XML_SCHEMA = -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the # syntax of the XML files. -XML_DTD = +XML_DTD = -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES @@ -925,10 +925,10 @@ XML_PROGRAMLISTING = YES # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO @@ -937,82 +937,82 @@ GENERATE_AUTOGEN_DEF = NO # configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. -PERLMOD_MAKEVAR_PREFIX = +PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- -# Configuration options related to the preprocessor +# Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = YES -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = +INCLUDE_PATH = -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. -INCLUDE_FILE_PATTERNS = +INCLUDE_FILE_PATTERNS = -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = "GECODE_SET_EXPORT=" \ @@ -1021,8 +1021,6 @@ PREDEFINED = "GECODE_SET_EXPORT=" \ "GECODE_KERNEL_EXPORT=" \ "GECODE_SEARCH_EXPORT=" \ "GECODE_MINIMODEL_EXPORT=" \ - "GECODE_GRAPH_EXPORT=" \ - "GECODE_SCHEDULING_EXPORT=" \ "GECODE_DRIVER_EXPORT=" \ "GECODE_GIST_EXPORT=" \ "GECODE_SUPPORT_EXPORT=" \ @@ -1030,220 +1028,222 @@ PREDEFINED = "GECODE_SET_EXPORT=" \ "GECODE_HAS_INT_VARS=1" \ "GECODE_HAS_SET_VARS=1" \ "GECODE_HAS_FLOAT_VARS=1" \ + "GECODE_HAS_GIST=1" \ "GECODE_THREADS_PTHREADS=1" \ "GECODE_HAS_THREADS=1" \ "GECODE_HAS_MPFR=1" \ + "GECODE_ALLOCATOR=1" \ "forceinline=inline" -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- -# Configuration::additions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen +# If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. -TAGFILES = +TAGFILES = -# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = @GECODE_DOXYGEN_TAGFILE@ -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES -# The PERL_PATH should be the absolute path and name of the perl script +# The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = NO -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = NO -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = NO -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = NO -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = YES -# If set to YES, the inheritance and collaboration graphs will show the +# If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = NO -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = NO -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = NO -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png -# The tag DOT_PATH can be used to specify the path where the dot tool can be +# The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. -DOT_PATH = +DOT_PATH = -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the # \dotfile command). -DOTFILE_DIRS = +DOTFILE_DIRS = -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that a graph may be further truncated if the graph's -# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH -# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that a graph may be further truncated if the graph's +# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH +# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, which results in a white background. +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = NO -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- -# Configuration::additions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- -# The SEARCHENGINE tag specifies whether or not a search engine should be +# The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = NO diff --git a/doxygen/doxygen.hh.in b/doxygen/doxygen.hh.in index 75df4b5a33..5f9dbdbf05 100644 --- a/doxygen/doxygen.hh.in +++ b/doxygen/doxygen.hh.in @@ -74,8 +74,8 @@ /** * \defgroup TaskModelSearch Search engines * - * Defines search engines. All search engines support recomputation. - * The behaviour of recomputation + * Defines search engines. All search engines (but Gecode::LDS, where + * it is not needed) support recomputation. The behaviour of recomputation * is controlled by a passing a search option object (see the class * Gecode::Search::Options). * @@ -118,6 +118,16 @@ * \ingroup TaskModel */ +/** + * \defgroup TaskGroup Propagator and brancher groups + * \ingroup TaskModel + */ + +/** + * \defgroup TaskTrace Tracing constraint propagation + * \ingroup TaskModel + */ + /** * \defgroup TaskSearch Programming search engines * \ingroup Task @@ -165,7 +175,7 @@ /** * \defgroup FuncMem Memory management * \ingroup Func - */ + */ /** * \defgroup FuncThrow Gecode exceptions @@ -181,7 +191,7 @@ * In order to use them, one needs to include the appropriate header-file * as described in the class and function documentation. * \ingroup Func - */ + */ /** * \defgroup FuncIter Range and value iterators @@ -200,7 +210,7 @@ * \c val(). Range iterators provide access to the smallest, largest, and * width of the current range by \c min(), \c max(), and \c width() * respectively. - * + * * Requires \code #include \endcode * \ingroup Func */ @@ -231,7 +241,7 @@ * \defgroup FuncIterValues Value iterators * * A value iterator provides incremental access to a sequence of increasing - * values. + * values. * * Requires \code #include \endcode * \ingroup FuncIter @@ -258,14 +268,14 @@ * \defgroup FuncKernelProp Generic propagators * * This module contains a description of all predefined generic - * propagators. + * propagators. * \ingroup Other */ /** * \defgroup FuncIntProp Integer propagators * - * This module contains a description of all predefined integer + * This module contains a description of all predefined integer * propagators. They can be reused, for example, for rewriting * newly defined integer propagators into already available * propagators. @@ -328,8 +338,8 @@ * * This document provides reference information about * %Gecode. - * The documentation is structured into three major groups: - * getting started, common programming tasks, and + * The documentation is structured into three major groups: + * getting started, common programming tasks, and * available functionality. * * This document corresponds to %Gecode version @VERSION@, please consult @@ -337,9 +347,9 @@ * * \section SecStart Getting started * - * For your fist steps with %Gecode, including detailed instructions on - * installing the library and compiling against it, please refer to the - * document Modeling and + * For your fist steps with %Gecode, including detailed instructions on + * installing the library and compiling against it, please refer to the + * document Modeling and * Programming with Gecode. * * You may also want to have a look at our \ref PageNotation as well as @@ -362,7 +372,7 @@ * * The complete functionality can be found \ref Func "here". * - * The part \ref Other documents existing propagators, variable + * The part \ref Other documents existing propagators, variable * implementations, and so on which serves as documentation of examples. * * \section SecIndex List and index content @@ -373,7 +383,7 @@ * * The following lists and indices are available * - \ref PageCodeStat - * - List of all modules + * - List of all modules * - List of all classes including brief documentation * - List of all namespaces including brief documentation * - List of all files @@ -393,17 +403,17 @@ * * \section NotationArray Array notation * - * We allow ourselves to refer to the \f$i\f$-th element of an array \f$x\f$ - * by \f$x_i\f$. The size of an array \f$x\f$ (either provided by a member + * We allow ourselves to refer to the \f$i\f$-th element of an array \f$x\f$ + * by \f$x_i\f$. The size of an array \f$x\f$ (either provided by a member * function \c %size() or clear from context) is denoted \f$|x|\f$. * * \section NotationHome The home space * - * Many functions and member functions take an argument \a home of + * Many functions and member functions take an argument \a home of * type \c Space&. The home space serves as manager to many * operations used by variables, views, propagators, spaces, and so * on. It provides - * services such as failure management, propagation control, + * services such as failure management, propagation control, * memory management, and so on. To keep the documentation concise * the home space is not documented for functions * and member functions. @@ -462,7 +472,7 @@ one for BoolVar). The regular constraint has been renamed to extensional (after all, it is an extensionally specified constraint). The old name -is still available in the MiniModel module. +is still available in the MiniModel module. If you want to use regular expressions, you have to add \code #include \endcode @@ -484,7 +494,7 @@ More information is available \ref TaskModelIntRelBool "here". \section SecChange2Branching Branching -Values and types for selecting how to branch have been made uniform. +Values and types for selecting how to branch have been made uniform. Replace BVAL_* by INT_VAL_*, BVAR_* by INT_VAR_*, and so on. \section SecChange2GCC Global cardinality constraint @@ -520,7 +530,7 @@ propagator implementations, etc, please consult the changelog. \section SecChange3Param Passing parameters Now everything is passed as reference (Space, Propagator, -ModEventDelta, Advisor, Branching, and BranchingDesc). +ModEventDelta, Advisor, Branching, and BranchingDesc). The reason for this massive change is to be more C++ compliant and make the interfaces more consistent (at some places things were passed as @@ -548,7 +558,7 @@ uniform interface, and the match constrained has been renamed to channel. The values for variable and value selection for branching have -been made consistent and extended. +been made consistent and extended. The following values have been renamed: - SET_VAR_MIN_CARD -> SET_VAR_SIZE_MIN - SET_VAR_MAX_CARD -> SET_VAR_SIZE_MAX @@ -600,7 +610,7 @@ details. \section SecChange4SizeBranch Branchings treat SIZE differently Variable selection for branching used the quotient of size -divided by degree, accumulated failure count, or activity. +divided by degree, accumulated failure count, or activity. Now the inverse is used. That is, for example, it is not any longer INT_VAR_SIZE_DEGREE_MIN() but INT_VAR_DEGREE_SIZE_MAX() (that is, largest degree divided by size). @@ -611,4 +621,32 @@ have run into division by zero issues. And just changing the implementation is not good enough because the values of these measures can now be exposed during tie-breaking. + +/** + * \page PageHowToChange_5 How to Change from %Gecode 4.4.0 to %Gecode 5.0.0 + * + +As %Gecode 5.0.0 is a major revision, your programs that +are written for %Gecode 4.4.0 are likely to require some +modifications, yet very few, before they work again. + +\section SecChange5Handle Removed Brancher Handles + +Brancher handles have been removed as they can be expressed +easily by brancher groups, please consult MPG for details. + +\section SecChange5IPL New Integer Propagation Levels + +The concept of integer consistency level "IntConLevel" has been +replaced by integer propagation level "IntPropLevel". In most cases +it should be sufficient to: + - search and replace ICL_ by IPL_. + - search and replace IntConLevel by IntPropLevel. + - use the commandline option -ipl rather than -icl. + +Integer propagation levels are more expressive than integer +consistency levels. They can also express other propagation +preferences such as speed, memory, basic, or advanced. Please +consult MPG for details. + */ diff --git a/examples/all-interval.cpp b/examples/all-interval.cpp index 3496cd2b43..984b3296c1 100755 --- a/examples/all-interval.cpp +++ b/examples/all-interval.cpp @@ -79,10 +79,10 @@ class AllInterval : public Script { // Set up variables for distance for (int i=0; i u) { + // A new bin is needed + u = j; f[u] -= size(i); + } else { + // The slack of the best-fit bin + int b = j++; + int s = f[b] - size(i); + while (j <= u) { + if ((f[j] >= size(i)) && (f[j] - size(i) < s)) { + b = j; s = f[b] - size(i); + } + j++; + } + f[b] -= size(i); + } } delete [] f; return u+1; @@ -181,7 +194,7 @@ namespace { * from: Ian Gent and Toby Walsh. From approximate to optimal solutions: * Constructing pruning and propagation rules. IJCAI 1997. * - * Additional domination rules are taken from: Paul Shaw. A Constraint + * Additional domination rules are taken from: Paul Shaw. A Constraint * for Bin Packing. CP 2004 * * \relates BinPacking @@ -205,11 +218,11 @@ class CDBF : public Brancher { int* same; /// Number of bins with same slack int n_same; - /** Initialize choice for brancher \a b, alternatives \a a, + /** Initialize choice for brancher \a b, alternatives \a a, * item \a i and same bins \a s. */ Choice(const Brancher& b, unsigned int a, int i, int* s, int n_s) - : Gecode::Choice(b,a), item(i), + : Gecode::Choice(b,a), item(i), same(heap.alloc(n_s)), n_same(n_s) { for (int k=n_same; k--; ) same[k] = s[k]; @@ -222,7 +235,7 @@ class CDBF : public Brancher { virtual void archive(Archive& e) const { Gecode::Choice::archive(e); e << alternatives() << item << n_same; - for (int i=n_same; i--;) + for (int i=n_same; i--;) e << same[i]; } /// Destructor @@ -230,22 +243,22 @@ class CDBF : public Brancher { heap.free(same,n_same); } }; - + public: /// Construct brancher CDBF(Home home, ViewArray& l, ViewArray& b, - IntSharedArray& s) + IntSharedArray& s) : Brancher(home), load(l), bin(b), size(s), item(0) { home.notice(*this,AP_DISPOSE); } /// Brancher post function - static BrancherHandle post(Home home, ViewArray& l, - ViewArray& b, - IntSharedArray& s) { - return *new (home) CDBF(home, l, b, s); + static void post(Home home, ViewArray& l, + ViewArray& b, + IntSharedArray& s) { + (void) new (home) CDBF(home, l, b, s); } /// Copy constructor - CDBF(Space& home, bool share, CDBF& cdbf) + CDBF(Space& home, bool share, CDBF& cdbf) : Brancher(home, share, cdbf), item(cdbf.item) { load.update(home, share, cdbf.load); bin.update(home, share, cdbf.bin); @@ -290,13 +303,13 @@ class CDBF : public Brancher { int* same = region.alloc(m+1); unsigned int n_same = 0; unsigned int n_possible = 0; - + // Initialize such that failure is guaranteed (pack into bin -1) same[n_same++] = -1; // Find a best-fit bin for item int slack = INT_MAX; - for (Int::ViewValues j(bin[item]); j(); ++j) + for (Int::ViewValues j(bin[item]); j(); ++j) if (size[item] <= free[j.val()]) { // Item still can fit into the bin n_possible++; @@ -309,8 +322,8 @@ class CDBF : public Brancher { same[n_same++] = j.val(); } } - /* - * Domination rules: + /* + * Domination rules: * - if the item fits the bin exactly, just assign * - if all possible bins are equivalent, just assign * @@ -332,7 +345,7 @@ class CDBF : public Brancher { return new Choice(*this, alt, item, same, n_same); } /// Perform commit for choice \a _c and alternative \a a - virtual ExecStatus commit(Space& home, const Gecode::Choice& _c, + virtual ExecStatus commit(Space& home, const Gecode::Choice& _c, unsigned int a) { const Choice& c = static_cast(_c); // This catches also the case that the choice has a single aternative only @@ -343,7 +356,7 @@ class CDBF : public Brancher { GECODE_ME_CHECK(bin[c.item].minus_v(home, same)); - for (int i = c.item+1; (i(_c); @@ -360,7 +373,7 @@ class CDBF : public Brancher { o << "bin[" << c.item << "] = " << c.same[0]; } else { o << "bin[" << c.item; - for (int i = c.item+1; (i load(home, l); ViewArray bin(home, b); IntSharedArray size(s); @@ -412,8 +425,8 @@ class BinPacking : public IntMinimizeScript { BRANCH_CDBF, ///< Use CDBF }; /// Actual model - BinPacking(const InstanceOptions& opt) - : IntMinimizeScript(opt), + BinPacking(const InstanceOptions& opt) + : IntMinimizeScript(opt), spec(opt.instance()), load(*this, spec.upper(), 0, spec.capacity()), bin(*this, spec.items(), 0, spec.upper()-1), @@ -432,7 +445,7 @@ class BinPacking : public IntMinimizeScript { IntArgs sizes(n); for (int i=0; i x(_x, n, m); - + for (int i=0; i spec.capacity()); i++) rel(*this, bin[i] == i); // Check if the next item cannot fit to position i-1 - if ((i < n) && (i < m) && (i > 0) && + if ((i < n) && (i < m) && (i > 0) && (spec.size(i-1) + spec.size(i) > spec.capacity())) rel(*this, bin[i] == i); } @@ -491,7 +504,7 @@ class BinPacking : public IntMinimizeScript { return bins; } /// Constructor for cloning \a s - BinPacking(bool share, BinPacking& s) + BinPacking(bool share, BinPacking& s) : IntMinimizeScript(share,s), spec(s.spec) { load.update(*this, share, s.load); bin.update(*this, share, s.bin); @@ -523,7 +536,7 @@ class BinPacking : public IntMinimizeScript { os << "} #" << load[j] << std::endl; } if (!bin.assigned()) { - os << std::endl + os << std::endl << "Unpacked items:" << std::endl; for (int i=0;i= 1 && v < 52); @@ -310,7 +310,7 @@ main(int argc, char* argv[]) { "dfa", "use DFA-based extensional propagation"); opt.propagation(BlackHole::PROPAGATION_TUPLE_SET, "tuple-set", "use TupleSet-based extensional propagation"); - opt.icl(ICL_DOM); + opt.ipl(IPL_DOM); opt.parse(argc,argv); // Generates the new board generate(opt.size()); diff --git a/examples/car-sequencing.cpp b/examples/car-sequencing.cpp index 281bbc451c..8ede186b66 100644 --- a/examples/car-sequencing.cpp +++ b/examples/car-sequencing.cpp @@ -94,8 +94,8 @@ namespace { * example, it relies on the fact that the value will be equal to * the upper bound to speed up computation. For example, it can * safely rely on only subscribing to bound events. - * - * \relates CarSequence + * + * \relates CarSequence */ template class PushToEnd : public NaryOnePropagator { @@ -110,26 +110,26 @@ namespace { PushToEnd(Space& home, ViewArray& x0, View y0, int val0); public: /// Constructor for rewriting \a p during cloning - PushToEnd(Space& home, bool share, Propagator& p, + PushToEnd(Space& home, bool share, Propagator& p, ViewArray& x0, View y0, int val0); /// Copy propagator during cloning virtual Actor* copy(Space& home, bool share); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator - static ExecStatus post(Space& home, + static ExecStatus post(Space& home, ViewArray& x0, View y0, int val0); }; template inline - PushToEnd::PushToEnd(Space& home, + PushToEnd::PushToEnd(Space& home, ViewArray& x0, View y0, int val0) : NaryOnePropagator(home,x0,y0), val(val0) {} template ExecStatus - PushToEnd::post(Space& home, + PushToEnd::post(Space& home, ViewArray& x0, View y0, int val0) { (void) new (home) PushToEnd(home,x0,y0,val0); return ES_OK; @@ -183,7 +183,7 @@ namespace { for (int i = 0, pos = x.size()-1; i < y.min(); ++i, --pos) { GECODE_ME_CHECK(x[pos].eq(home, val)); } - + return y.assigned() ? home.ES_SUBSUMED(*this) : ES_FIX; } @@ -227,7 +227,7 @@ class CarSequencing : public Script { /// Number of cars const int ncars; /// Number of options - const int noptions; + const int noptions; /// Number of classes const int nclasses; /// Maximum number of stalls @@ -247,8 +247,8 @@ class CarSequencing : public Script { CarSequencing(const CarOptions& opt) : Script(opt), problem(opt.size()), - ncars(problems[problem][0]), - noptions(problems[problem][1]), + ncars(problems[problem][0]), + noptions(problems[problem][1]), nclasses(problems[problem][2]), maxstall(opt.maxstall()), stallval(nclasses), @@ -272,7 +272,7 @@ class CarSequencing : public Script { IntArgs ncc(nclasses); // What classes require an option IntSetArgs classes(noptions); - int** cdata = new int*[noptions]; + int** cdata = new int*[noptions]; for (int i = noptions; i--; ) cdata[i] = new int[nclasses]; int* n = new int[noptions]; for (int i = noptions; i--; ) n[i] = 0; @@ -342,7 +342,7 @@ class CarSequencing : public Script { pushtoend(*this, s, nend, endval); } break; } - + // Branching switch (opt.branching()) { @@ -366,7 +366,7 @@ class CarSequencing : public Script { } } } - + /// Return cost virtual void constrain(const Space& _best) { const CarSequencing& best = static_cast(_best); @@ -378,7 +378,7 @@ class CarSequencing : public Script { print(std::ostream& os) const { int width = nclasses > 9 ? 2 : 1; const char* space = nclasses > 9 ? " " : ""; - os << "Stall slots=" << nstall + os << "Stall slots=" << nstall << ", End slots=" << nend << std::endl; int i = 0; for (; i < s.size(); ++i) { @@ -388,7 +388,7 @@ class CarSequencing : public Script { if (v == stallval) os << space << "_ "; else os << std::setw(width) << v << " "; } else { - os << space << "? "; + os << space << "? "; } if ((i+1)%20 == 0) os << std::endl; } @@ -399,7 +399,7 @@ class CarSequencing : public Script { /// Constructor for cloning \a s CarSequencing(bool share, CarSequencing& cs) - : Script(share,cs), + : Script(share,cs), problem(cs.problem), ncars(cs.ncars), noptions(cs.noptions), @@ -453,11 +453,11 @@ namespace { 10, 5, 6, 1, 2, 1, 2, 1, 2, 3, 3, 5, 5, - 0, 1, 1, 0, 1, 1, 0, - 1, 1, 0, 0, 0, 1, 0, - 2, 2, 0, 1, 0, 0, 1, - 3, 2, 0, 1, 0, 1, 0, - 4, 2, 1, 0, 1, 0, 0, + 0, 1, 1, 0, 1, 1, 0, + 1, 1, 0, 0, 0, 1, 0, + 2, 2, 0, 1, 0, 0, 1, + 3, 2, 0, 1, 0, 1, 0, + 4, 2, 1, 0, 1, 0, 0, 5, 2, 1, 1, 0, 0, 0 }; @@ -468,28 +468,28 @@ namespace { 100, 5, 22, 1, 2, 1, 2, 1, 2, 3, 3, 5, 5, - 0, 6, 1, 0, 0, 1, 0, - 1, 10, 1, 1, 1, 0, 0, - 2, 2, 1, 1, 0, 0, 1, - 3, 2, 0, 1, 1, 0, 0, - 4, 8, 0, 0, 0, 1, 0, - 5, 15, 0, 1, 0, 0, 0, - 6, 1, 0, 1, 1, 1, 0, - 7, 5, 0, 0, 1, 1, 0, - 8, 2, 1, 0, 1, 1, 0, - 9, 3, 0, 0, 1, 0, 0, - 10, 2, 1, 0, 1, 0, 0, - 11, 1, 1, 1, 1, 0, 1, - 12, 8, 0, 1, 0, 1, 0, - 13, 3, 1, 0, 0, 1, 1, - 14, 10, 1, 0, 0, 0, 0, - 15, 4, 0, 1, 0, 0, 1, - 16, 4, 0, 0, 0, 0, 1, - 17, 2, 1, 0, 0, 0, 1, - 18, 4, 1, 1, 0, 0, 0, - 19, 6, 1, 1, 0, 1, 0, - 20, 1, 1, 0, 1, 0, 1, - 21, 1, 1, 1, 1, 1, 1, + 0, 6, 1, 0, 0, 1, 0, + 1, 10, 1, 1, 1, 0, 0, + 2, 2, 1, 1, 0, 0, 1, + 3, 2, 0, 1, 1, 0, 0, + 4, 8, 0, 0, 0, 1, 0, + 5, 15, 0, 1, 0, 0, 0, + 6, 1, 0, 1, 1, 1, 0, + 7, 5, 0, 0, 1, 1, 0, + 8, 2, 1, 0, 1, 1, 0, + 9, 3, 0, 0, 1, 0, 0, + 10, 2, 1, 0, 1, 0, 0, + 11, 1, 1, 1, 1, 0, 1, + 12, 8, 0, 1, 0, 1, 0, + 13, 3, 1, 0, 0, 1, 1, + 14, 10, 1, 0, 0, 0, 0, + 15, 4, 0, 1, 0, 0, 1, + 16, 4, 0, 0, 0, 0, 1, + 17, 2, 1, 0, 0, 0, 1, + 18, 4, 1, 1, 0, 0, 0, + 19, 6, 1, 1, 0, 1, 0, + 20, 1, 1, 0, 1, 0, 1, + 21, 1, 1, 1, 1, 1, 1, }; // -------------------------------- @@ -499,28 +499,28 @@ namespace { 100, 5, 22, 1, 2, 1, 2, 1, 2, 3, 3, 5, 5, - 0, 13, 1, 0, 0, 0, 0, - 1, 8, 0, 0, 0, 1, 0, - 2, 7, 0, 1, 0, 0, 0, - 3, 1, 1, 0, 0, 1, 0, - 4, 12, 0, 0, 1, 0, 0, - 5, 5, 0, 1, 0, 1, 0, - 6, 5, 0, 0, 1, 1, 0, - 7, 6, 0, 1, 1, 0, 0, - 8, 3, 1, 0, 0, 0, 1, - 9, 12, 1, 1, 0, 0, 0, - 10, 8, 1, 1, 0, 1, 0, - 11, 2, 1, 0, 0, 1, 1, - 12, 2, 1, 1, 1, 0, 0, - 13, 1, 0, 1, 0, 1, 1, - 14, 4, 1, 0, 1, 0, 0, - 15, 4, 0, 1, 0, 0, 1, - 16, 1, 1, 1, 0, 1, 1, - 17, 2, 1, 0, 1, 1, 0, - 18, 1, 0, 0, 0, 0, 1, - 19, 1, 1, 1, 1, 1, 0, - 20, 1, 1, 1, 0, 0, 1, - 21, 1, 0, 1, 1, 1, 0, + 0, 13, 1, 0, 0, 0, 0, + 1, 8, 0, 0, 0, 1, 0, + 2, 7, 0, 1, 0, 0, 0, + 3, 1, 1, 0, 0, 1, 0, + 4, 12, 0, 0, 1, 0, 0, + 5, 5, 0, 1, 0, 1, 0, + 6, 5, 0, 0, 1, 1, 0, + 7, 6, 0, 1, 1, 0, 0, + 8, 3, 1, 0, 0, 0, 1, + 9, 12, 1, 1, 0, 0, 0, + 10, 8, 1, 1, 0, 1, 0, + 11, 2, 1, 0, 0, 1, 1, + 12, 2, 1, 1, 1, 0, 0, + 13, 1, 0, 1, 0, 1, 1, + 14, 4, 1, 0, 1, 0, 0, + 15, 4, 0, 1, 0, 0, 1, + 16, 1, 1, 1, 0, 1, 1, + 17, 2, 1, 0, 1, 1, 0, + 18, 1, 0, 0, 0, 0, 1, + 19, 1, 1, 1, 1, 1, 0, + 20, 1, 1, 1, 0, 0, 1, + 21, 1, 0, 1, 1, 1, 0, }; // --------------------------------- diff --git a/examples/cartesian-heart.cpp b/examples/cartesian-heart.cpp index d5b7511708..de2dd107c5 100644 --- a/examples/cartesian-heart.cpp +++ b/examples/cartesian-heart.cpp @@ -54,11 +54,11 @@ using namespace Gecode; * \f] * * By setting \f$p=0.5\f$ and \f$q=2\f$, it yields to the equation: - * + * * \f[ * x^2+2\left(y-\frac{\operatorname{abs}(x)^{\frac{1}{2}}}{2}\right)^2 = 1 * \f] - * + * * To get reasonable interval starting sizes, \f$x\f$ and \f$y\f$ * are restricted to \f$[-20;20]\f$. * @@ -72,7 +72,7 @@ class CartesianHeart : public Script { FloatNum step; public: /// Actual model - CartesianHeart(const Options& opt) + CartesianHeart(const Options& opt) : Script(opt), f(*this,2,-20,20), step(opt.step()) { int q = 2; FloatNum p = 0.5; @@ -82,20 +82,20 @@ class CartesianHeart : public Script { branch(*this, f[1], FLOAT_VAL_SPLIT_MIN()); } /// Constructor for cloning \a p - CartesianHeart(bool share, CartesianHeart& p) + CartesianHeart(bool share, CartesianHeart& p) : Script(share,p), step(p.step) { f.update(*this,share,p.f); } /// Copy during cloning - virtual Space* copy(bool share) { - return new CartesianHeart(share,*this); + virtual Space* copy(bool share) { + return new CartesianHeart(share,*this); } /// Add constraints to current model to get next solution (not too close) virtual void constrain(const Space& _b) { const CartesianHeart& b = static_cast(_b); - rel(*this, - (f[0] >= (b.f[0].max()+step)) || - (f[1] >= (b.f[1].max()+step)) || + rel(*this, + (f[0] >= (b.f[0].max()+step)) || + (f[1] >= (b.f[1].max()+step)) || (f[1] <= (b.f[1].min()-step))); } /// Print solution coordinates diff --git a/examples/colored-matrix.cpp b/examples/colored-matrix.cpp index 60f6b3ef3a..50d4dae43f 100644 --- a/examples/colored-matrix.cpp +++ b/examples/colored-matrix.cpp @@ -76,18 +76,18 @@ class ColoredMatrixOptions : public Options { } /// Return height - unsigned int height(void) const { + unsigned int height(void) const { if (_size.value() == 0) - return _height.value(); + return _height.value(); else - return _size.value(); + return _size.value(); } /// Return width - unsigned int width(void) const { + unsigned int width(void) const { if (_size.value() == 0) - return _width.value(); + return _width.value(); else - return _size.value(); + return _size.value(); } /// Return number of colors unsigned int colors(void) const { return _colors.value(); } @@ -98,8 +98,8 @@ class ColoredMatrixOptions : public Options { /// Return how to implement distinct except 0 int distinct_except_0(void) const { return _distinct_except_0.value(); } /// Return how to implement distinct except 0 - int no_monochrome_rectangle(void) const { - return _no_monochrome_rectangle.value(); + int no_monochrome_rectangle(void) const { + return _no_monochrome_rectangle.value(); } }; @@ -112,7 +112,7 @@ namespace { * \relates ColoredMatrix */ //@{ - + /** Return DFA for the same_or_0 constraint. * * Constraint models the expression \f$(x = y \land z = y) \lor (x @@ -120,7 +120,7 @@ namespace { * zq\rangle\f$. */ DFA same_or_0_dfa(unsigned int colors); - + /** Return tuple set for the same_or_0 constraint. * * Constraint models the expression \f$(x = y \land z = y) \lor (x @@ -128,38 +128,38 @@ namespace { * zq\rangle\f$. */ TupleSet same_or_0_tuple_set(unsigned int colors); - + /** Return DFA for the distinct_except_0 constraint. */ DFA distinct_except_0_dfa(unsigned int colors); - + /** Return DFA for the no monochrome rectangle constraint. */ DFA no_monochrome_rectangle_dfa(unsigned int colors); - + /** Return counts for using a global cardninality constraint for the distinct exept 0 constraint. */ IntSetArgs distinct_except_0_counts(unsigned int colors, unsigned int size); - + /** Return DFA for the not all equals constraint. */ DFA not_all_equal_dfa(unsigned int colors); - + //@} } /** * \brief %Example: Colored matrix example. - * + * * An n by m matrix is to be filled with k colors. It is a valid colored matrix iff * the corners of each rectangle do not have the same color. * * An example 5 by 4 matrix with three colors: * \code - * 1 1 1 1 1 - * 1 2 2 3 3 - * 1 2 3 2 3 - * 1 2 3 3 2 + * 1 1 1 1 1 + * 1 2 2 3 3 + * 1 2 3 2 3 + * 1 2 3 3 2 * \endcode * * \ingroup Example @@ -195,7 +195,7 @@ class ColoredMatrix : public IntMinimizeScript { BoolVar same = expr(*this, (a == b)); rel(*this, result, IRT_EQ, a, same); // Redundant (implied by previous), but improves efficiency - rel(*this, result, IRT_NQ, 0, same); + rel(*this, result, IRT_NQ, 0, same); return result; } case SAME_OR_0_TUPLE_SET: { @@ -235,8 +235,8 @@ class ColoredMatrix : public IntMinimizeScript { break; } case DISTINCT_EXCEPT_0_COUNT: { - static const IntSetArgs counts = distinct_except_0_counts(colors, std::max(width, height)); - count(*this, v, counts, opt.icl()); + static const IntSetArgs counts = distinct_except_0_counts(colors, std::max(width, height)); + count(*this, v, counts, opt.ipl()); break; } } @@ -275,7 +275,7 @@ class ColoredMatrix : public IntMinimizeScript { break; case NOT_ALL_EQUAL_COUNT: // No number in all positions - count(*this, v, IntSet(0, v.size()-1), IntArgs::create(colors, 1), opt.icl()); + count(*this, v, IntSet(0, v.size()-1), IntArgs::create(colors, 1), opt.ipl()); break; case NOT_ALL_EQUAL_DFA: { static const DFA automaton = not_all_equal_dfa(colors); @@ -328,8 +328,8 @@ class ColoredMatrix : public IntMinimizeScript { /// Model variants enum { MODEL_CORNERS = 1, ///< Use model on corner combinations - MODEL_ROWS = 2, ///< Use model on pairs of rows - MODEL_COLUMNS = 4, ///< Use model on pairs of columns + MODEL_ROWS = 2, ///< Use model on pairs of rows + MODEL_COLUMNS = 4, ///< Use model on pairs of columns }; /// Not all equal variants enum { @@ -361,7 +361,7 @@ class ColoredMatrix : public IntMinimizeScript { /// Actual model ColoredMatrix(const ColoredMatrixOptions& opt0) - : IntMinimizeScript(opt0), + : IntMinimizeScript(opt0), opt(opt0), height(opt.height()), width(opt.width()), colors(opt.colors()), x(*this, height*width, 1, colors), max_color(*this, 1, colors) @@ -370,7 +370,7 @@ class ColoredMatrix : public IntMinimizeScript { max(*this, x, max_color); Matrix m(x, width, height); - + // For each pair of columns and rows, the intersections may not be equal. if (opt.model() & MODEL_CORNERS) { for (unsigned int c1 = 0; c1 < width; ++c1) { @@ -417,7 +417,7 @@ class ColoredMatrix : public IntMinimizeScript { // Value precedence. Compatible with row/column ordering if (opt.symmetry() & SYMMETRY_VALUES) { precede(*this, x, IntArgs::create(colors, 1)); - } + } } branch(*this, x, tiebreak(INT_VAR_MIN_MIN(), INT_VAR_SIZE_MIN()), INT_VAL_MIN()); @@ -438,7 +438,7 @@ class ColoredMatrix : public IntMinimizeScript { os << m(c, r) << " "; } os << std::endl; - } + } os << std::endl; os << "\tmax color: " << max_color << std::endl; os << std::endl; @@ -464,13 +464,13 @@ ColoredMatrixOptions::ColoredMatrixOptions(const char* n) _width("-width", "Width of matrix", 8), _size("-size", "If different from 0, used as both width and height", 0), _colors("-colors", "Maximum number of colors", 4), - _not_all_equal("-not-all-equal", "How to implement the not all equals constraint (used in corners model)", + _not_all_equal("-not-all-equal", "How to implement the not all equals constraint (used in corners model)", ColoredMatrix::NOT_ALL_EQUAL_NQ), - _same_or_0("-same-or-0", "How to implement the same or 0 constraint (used in the decomposed no monochrome rectangle constraint)", + _same_or_0("-same-or-0", "How to implement the same or 0 constraint (used in the decomposed no monochrome rectangle constraint)", ColoredMatrix::SAME_OR_0_DFA), - _distinct_except_0("-distinct-except-0", "How to implement the distinct except 0 constraint (used in the decomposed no monochrome rectangle constraint)", + _distinct_except_0("-distinct-except-0", "How to implement the distinct except 0 constraint (used in the decomposed no monochrome rectangle constraint)", ColoredMatrix::DISTINCT_EXCEPT_0_DFA), - _no_monochrome_rectangle("-no-monochrome-rectangle", "How to implement no monochrome rectangle (used in the rows model)", + _no_monochrome_rectangle("-no-monochrome-rectangle", "How to implement no monochrome rectangle (used in the rows model)", ColoredMatrix::NO_MONOCHROME_DFA) { add(_height); @@ -486,7 +486,7 @@ ColoredMatrixOptions::ColoredMatrixOptions(const char* n) _search.add(ColoredMatrix::SEARCH_DFS, "dfs", "Find a solution."); _search.add(ColoredMatrix::SEARCH_BAB, "bab", "Find an optimal solution."); _search.value(ColoredMatrix::SEARCH_DFS); - + // Add symmetry options _symmetry.add(ColoredMatrix::SYMMETRY_NONE, "none", "Don't use symmetry breaking."); _symmetry.add(ColoredMatrix::SYMMETRY_MATRIX, "matrix", "Order matrix rows and columns"); @@ -524,11 +524,11 @@ ColoredMatrixOptions::ColoredMatrixOptions(const char* n) _distinct_except_0.add(ColoredMatrix::DISTINCT_EXCEPT_0_COUNT, "count", "Use global cardinality."); // Add no monochrome rectangle variants - _no_monochrome_rectangle.add(ColoredMatrix::NO_MONOCHROME_DECOMPOSITION, - "decompositions", + _no_monochrome_rectangle.add(ColoredMatrix::NO_MONOCHROME_DECOMPOSITION, + "decompositions", "Use decompositions into same_or_0 and distinct_except_0."); - _no_monochrome_rectangle.add(ColoredMatrix::NO_MONOCHROME_DFA, - "dfa", + _no_monochrome_rectangle.add(ColoredMatrix::NO_MONOCHROME_DFA, + "dfa", "Use DFA as direct implementation."); } @@ -553,10 +553,10 @@ namespace { { /* DFA over variable sequences (x,y,z) where z equals x/y if x and * y are equal, and z equals 0 otherwise. - * - * DFA is constructed to contain paths + * + * DFA is constructed to contain paths * start -- c --> node -- c --> node' -- c --> end - * for all colors c representing the case when x and y + * for all colors c representing the case when x and y * are equal. * * For the cases where x and y are non-equal (c and c'), paths @@ -571,7 +571,7 @@ namespace { int n_transitions = colors*colors + 2*colors + 2; DFA::Transition* trans = new DFA::Transition[n_transitions]; int current_transition = 0; - + // From start state for (unsigned int color = 1; color <= colors; ++color) { trans[current_transition++] = @@ -585,7 +585,7 @@ namespace { if (color == state) { trans[current_transition++] = DFA::Transition(state, color, colors+state); - } else { + } else { trans[current_transition++] = DFA::Transition(state, color, not_equal_state); } @@ -602,20 +602,20 @@ namespace { // From not equal state to final state trans[current_transition++] = DFA::Transition(not_equal_state, 0, final_state); - + // End sentinel trans[current_transition++] = DFA::Transition(-1, 0, -1); - + int final_states[] = {final_state, -1}; - + DFA result(start_state, trans, final_states, true); delete[] trans; return result; } - + TupleSet same_or_0_tuple_set(unsigned int colors) { TupleSet result; @@ -630,16 +630,16 @@ namespace { } result.finalize(); return result; - } + } DFA distinct_except_0_dfa(unsigned int colors) { /* DFA for a sequence that may use each color only once (and all * others are zero). - * - * For n colors, 2^n nodes are used. For each node, if bit b is one, then - * that color has not been used yet. All nodes have self-loops for zero, and - * edges for still usable colors to the node with the corresponding bit un-set. + * + * For n colors, 2^n nodes are used. For each node, if bit b is one, then + * that color has not been used yet. All nodes have self-loops for zero, and + * edges for still usable colors to the node with the corresponding bit un-set. * All nodes are final nodes. */ @@ -655,7 +655,7 @@ namespace { for (unsigned int color = 1; color <= colors; ++color) { const unsigned int color_bit = (1 << (color-1)); if (state & color_bit) { - trans[current_transition++] = + trans[current_transition++] = DFA::Transition(state, color, state & ~color_bit); } } @@ -680,7 +680,7 @@ namespace { { /* DFA for a sequence of pairs, where each monochromatic pair may * only appear once. - * + * * For n colors, there are 2^n base states representing which * monochromatic pairs are still available. For each base state s, * the color seen goes to a new intermediate state. A different @@ -703,19 +703,19 @@ namespace { for (unsigned int color = 1; color <= colors; ++color) { const unsigned int color_bit = (1 << (color-1)); const int color_remembered_state = state + color*base_states; - - trans[current_transition++] = + + trans[current_transition++] = DFA::Transition(state, color, color_remembered_state); - + for (unsigned int next_color = 1; next_color <= colors; ++next_color) { if (next_color == color) { // Two equal adjacent, only transition if color still allowed if (state & color_bit) { - trans[current_transition++] = + trans[current_transition++] = DFA::Transition(color_remembered_state, color, state & ~color_bit); } } else { - trans[current_transition++] = + trans[current_transition++] = DFA::Transition(color_remembered_state, next_color, state); } } @@ -754,7 +754,7 @@ namespace { DFA not_all_equal_dfa(unsigned int colors) { - /* DFA for not all equal. + /* DFA for not all equal. * * From the start state, there is a transition for each color to * that colors state. As long as the same color is seen, the diff --git a/examples/crew.cpp b/examples/crew.cpp index 41f1b84f8b..654542f669 100644 --- a/examples/crew.cpp +++ b/examples/crew.cpp @@ -97,7 +97,7 @@ class Crew : public Script { SetVarArray flight; /// The actual model - Crew(const Options& opt) + Crew(const Options& opt) : Script(opt), flight(*this,noOfFlights,IntSet::empty,0,noOfEmployees-1) { IntSet stewardsDS(stewards,noOfStewards); IntSet hostessesDS(hostesses,noOfHostesses); @@ -110,7 +110,7 @@ class Crew : public Script { rel(*this, cardinality(flight[i]) == requiredCrew[i].staff); // Enough members of different categories are on board - rel(*this, cardinality(flight[i] & stewardsDS) >= + rel(*this, cardinality(flight[i] & stewardsDS) >= requiredCrew[i].stewards); rel(*this, cardinality(flight[i] & hostessesDS) >= requiredCrew[i].hostesses); diff --git a/examples/crossword.cpp b/examples/crossword.cpp index 2a9fe8dd52..07ff5dce95 100644 --- a/examples/crossword.cpp +++ b/examples/crossword.cpp @@ -84,7 +84,7 @@ class Crossword : public Script { }; /// Actual model Crossword(const SizeOptions& opt) - : Script(opt), + : Script(opt), w(grids[opt.size()][0]), h(grids[opt.size()][1]), letters(*this,w*h,'a','z') { // Pointer into the grid specification (width and height already skipped) @@ -118,10 +118,10 @@ class Crossword : public Script { // Array of all words of length w_l IntVarArgs words(*this,n,0,n_w-1); allwords << words; - + // All words of same length must be different - distinct(*this, words, opt.icl()); - + distinct(*this, words, opt.ipl()); + for (int d=0; d(n); } /// Print brancher information when branching on words - static void printwords(const Space&, const BrancherHandle&, + static void printwords(const Space&, const Brancher&, unsigned int a, IntVar, int i, const int& n, std::ostream& o) { @@ -184,15 +184,16 @@ class Crossword : public Script { << n; } /// Do not perform a restart when a solution is found - bool master(const CRI& cri) { - // Post no-goods - cri.nogoods().post(*this); + bool master(const MetaInfo& mi) { + if (mi.type() == MetaInfo::RESTART) + // Post no-goods + mi.nogoods().post(*this); // Do not perform a restart if a solution has been found return false; } /// Constructor for cloning \a s - Crossword(bool share, Crossword& s) + Crossword(bool share, Crossword& s) : Script(share,s), w(s.w), h(s.h) { letters.update(*this, share, s.letters); } @@ -230,7 +231,7 @@ int main(int argc, char* argv[]) { FileSizeOptions opt("Crossword"); opt.size(10); - opt.icl(ICL_VAL); + opt.ipl(IPL_VAL); opt.branching(Crossword::BRANCH_WORDS); opt.branching(Crossword::BRANCH_WORDS, "words"); opt.branching(Crossword::BRANCH_LETTERS, "letters"); @@ -248,7 +249,7 @@ main(int argc, char* argv[]) { namespace { - /* + /* * The Grid data has been provided by Peter Van Beek, to * quote the original README.txt: * @@ -274,14 +275,14 @@ namespace { * * puzzle01, ..., puzzle19 * - * Ginsberg, M.L., "Dynamic Backtracking," + * Ginsberg, M.L., "Dynamic Backtracking," * Journal of Artificial Intelligence Researc (JAIR) * Volume 1, pages 25-46, 1993. * * puzzle20, ..., puzzle22 * * Ginsberg, M.L. et al., "Search Lessons Learned - * from Crossword Puzzles," AAAI-90, pages 210-215. + * from Crossword Puzzles," AAAI-90, pages 210-215. * */ @@ -299,11 +300,11 @@ namespace { // Number of black fields 0, // Black field coordinates - + // Length and number of words of that length 5, 10, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,3,0, 0,4,0, 1,0,1, 2,0,1, 3,0,1, 4,0,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,3,0, 0,4,0, 1,0,1, 2,0,1, 3,0,1, 4,0,1, // End marker 0 }; @@ -323,15 +324,15 @@ namespace { // Number of black fields 2, // Black field coordinates - 0,4, 4,0, + 0,4, 4,0, // Length and number of words of that length 5, 6, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,2,0, 0,3,0, 1,0,1, 2,0,1, 3,0,1, + 0,1,0, 0,2,0, 0,3,0, 1,0,1, 2,0,1, 3,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 1,4,0, 4,1,1, + 0,0,0, 0,0,1, 1,4,0, 4,1,1, // End marker 0 }; @@ -351,19 +352,19 @@ namespace { // Number of black fields 4, // Black field coordinates - 0,3, 0,4, 4,0, 4,1, + 0,3, 0,4, 4,0, 4,1, // Length and number of words of that length 5, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 1,0,1, 2,0,1, 3,0,1, + 0,2,0, 1,0,1, 2,0,1, 3,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 1,3,0, 1,4,0, + 0,0,0, 0,1,0, 1,3,0, 1,4,0, // Length and number of words of that length 3, 2, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 4,2,1, + 0,0,1, 4,2,1, // End marker 0 }; @@ -383,19 +384,19 @@ namespace { // Number of black fields 6, // Black field coordinates - 0,3, 0,4, 1,4, 3,0, 4,0, 4,1, + 0,3, 0,4, 1,4, 3,0, 4,0, 4,1, // Length and number of words of that length 5, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, + 0,2,0, 2,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 1,0,1, 1,3,0, 3,1,1, + 0,1,0, 1,0,1, 1,3,0, 3,1,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 2,4,0, 4,2,1, + 0,0,0, 0,0,1, 2,4,0, 4,2,1, // End marker 0 }; @@ -415,15 +416,15 @@ namespace { // Number of black fields 8, // Black field coordinates - 0,3, 0,4, 1,3, 1,4, 3,0, 3,1, 4,0, 4,1, + 0,3, 0,4, 1,3, 1,4, 3,0, 3,1, 4,0, 4,1, // Length and number of words of that length 5, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, + 0,2,0, 2,0,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 1,0,1, 2,3,0, 2,4,0, 3,2,1, 4,2,1, + 0,0,0, 0,0,1, 0,1,0, 1,0,1, 2,3,0, 2,4,0, 3,2,1, 4,2,1, // End marker 0 }; @@ -443,15 +444,15 @@ namespace { // Number of black fields 2, // Black field coordinates - 0,0, 4,4, + 0,0, 4,4, // Length and number of words of that length 5, 6, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,2,0, 0,3,0, 1,0,1, 2,0,1, 3,0,1, + 0,1,0, 0,2,0, 0,3,0, 1,0,1, 2,0,1, 3,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,1, 0,4,0, 1,0,0, 4,0,1, + 0,1,1, 0,4,0, 1,0,0, 4,0,1, // End marker 0 }; @@ -471,19 +472,19 @@ namespace { // Number of black fields 4, // Black field coordinates - 0,0, 0,1, 4,3, 4,4, + 0,0, 0,1, 4,3, 4,4, // Length and number of words of that length 5, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 1,0,1, 2,0,1, 3,0,1, + 0,2,0, 1,0,1, 2,0,1, 3,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,4,0, 1,0,0, 1,1,0, + 0,3,0, 0,4,0, 1,0,0, 1,1,0, // Length and number of words of that length 3, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,1, 4,0,1, + 0,2,1, 4,0,1, // End marker 0 }; @@ -503,15 +504,15 @@ namespace { // Number of black fields 4, // Black field coordinates - 0,0, 0,4, 4,0, 4,4, + 0,0, 0,4, 4,0, 4,4, // Length and number of words of that length 5, 6, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,2,0, 0,3,0, 1,0,1, 2,0,1, 3,0,1, + 0,1,0, 0,2,0, 0,3,0, 1,0,1, 2,0,1, 3,0,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,1, 1,0,0, 1,4,0, 4,1,1, + 0,1,1, 1,0,0, 1,4,0, 4,1,1, // End marker 0 }; @@ -531,19 +532,19 @@ namespace { // Number of black fields 6, // Black field coordinates - 0,0, 0,1, 1,0, 3,4, 4,3, 4,4, + 0,0, 0,1, 1,0, 3,4, 4,3, 4,4, // Length and number of words of that length 5, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, + 0,2,0, 2,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 1,1,0, 1,1,1, 3,0,1, + 0,3,0, 1,1,0, 1,1,1, 3,0,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,1, 0,4,0, 2,0,0, 4,0,1, + 0,2,1, 0,4,0, 2,0,0, 4,0,1, // End marker 0 }; @@ -563,15 +564,15 @@ namespace { // Number of black fields 8, // Black field coordinates - 0,0, 0,1, 1,0, 1,1, 3,3, 3,4, 4,3, 4,4, + 0,0, 0,1, 1,0, 1,1, 3,3, 3,4, 4,3, 4,4, // Length and number of words of that length 5, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, + 0,2,0, 2,0,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,2,1, 0,3,0, 0,4,0, 1,2,1, 2,0,0, 2,1,0, 3,0,1, 4,0,1, + 0,2,1, 0,3,0, 0,4,0, 1,2,1, 2,0,0, 2,1,0, 3,0,1, 4,0,1, // End marker 0 }; @@ -601,31 +602,31 @@ namespace { // Number of black fields 36, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 3,6, 3,7, 4,0, 4,1, 4,8, 4,12, 4,13, 4,14, 5,5, 5,9, 6,4, 6,11, 7,3, 7,11, 8,3, 8,10, 9,5, 9,9, 10,0, 10,1, 10,2, 10,6, 10,13, 10,14, 11,7, 11,8, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 3,6, 3,7, 4,0, 4,1, 4,8, 4,12, 4,13, 4,14, 5,5, 5,9, 6,4, 6,11, 7,3, 7,11, 8,3, 8,10, 9,5, 9,9, 10,0, 10,1, 10,2, 10,6, 10,13, 10,14, 11,7, 11,8, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,5,1, 5,12,0, 12,0,1, + 0,2,0, 2,5,1, 5,12,0, 12,0,1, // Length and number of words of that length 7, 6, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 3,8,1, 4,7,0, 7,4,1, 8,11,0, 11,0,1, + 0,3,0, 3,8,1, 4,7,0, 7,4,1, 8,11,0, 11,0,1, // Length and number of words of that length 6, 12, // Coordinates where words start and direction (0 = horizontal) - 0,11,0, 2,10,0, 3,0,1, 4,2,1, 4,6,0, 5,8,0, 6,5,1, 7,4,0, 8,4,1, 9,3,0, 10,7,1, 11,9,1, + 0,11,0, 2,10,0, 3,0,1, 4,2,1, 4,6,0, 5,8,0, 6,5,1, 7,4,0, 8,4,1, 9,3,0, 10,7,1, 11,9,1, // Length and number of words of that length 5, 16, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,5,1, 0,9,0, 1,5,1, 5,0,0, 5,0,1, 5,1,0, 5,10,1, 5,13,0, 5,14,0, 9,0,1, 9,10,1, 10,5,0, 10,9,0, 13,5,1, 14,5,1, + 0,5,0, 0,5,1, 0,9,0, 1,5,1, 5,0,0, 5,0,1, 5,1,0, 5,10,1, 5,13,0, 5,14,0, 9,0,1, 9,10,1, 10,5,0, 10,9,0, 13,5,1, 14,5,1, // Length and number of words of that length 4, 24, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,8,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 6,0,1, 8,11,1, 11,0,0, 11,1,0, 11,2,0, 11,6,0, 11,13,0, 11,14,0, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,8,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 6,0,1, 8,11,1, 11,0,0, 11,1,0, 11,2,0, 11,6,0, 11,13,0, 11,14,0, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,7,0, 3,4,0, 4,9,1, 5,6,1, 6,5,0, 6,9,0, 6,12,1, 7,0,1, 7,12,1, 8,0,1, 9,6,1, 9,10,0, 10,3,1, 12,7,0, 12,8,0, + 0,6,0, 0,7,0, 3,4,0, 4,9,1, 5,6,1, 6,5,0, 6,9,0, 6,12,1, 7,0,1, 7,12,1, 8,0,1, 9,6,1, 9,10,0, 10,3,1, 12,7,0, 12,8,0, // End marker 0 }; @@ -655,35 +656,35 @@ namespace { // Number of black fields 34, // Black field coordinates - 0,5, 0,10, 1,5, 1,10, 2,5, 2,10, 3,4, 3,9, 4,3, 4,8, 4,13, 4,14, 5,0, 5,7, 6,6, 6,10, 7,5, 7,9, 8,4, 8,8, 9,7, 9,14, 10,0, 10,1, 10,6, 10,11, 11,5, 11,10, 12,4, 12,9, 13,4, 13,9, 14,4, 14,9, + 0,5, 0,10, 1,5, 1,10, 2,5, 2,10, 3,4, 3,9, 4,3, 4,8, 4,13, 4,14, 5,0, 5,7, 6,6, 6,10, 7,5, 7,9, 8,4, 8,8, 9,7, 9,14, 10,0, 10,1, 10,6, 10,11, 11,5, 11,10, 12,4, 12,9, 13,4, 13,9, 14,4, 14,9, // Length and number of words of that length 15, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,12,0, + 0,2,0, 0,12,0, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,11,0, 5,3,0, 5,13,0, + 0,1,0, 0,11,0, 5,3,0, 5,13,0, // Length and number of words of that length 7, 2, // Coordinates where words start and direction (0 = horizontal) - 5,8,1, 9,0,1, + 5,8,1, 9,0,1, // Length and number of words of that length 6, 6, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 5,1,1, 6,0,1, 8,9,1, 9,8,0, 9,8,1, + 0,6,0, 5,1,1, 6,0,1, 8,9,1, 9,8,0, 9,8,1, // Length and number of words of that length 5, 14, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,7,0, 1,0,1, 2,0,1, 3,10,1, 7,0,1, 7,10,1, 10,7,0, 10,14,0, 11,0,1, 12,10,1, 13,10,1, 14,10,1, + 0,0,0, 0,0,1, 0,7,0, 1,0,1, 2,0,1, 3,10,1, 7,0,1, 7,10,1, 10,7,0, 10,14,0, 11,0,1, 12,10,1, 13,10,1, 14,10,1, // Length and number of words of that length 4, 36, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,6,1, 0,8,0, 0,11,1, 0,13,0, 0,14,0, 1,6,1, 1,11,1, 2,6,1, 2,11,1, 3,0,1, 3,5,0, 3,5,1, 4,4,0, 4,4,1, 4,9,1, 5,14,0, 6,0,0, 6,11,1, 7,10,0, 8,0,1, 8,9,0, 10,2,1, 10,7,1, 11,0,0, 11,1,0, 11,6,0, 11,6,1, 11,11,0, 11,11,1, 12,0,1, 12,5,1, 13,0,1, 13,5,1, 14,0,1, 14,5,1, + 0,3,0, 0,6,1, 0,8,0, 0,11,1, 0,13,0, 0,14,0, 1,6,1, 1,11,1, 2,6,1, 2,11,1, 3,0,1, 3,5,0, 3,5,1, 4,4,0, 4,4,1, 4,9,1, 5,14,0, 6,0,0, 6,11,1, 7,10,0, 8,0,1, 8,9,0, 10,2,1, 10,7,1, 11,0,0, 11,1,0, 11,6,0, 11,6,1, 11,11,0, 11,11,1, 12,0,1, 12,5,1, 13,0,1, 13,5,1, 14,0,1, 14,5,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,9,0, 3,10,0, 4,0,1, 4,9,0, 5,8,0, 6,7,0, 6,7,1, 7,6,0, 7,6,1, 8,5,0, 8,5,1, 9,4,0, 10,12,1, 12,5,0, 12,10,0, + 0,4,0, 0,9,0, 3,10,0, 4,0,1, 4,9,0, 5,8,0, 6,7,0, 6,7,1, 7,6,0, 7,6,1, 8,5,0, 8,5,1, 9,4,0, 10,12,1, 12,5,0, 12,10,0, // End marker 0 }; @@ -713,27 +714,27 @@ namespace { // Number of black fields 36, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,8, 4,0, 4,1, 4,2, 4,7, 4,12, 4,13, 4,14, 5,6, 6,5, 6,11, 7,4, 7,10, 8,3, 8,9, 9,8, 10,0, 10,1, 10,2, 10,7, 10,12, 10,13, 10,14, 11,6, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,8, 4,0, 4,1, 4,2, 4,7, 4,12, 4,13, 4,14, 5,6, 6,5, 6,11, 7,4, 7,10, 8,3, 8,9, 9,8, 10,0, 10,1, 10,2, 10,7, 10,12, 10,13, 10,14, 11,6, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 3,0,1, 5,7,1, 7,5,0, 7,11,0, 9,0,1, 11,7,1, + 0,3,0, 0,9,0, 3,0,1, 5,7,1, 7,5,0, 7,11,0, 9,0,1, 11,7,1, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 3,9,1, 5,0,1, 9,3,0, 9,9,0, 9,9,1, 11,0,1, + 0,5,0, 0,11,0, 3,9,1, 5,0,1, 9,3,0, 9,9,0, 9,9,1, 11,0,1, // Length and number of words of that length 5, 22, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,6,0, 1,5,1, 2,5,1, 4,8,0, 5,0,0, 5,1,0, 5,2,0, 5,7,0, 5,12,0, 5,13,0, 5,14,0, 6,0,1, 6,6,0, 6,6,1, 7,5,1, 8,4,1, 8,10,1, 10,8,0, 12,5,1, 13,5,1, 14,5,1, + 0,5,1, 0,6,0, 1,5,1, 2,5,1, 4,8,0, 5,0,0, 5,1,0, 5,2,0, 5,7,0, 5,12,0, 5,13,0, 5,14,0, 6,0,1, 6,6,0, 6,6,1, 7,5,1, 8,4,1, 8,10,1, 10,8,0, 12,5,1, 13,5,1, 14,5,1, // Length and number of words of that length 4, 36, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,4,0, 3,10,0, 4,3,1, 4,8,1, 7,0,1, 7,11,1, 8,4,0, 8,10,0, 10,3,1, 10,8,1, 11,0,0, 11,1,0, 11,2,0, 11,7,0, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,4,0, 3,10,0, 4,3,1, 4,8,1, 7,0,1, 7,11,1, 8,4,0, 8,10,0, 10,3,1, 10,8,1, 11,0,0, 11,1,0, 11,2,0, 11,7,0, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 6,12,1, 8,0,1, 12,6,0, + 0,8,0, 6,12,1, 8,0,1, 12,6,0, // End marker 0 }; @@ -763,31 +764,31 @@ namespace { // Number of black fields 32, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,0, 3,5, 3,11, 4,6, 5,3, 5,9, 6,4, 6,8, 6,13, 6,14, 8,0, 8,1, 8,6, 8,10, 9,5, 9,11, 10,8, 11,3, 11,9, 11,14, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,0, 3,5, 3,11, 4,6, 5,3, 5,9, 6,4, 6,8, 6,13, 6,14, 8,0, 8,1, 8,6, 8,10, 9,5, 9,11, 10,8, 11,3, 11,9, 11,14, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 15, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,7,0, 0,12,0, 7,0,1, + 0,2,0, 0,7,0, 0,12,0, 7,0,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 4,7,1, 7,13,0, 10,0,1, + 0,1,0, 4,7,1, 7,13,0, 10,0,1, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,13,0, 0,14,0, 4,0,1, 9,0,0, 9,1,0, 9,6,0, 10,9,1, + 0,8,0, 0,13,0, 0,14,0, 4,0,1, 9,0,0, 9,1,0, 9,6,0, 10,9,1, // Length and number of words of that length 5, 22, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,5,1, 0,9,0, 1,5,1, 2,5,1, 3,6,1, 3,10,0, 4,5,0, 4,11,0, 5,4,1, 5,10,1, 6,3,0, 6,9,0, 7,4,0, 9,0,1, 9,6,1, 10,5,0, 10,11,0, 11,4,1, 12,5,1, 13,5,1, 14,5,1, + 0,3,0, 0,5,1, 0,9,0, 1,5,1, 2,5,1, 3,6,1, 3,10,0, 4,5,0, 4,11,0, 5,4,1, 5,10,1, 6,3,0, 6,9,0, 7,4,0, 9,0,1, 9,6,1, 10,5,0, 10,11,0, 11,4,1, 12,5,1, 13,5,1, 14,5,1, // Length and number of words of that length 4, 22, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,6,0, 0,11,1, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,1,1, 4,0,0, 6,0,1, 6,9,1, 7,14,0, 8,2,1, 8,11,1, 11,8,0, 11,10,1, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,1, 0,6,0, 0,11,1, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,1,1, 4,0,0, 6,0,1, 6,9,1, 7,14,0, 8,2,1, 8,11,1, 11,8,0, 11,10,1, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,5,0, 0,11,0, 3,4,0, 3,12,1, 5,0,1, 5,6,0, 6,5,1, 7,8,0, 8,7,1, 9,10,0, 9,12,1, 11,0,1, 12,3,0, 12,9,0, 12,14,0, + 0,0,0, 0,5,0, 0,11,0, 3,4,0, 3,12,1, 5,0,1, 5,6,0, 6,5,1, 7,8,0, 8,7,1, 9,10,0, 9,12,1, 11,0,1, 12,3,0, 12,9,0, 12,14,0, // End marker 0 }; @@ -817,35 +818,35 @@ namespace { // Number of black fields 44, // Black field coordinates - 0,4, 0,8, 0,9, 1,4, 1,9, 2,4, 2,9, 3,4, 3,9, 4,3, 4,11, 4,12, 4,13, 4,14, 5,0, 5,1, 5,6, 5,10, 6,5, 6,6, 6,10, 7,4, 7,10, 8,4, 8,8, 8,9, 9,4, 9,8, 9,13, 9,14, 10,0, 10,1, 10,2, 10,3, 10,11, 11,5, 11,10, 12,5, 12,10, 13,5, 13,10, 14,5, 14,6, 14,10, + 0,4, 0,8, 0,9, 1,4, 1,9, 2,4, 2,9, 3,4, 3,9, 4,3, 4,11, 4,12, 4,13, 4,14, 5,0, 5,1, 5,6, 5,10, 6,5, 6,6, 6,10, 7,4, 7,10, 8,4, 8,8, 8,9, 9,4, 9,8, 9,13, 9,14, 10,0, 10,1, 10,2, 10,3, 10,11, 11,5, 11,10, 12,5, 12,10, 13,5, 13,10, 14,5, 14,6, 14,10, // Length and number of words of that length 15, 1, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, + 0,7,0, // Length and number of words of that length 10, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 5,12,0, + 0,2,0, 5,12,0, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 1,8,0, 4,4,1, 7,6,0, 10,4,1, + 1,8,0, 4,4,1, 7,6,0, 10,4,1, // Length and number of words of that length 6, 2, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 9,9,0, + 0,5,0, 9,9,0, // Length and number of words of that length 5, 21, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,6,0, 0,10,0, 0,10,1, 1,10,1, 2,10,1, 3,10,1, 5,3,0, 5,11,0, 6,0,1, 7,5,1, 8,10,1, 10,4,0, 10,8,0, 10,13,0, 10,14,0, 11,0,1, 12,0,1, 13,0,1, 14,0,1, + 0,0,0, 0,1,0, 0,6,0, 0,10,0, 0,10,1, 1,10,1, 2,10,1, 3,10,1, 5,3,0, 5,11,0, 6,0,1, 7,5,1, 8,10,1, 10,4,0, 10,8,0, 10,13,0, 10,14,0, 11,0,1, 12,0,1, 13,0,1, 14,0,1, // Length and number of words of that length 4, 38, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,3,0, 0,11,0, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 3,0,1, 3,5,1, 4,9,0, 5,2,1, 5,11,1, 5,13,0, 5,14,0, 6,0,0, 6,1,0, 6,11,1, 7,0,1, 7,5,0, 7,11,1, 8,0,1, 9,0,1, 9,9,1, 11,0,0, 11,1,0, 11,2,0, 11,3,0, 11,6,1, 11,11,0, 11,11,1, 12,6,1, 12,11,1, 13,6,1, 13,11,1, 14,11,1, + 0,0,1, 0,3,0, 0,11,0, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 3,0,1, 3,5,1, 4,9,0, 5,2,1, 5,11,1, 5,13,0, 5,14,0, 6,0,0, 6,1,0, 6,11,1, 7,0,1, 7,5,0, 7,11,1, 8,0,1, 9,0,1, 9,9,1, 11,0,0, 11,1,0, 11,2,0, 11,3,0, 11,6,1, 11,11,0, 11,11,1, 12,6,1, 12,11,1, 13,6,1, 13,11,1, 14,11,1, // Length and number of words of that length 3, 10, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 4,0,1, 4,4,0, 5,7,1, 6,7,1, 8,5,1, 8,10,0, 9,5,1, 10,12,1, 14,7,1, + 0,5,1, 4,0,1, 4,4,0, 5,7,1, 6,7,1, 8,5,1, 8,10,0, 9,5,1, 10,12,1, 14,7,1, // End marker 0 }; @@ -875,35 +876,35 @@ namespace { // Number of black fields 30, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,7, 4,3, 4,11, 5,8, 6,4, 6,9, 7,0, 7,1, 7,2, 7,12, 7,13, 7,14, 8,5, 8,10, 9,6, 10,3, 10,11, 11,7, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,7, 4,3, 4,11, 5,8, 6,4, 6,9, 7,0, 7,1, 7,2, 7,12, 7,13, 7,14, 8,5, 8,10, 9,6, 10,3, 10,11, 11,7, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 9, 3, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 6,8,0, 7,3,1, + 0,6,0, 6,8,0, 7,3,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 5,0,1, 7,9,0, 9,7,1, + 0,5,0, 5,0,1, 7,9,0, 9,7,1, // Length and number of words of that length 7, 19, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,2,0, 0,12,0, 0,13,0, 0,14,0, 3,0,1, 3,8,1, 4,4,1, 4,7,0, 8,0,0, 8,1,0, 8,2,0, 8,12,0, 8,13,0, 8,14,0, 10,4,1, 11,0,1, 11,8,1, + 0,0,0, 0,1,0, 0,2,0, 0,12,0, 0,13,0, 0,14,0, 3,0,1, 3,8,1, 4,4,1, 4,7,0, 8,0,0, 8,1,0, 8,2,0, 8,12,0, 8,13,0, 8,14,0, 10,4,1, 11,0,1, 11,8,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 5,9,1, 9,0,1, 9,5,0, + 0,9,0, 5,9,1, 9,0,1, 9,5,0, // Length and number of words of that length 5, 14, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,8,0, 1,5,1, 2,5,1, 3,10,0, 5,3,0, 5,11,0, 6,10,1, 7,4,0, 8,0,1, 10,6,0, 12,5,1, 13,5,1, 14,5,1, + 0,5,1, 0,8,0, 1,5,1, 2,5,1, 3,10,0, 5,3,0, 5,11,0, 6,10,1, 7,4,0, 8,0,1, 10,6,0, 12,5,1, 13,5,1, 14,5,1, // Length and number of words of that length 4, 20, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,3,0, 0,11,0, 0,11,1, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 6,0,1, 6,5,1, 8,6,1, 8,11,1, 11,3,0, 11,11,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,1, 0,3,0, 0,11,0, 0,11,1, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 6,0,1, 6,5,1, 8,6,1, 8,11,1, 11,3,0, 11,11,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 3,4,0, 4,0,1, 4,12,1, 9,10,0, 10,0,1, 10,12,1, 12,7,0, + 0,7,0, 3,4,0, 4,0,1, 4,12,1, 9,10,0, 10,0,1, 10,12,1, 12,7,0, // End marker 0 }; @@ -933,35 +934,35 @@ namespace { // Number of black fields 32, // Black field coordinates - 0,4, 0,9, 1,4, 1,9, 2,9, 3,7, 4,0, 4,1, 4,6, 4,10, 5,5, 5,12, 5,13, 5,14, 6,4, 7,3, 7,11, 8,10, 9,0, 9,1, 9,2, 9,9, 10,4, 10,8, 10,13, 10,14, 11,7, 12,5, 13,5, 13,10, 14,5, 14,10, + 0,4, 0,9, 1,4, 1,9, 2,9, 3,7, 4,0, 4,1, 4,6, 4,10, 5,5, 5,12, 5,13, 5,14, 6,4, 7,3, 7,11, 8,10, 9,0, 9,1, 9,2, 9,9, 10,4, 10,8, 10,13, 10,14, 11,7, 12,5, 13,5, 13,10, 14,5, 14,10, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 5,6,0, 6,5,1, 8,0,1, + 0,8,0, 5,6,0, 6,5,1, 8,0,1, // Length and number of words of that length 9, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, 6,12,0, 12,6,1, + 0,2,0, 2,0,1, 6,12,0, 12,6,1, // Length and number of words of that length 7, 10, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,11,0, 3,0,1, 3,8,1, 4,7,0, 7,4,1, 8,3,0, 8,11,0, 11,0,1, 11,8,1, + 0,3,0, 0,11,0, 3,0,1, 3,8,1, 4,7,0, 7,4,1, 8,3,0, 8,11,0, 11,0,1, 11,8,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 3,9,0, 5,6,1, 6,5,0, 9,3,1, + 3,9,0, 5,6,1, 6,5,0, 9,3,1, // Length and number of words of that length 5, 16, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,1, 0,12,0, 0,13,0, 0,14,0, 1,10,1, 2,10,1, 5,0,1, 9,10,1, 10,0,0, 10,1,0, 10,2,0, 10,9,0, 12,0,1, 13,0,1, 14,0,1, + 0,5,0, 0,10,1, 0,12,0, 0,13,0, 0,14,0, 1,10,1, 2,10,1, 5,0,1, 9,10,1, 10,0,0, 10,1,0, 10,2,0, 10,9,0, 12,0,1, 13,0,1, 14,0,1, // Length and number of words of that length 4, 28, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,6,0, 0,10,0, 1,0,1, 1,5,1, 2,4,0, 4,2,1, 4,11,1, 5,0,0, 5,1,0, 6,0,1, 6,13,0, 6,14,0, 8,11,1, 9,10,0, 10,0,1, 10,9,1, 11,4,0, 11,8,0, 11,13,0, 11,14,0, 13,6,1, 13,11,1, 14,6,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,6,0, 0,10,0, 1,0,1, 1,5,1, 2,4,0, 4,2,1, 4,11,1, 5,0,0, 5,1,0, 6,0,1, 6,13,0, 6,14,0, 8,11,1, 9,10,0, 10,0,1, 10,9,1, 11,4,0, 11,8,0, 11,13,0, 11,14,0, 13,6,1, 13,11,1, 14,6,1, 14,11,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 4,7,1, 5,10,0, 7,0,1, 7,4,0, 7,12,1, 10,5,1, 12,7,0, + 0,7,0, 4,7,1, 5,10,0, 7,0,1, 7,4,0, 7,12,1, 10,5,1, 12,7,0, // End marker 0 }; @@ -991,31 +992,31 @@ namespace { // Number of black fields 39, // Black field coordinates - 0,4, 0,9, 1,4, 1,9, 2,4, 2,9, 3,5, 3,11, 4,0, 4,1, 4,2, 4,6, 4,10, 5,3, 5,12, 5,13, 5,14, 6,4, 6,8, 7,7, 8,6, 8,10, 9,0, 9,1, 9,2, 9,11, 10,4, 10,8, 10,12, 10,13, 10,14, 11,3, 11,9, 12,5, 12,10, 13,5, 13,10, 14,5, 14,10, + 0,4, 0,9, 1,4, 1,9, 2,4, 2,9, 3,5, 3,11, 4,0, 4,1, 4,2, 4,6, 4,10, 5,3, 5,12, 5,13, 5,14, 6,4, 6,8, 7,7, 8,6, 8,10, 9,0, 9,1, 9,2, 9,11, 10,4, 10,8, 10,12, 10,13, 10,14, 11,3, 11,9, 12,5, 12,10, 13,5, 13,10, 14,5, 14,10, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 3,9,0, 4,5,0, 5,4,1, 9,3,1, + 3,9,0, 4,5,0, 5,4,1, 9,3,1, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 7,0,1, 7,8,1, 8,7,0, + 0,7,0, 7,0,1, 7,8,1, 8,7,0, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 6,9,1, 8,0,1, 9,6,0, + 0,8,0, 6,9,1, 8,0,1, 9,6,0, // Length and number of words of that length 5, 20, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,10,1, 0,12,0, 0,13,0, 0,14,0, 1,10,1, 2,10,1, 3,0,1, 3,6,1, 4,11,0, 6,3,0, 10,0,0, 10,1,0, 10,2,0, 10,11,0, 11,4,1, 11,10,1, 12,0,1, 13,0,1, 14,0,1, + 0,3,0, 0,10,1, 0,12,0, 0,13,0, 0,14,0, 1,10,1, 2,10,1, 3,0,1, 3,6,1, 4,11,0, 6,3,0, 10,0,0, 10,1,0, 10,2,0, 10,11,0, 11,4,1, 11,10,1, 12,0,1, 13,0,1, 14,0,1, // Length and number of words of that length 4, 32, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,5,1, 0,6,0, 0,10,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 4,11,1, 5,0,0, 5,1,0, 5,2,0, 6,0,1, 6,12,0, 6,13,0, 6,14,0, 8,11,1, 10,0,1, 11,4,0, 11,8,0, 11,12,0, 11,13,0, 11,14,0, 12,6,1, 12,11,1, 13,6,1, 13,11,1, 14,6,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,5,1, 0,6,0, 0,10,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 4,11,1, 5,0,0, 5,1,0, 5,2,0, 6,0,1, 6,12,0, 6,13,0, 6,14,0, 8,11,1, 10,0,1, 11,4,0, 11,8,0, 11,12,0, 11,13,0, 11,14,0, 12,6,1, 12,11,1, 13,6,1, 13,11,1, 14,6,1, 14,11,1, // Length and number of words of that length 3, 20, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 3,4,0, 3,12,1, 4,3,1, 4,7,1, 5,0,1, 5,6,0, 5,10,0, 6,5,1, 7,4,0, 7,8,0, 8,7,1, 9,10,0, 9,12,1, 10,5,1, 10,9,1, 11,0,1, 12,3,0, 12,9,0, + 0,5,0, 0,11,0, 3,4,0, 3,12,1, 4,3,1, 4,7,1, 5,0,1, 5,6,0, 5,10,0, 6,5,1, 7,4,0, 7,8,0, 8,7,1, 9,10,0, 9,12,1, 10,5,1, 10,9,1, 11,0,1, 12,3,0, 12,9,0, // End marker 0 }; @@ -1045,27 +1046,27 @@ namespace { // Number of black fields 38, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,7, 4,0, 4,1, 4,2, 4,6, 4,12, 4,13, 4,14, 5,5, 5,9, 6,4, 6,8, 7,3, 7,11, 8,6, 8,10, 9,5, 9,9, 10,0, 10,1, 10,2, 10,8, 10,12, 10,13, 10,14, 11,7, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,7, 4,0, 4,1, 4,2, 4,6, 4,12, 4,13, 4,14, 5,5, 5,9, 6,4, 6,8, 7,3, 7,11, 8,6, 8,10, 9,5, 9,9, 10,0, 10,1, 10,2, 10,8, 10,12, 10,13, 10,14, 11,7, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 7, 10, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,11,0, 3,0,1, 3,8,1, 4,7,0, 7,4,1, 8,3,0, 8,11,0, 11,0,1, 11,8,1, + 0,3,0, 0,11,0, 3,0,1, 3,8,1, 4,7,0, 7,4,1, 8,3,0, 8,11,0, 11,0,1, 11,8,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 6,9,1, 8,0,1, 9,6,0, + 0,8,0, 6,9,1, 8,0,1, 9,6,0, // Length and number of words of that length 5, 24, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,5,1, 0,9,0, 1,5,1, 2,5,1, 3,10,0, 4,7,1, 5,0,0, 5,0,1, 5,1,0, 5,2,0, 5,10,1, 5,12,0, 5,13,0, 5,14,0, 7,4,0, 9,0,1, 9,10,1, 10,3,1, 10,5,0, 10,9,0, 12,5,1, 13,5,1, 14,5,1, + 0,5,0, 0,5,1, 0,9,0, 1,5,1, 2,5,1, 3,10,0, 4,7,1, 5,0,0, 5,0,1, 5,1,0, 5,2,0, 5,10,1, 5,12,0, 5,13,0, 5,14,0, 7,4,0, 9,0,1, 9,10,1, 10,3,1, 10,5,0, 10,9,0, 12,5,1, 13,5,1, 14,5,1, // Length and number of words of that length 4, 28, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 6,0,1, 8,11,1, 11,0,0, 11,1,0, 11,2,0, 11,8,0, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 6,0,1, 8,11,1, 11,0,0, 11,1,0, 11,2,0, 11,8,0, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 3,4,0, 4,3,1, 5,6,0, 5,6,1, 6,5,0, 6,5,1, 6,9,0, 7,0,1, 7,8,0, 7,12,1, 8,7,1, 9,6,1, 9,10,0, 10,9,1, 12,7,0, + 0,7,0, 3,4,0, 4,3,1, 5,6,0, 5,6,1, 6,5,0, 6,5,1, 6,9,0, 7,0,1, 7,8,0, 7,12,1, 8,7,1, 9,6,1, 9,10,0, 10,9,1, 12,7,0, // End marker 0 }; @@ -1095,31 +1096,31 @@ namespace { // Number of black fields 35, // Black field coordinates - 0,4, 0,9, 1,4, 1,9, 2,4, 2,9, 3,4, 4,0, 4,1, 4,6, 4,11, 4,12, 4,13, 4,14, 5,5, 6,5, 6,10, 7,7, 8,4, 8,9, 9,9, 10,0, 10,1, 10,2, 10,3, 10,8, 10,13, 10,14, 11,10, 12,5, 12,10, 13,5, 13,10, 14,5, 14,10, + 0,4, 0,9, 1,4, 1,9, 2,4, 2,9, 3,4, 4,0, 4,1, 4,6, 4,11, 4,12, 4,13, 4,14, 5,5, 6,5, 6,10, 7,7, 8,4, 8,9, 9,9, 10,0, 10,1, 10,2, 10,3, 10,8, 10,13, 10,14, 11,10, 12,5, 12,10, 13,5, 13,10, 14,5, 14,10, // Length and number of words of that length 10, 8, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,3,0, 0,8,0, 3,5,1, 5,6,0, 5,11,0, 5,12,0, 11,0,1, + 0,2,0, 0,3,0, 0,8,0, 3,5,1, 5,6,0, 5,11,0, 5,12,0, 11,0,1, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 5,6,1, 9,0,1, + 5,6,1, 9,0,1, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 7,0,1, 7,8,1, 8,7,0, + 0,7,0, 7,0,1, 7,8,1, 8,7,0, // Length and number of words of that length 6, 2, // Coordinates where words start and direction (0 = horizontal) - 0,10,0, 9,4,0, + 0,10,0, 9,4,0, // Length and number of words of that length 5, 18, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,1, 1,10,1, 2,10,1, 3,9,0, 5,0,0, 5,0,1, 5,1,0, 5,13,0, 5,14,0, 6,0,1, 7,5,0, 8,10,1, 9,10,1, 10,9,0, 12,0,1, 13,0,1, 14,0,1, + 0,5,0, 0,10,1, 1,10,1, 2,10,1, 3,9,0, 5,0,0, 5,0,1, 5,1,0, 5,13,0, 5,14,0, 6,0,1, 7,5,0, 8,10,1, 9,10,1, 10,9,0, 12,0,1, 13,0,1, 14,0,1, // Length and number of words of that length 4, 38, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,6,0, 0,11,0, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 3,0,1, 4,2,1, 4,4,0, 4,7,1, 6,6,1, 6,11,1, 7,10,0, 8,0,1, 8,5,1, 10,4,1, 10,9,1, 11,0,0, 11,1,0, 11,2,0, 11,3,0, 11,8,0, 11,11,1, 11,13,0, 11,14,0, 12,6,1, 12,11,1, 13,6,1, 13,11,1, 14,6,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,6,0, 0,11,0, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 3,0,1, 4,2,1, 4,4,0, 4,7,1, 6,6,1, 6,11,1, 7,10,0, 8,0,1, 8,5,1, 10,4,1, 10,9,1, 11,0,0, 11,1,0, 11,2,0, 11,3,0, 11,8,0, 11,11,1, 11,13,0, 11,14,0, 12,6,1, 12,11,1, 13,6,1, 13,11,1, 14,6,1, 14,11,1, // End marker 0 }; @@ -1153,35 +1154,35 @@ namespace { // Number of black fields 60, // Black field coordinates - 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 2,14, 3,7, 3,12, 4,0, 4,1, 4,6, 4,11, 4,17, 4,18, 5,5, 5,10, 6,4, 6,9, 6,15, 7,3, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,15, 12,3, 12,9, 12,14, 13,8, 13,13, 14,0, 14,1, 14,7, 14,12, 14,17, 14,18, 15,6, 15,11, 16,4, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, + 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 2,14, 3,7, 3,12, 4,0, 4,1, 4,6, 4,11, 4,17, 4,18, 5,5, 5,10, 6,4, 6,9, 6,15, 7,3, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,15, 12,3, 12,9, 12,14, 13,8, 13,13, 14,0, 14,1, 14,7, 14,12, 14,17, 14,18, 15,6, 15,11, 16,4, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, // Length and number of words of that length 9, 6, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,16,0, 2,5,1, 10,2,0, 10,16,0, 16,5,1, + 0,2,0, 0,16,0, 2,5,1, 10,2,0, 10,16,0, 16,5,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,13,0, 5,11,1, 11,5,0, 13,0,1, + 0,13,0, 5,11,1, 11,5,0, 13,0,1, // Length and number of words of that length 7, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,8,0, 3,0,1, 8,0,1, 10,12,1, 12,10,0, 12,15,0, 15,12,1, + 0,3,0, 0,8,0, 3,0,1, 8,0,1, 10,12,1, 12,10,0, 12,15,0, 15,12,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,15,0, 3,13,1, 13,3,0, 15,0,1, + 0,15,0, 3,13,1, 13,3,0, 15,0,1, // Length and number of words of that length 5, 24, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,0, 4,12,0, 4,12,1, 5,0,1, 5,11,0, 6,10,0, 6,10,1, 7,9,0, 7,9,1, 8,8,0, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,0, 10,6,1, 11,5,1, 12,4,1, 13,14,1, 14,2,1, 14,8,0, 14,13,0, + 0,5,0, 0,10,0, 4,12,0, 4,12,1, 5,0,1, 5,11,0, 6,10,0, 6,10,1, 7,9,0, 7,9,1, 8,8,0, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,0, 10,6,1, 11,5,1, 12,4,1, 13,14,1, 14,2,1, 14,8,0, 14,13,0, // Length and number of words of that length 4, 70, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,6,0, 0,10,1, 0,11,0, 0,15,1, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,9,0, 2,15,1, 3,8,1, 3,14,0, 4,2,1, 4,7,0, 4,7,1, 5,0,0, 5,1,0, 5,6,0, 5,6,1, 5,17,0, 5,18,0, 6,0,1, 6,5,0, 6,5,1, 7,4,0, 7,4,1, 7,15,0, 7,15,1, 8,3,0, 8,14,0, 9,13,0, 10,0,0, 10,1,0, 10,12,0, 10,17,0, 10,18,0, 11,0,1, 11,11,0, 11,11,1, 12,4,0, 12,10,1, 12,15,1, 13,9,0, 13,9,1, 14,8,1, 14,13,1, 15,0,0, 15,1,0, 15,7,0, 15,7,1, 15,12,0, 15,17,0, 15,18,0, 16,0,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, + 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,6,0, 0,10,1, 0,11,0, 0,15,1, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,9,0, 2,15,1, 3,8,1, 3,14,0, 4,2,1, 4,7,0, 4,7,1, 5,0,0, 5,1,0, 5,6,0, 5,6,1, 5,17,0, 5,18,0, 6,0,1, 6,5,0, 6,5,1, 7,4,0, 7,4,1, 7,15,0, 7,15,1, 8,3,0, 8,14,0, 9,13,0, 10,0,0, 10,1,0, 10,12,0, 10,17,0, 10,18,0, 11,0,1, 11,11,0, 11,11,1, 12,4,0, 12,10,1, 12,15,1, 13,9,0, 13,9,1, 14,8,1, 14,13,1, 15,0,0, 15,1,0, 15,7,0, 15,7,1, 15,12,0, 15,17,0, 15,18,0, 16,0,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, // Length and number of words of that length 3, 12, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,12,0, 3,4,0, 6,16,1, 7,0,1, 9,3,1, 9,13,1, 11,16,1, 12,0,1, 13,14,0, 16,6,0, 16,11,0, + 0,7,0, 0,12,0, 3,4,0, 6,16,1, 7,0,1, 9,3,1, 9,13,1, 11,16,1, 12,0,1, 13,14,0, 16,6,0, 16,11,0, // End marker 0 }; @@ -1215,39 +1216,39 @@ namespace { // Number of black fields 65, // Black field coordinates - 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 3,7, 3,12, 4,3, 4,7, 4,8, 4,12, 4,13, 5,0, 5,1, 5,6, 5,11, 5,16, 5,17, 5,18, 6,0, 6,6, 6,10, 6,18, 7,5, 7,10, 7,15, 8,5, 8,10, 8,15, 9,4, 9,9, 9,14, 10,3, 10,8, 10,13, 11,3, 11,8, 11,13, 12,0, 12,8, 12,12, 12,18, 13,0, 13,1, 13,2, 13,7, 13,12, 13,17, 13,18, 14,5, 14,6, 14,10, 14,11, 14,15, 15,6, 15,11, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, + 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 3,7, 3,12, 4,3, 4,7, 4,8, 4,12, 4,13, 5,0, 5,1, 5,6, 5,11, 5,16, 5,17, 5,18, 6,0, 6,6, 6,10, 6,18, 7,5, 7,10, 7,15, 8,5, 8,10, 8,15, 9,4, 9,9, 9,14, 10,3, 10,8, 10,13, 11,3, 11,8, 11,13, 12,0, 12,8, 12,12, 12,18, 13,0, 13,1, 13,2, 13,7, 13,12, 13,17, 13,18, 14,5, 14,6, 14,10, 14,11, 14,15, 15,6, 15,11, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, // Length and number of words of that length 14, 2, // Coordinates where words start and direction (0 = horizontal) - 2,5,1, 16,0,1, + 2,5,1, 16,0,1, // Length and number of words of that length 13, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 6,16,0, + 0,2,0, 6,16,0, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 5,7,0, 6,11,0, + 5,7,0, 6,11,0, // Length and number of words of that length 7, 16, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,15,0, 2,9,0, 2,14,0, 3,0,1, 5,12,0, 6,1,0, 6,11,1, 6,17,0, 7,6,0, 10,4,0, 10,9,0, 12,1,1, 12,3,0, 12,13,0, 15,12,1, + 0,5,0, 0,15,0, 2,9,0, 2,14,0, 3,0,1, 5,12,0, 6,1,0, 6,11,1, 6,17,0, 7,6,0, 10,4,0, 10,9,0, 12,1,1, 12,3,0, 12,13,0, 15,12,1, // Length and number of words of that length 6, 6, // Coordinates where words start and direction (0 = horizontal) - 0,10,0, 3,4,0, 3,13,1, 10,14,0, 13,8,0, 15,0,1, + 0,10,0, 3,4,0, 3,13,1, 10,14,0, 13,8,0, 15,0,1, // Length and number of words of that length 5, 30, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,6,0, 0,11,0, 0,16,0, 0,17,0, 0,18,0, 4,14,1, 5,3,0, 5,8,0, 5,13,0, 6,1,1, 7,0,0, 7,0,1, 7,18,0, 8,0,1, 9,5,0, 9,10,0, 9,15,0, 10,14,1, 11,14,1, 12,13,1, 14,0,0, 14,0,1, 14,1,0, 14,2,0, 14,7,0, 14,12,0, 14,17,0, 14,18,0, + 0,0,0, 0,1,0, 0,6,0, 0,11,0, 0,16,0, 0,17,0, 0,18,0, 4,14,1, 5,3,0, 5,8,0, 5,13,0, 6,1,1, 7,0,0, 7,0,1, 7,18,0, 8,0,1, 9,5,0, 9,10,0, 9,15,0, 10,14,1, 11,14,1, 12,13,1, 14,0,0, 14,0,1, 14,1,0, 14,2,0, 14,7,0, 14,12,0, 14,17,0, 14,18,0, // Length and number of words of that length 4, 44, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,3,0, 0,5,1, 0,8,0, 0,10,1, 0,13,0, 0,15,1, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 3,8,1, 5,2,1, 5,7,1, 5,12,1, 7,6,1, 7,11,1, 8,6,1, 8,11,1, 9,0,1, 9,5,1, 9,10,1, 9,15,1, 10,4,1, 10,9,1, 11,4,1, 11,9,1, 13,3,1, 13,8,1, 13,13,1, 15,5,0, 15,7,1, 15,10,0, 15,15,0, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, + 0,0,1, 0,3,0, 0,5,1, 0,8,0, 0,10,1, 0,13,0, 0,15,1, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 3,8,1, 5,2,1, 5,7,1, 5,12,1, 7,6,1, 7,11,1, 8,6,1, 8,11,1, 9,0,1, 9,5,1, 9,10,1, 9,15,1, 10,4,1, 10,9,1, 11,4,1, 11,9,1, 13,3,1, 13,8,1, 13,13,1, 15,5,0, 15,7,1, 15,10,0, 15,15,0, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,12,0, 4,0,1, 4,4,1, 4,9,1, 6,7,1, 7,16,1, 8,16,1, 10,0,1, 11,0,1, 12,9,1, 14,7,1, 14,12,1, 14,16,1, 16,6,0, 16,11,0, + 0,7,0, 0,12,0, 4,0,1, 4,4,1, 4,9,1, 6,7,1, 7,16,1, 8,16,1, 10,0,1, 11,0,1, 12,9,1, 14,7,1, 14,12,1, 14,16,1, 16,6,0, 16,11,0, // End marker 0 }; @@ -1281,35 +1282,35 @@ namespace { // Number of black fields 54, // Black field coordinates - 0,6, 0,12, 1,6, 1,12, 2,6, 2,12, 3,3, 3,9, 3,15, 4,4, 4,9, 4,14, 5,5, 5,13, 6,0, 6,1, 6,2, 6,8, 6,16, 6,17, 6,18, 7,7, 7,11, 8,6, 8,10, 9,3, 9,4, 9,14, 9,15, 10,8, 10,12, 11,7, 11,11, 12,0, 12,1, 12,2, 12,10, 12,16, 12,17, 12,18, 13,5, 13,13, 14,4, 14,9, 14,14, 15,3, 15,9, 15,15, 16,6, 16,12, 17,6, 17,12, 18,6, 18,12, + 0,6, 0,12, 1,6, 1,12, 2,6, 2,12, 3,3, 3,9, 3,15, 4,4, 4,9, 4,14, 5,5, 5,13, 6,0, 6,1, 6,2, 6,8, 6,16, 6,17, 6,18, 7,7, 7,11, 8,6, 8,10, 9,3, 9,4, 9,14, 9,15, 10,8, 10,12, 11,7, 11,11, 12,0, 12,1, 12,2, 12,10, 12,16, 12,17, 12,18, 13,5, 13,13, 14,4, 14,9, 14,14, 15,3, 15,9, 15,15, 16,6, 16,12, 17,6, 17,12, 18,6, 18,12, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 5,9,0, 9,5,1, + 5,9,0, 9,5,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,10,0, 8,11,1, 10,0,1, 11,8,0, + 0,10,0, 8,11,1, 10,0,1, 11,8,0, // Length and number of words of that length 7, 16, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,11,0, 3,12,0, 5,6,1, 6,5,0, 6,9,1, 6,13,0, 7,0,1, 7,12,1, 9,6,0, 11,0,1, 11,12,1, 12,3,1, 12,7,0, 12,11,0, 13,6,1, + 0,7,0, 0,11,0, 3,12,0, 5,6,1, 6,5,0, 6,9,1, 6,13,0, 7,0,1, 7,12,1, 9,6,0, 11,0,1, 11,12,1, 12,3,1, 12,7,0, 12,11,0, 13,6,1, // Length and number of words of that length 6, 28, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,0, 0,13,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,13,1, 2,0,1, 2,13,1, 8,0,1, 10,13,1, 13,0,0, 13,1,0, 13,2,0, 13,10,0, 13,16,0, 13,17,0, 13,18,0, 16,0,1, 16,13,1, 17,0,1, 17,13,1, 18,0,1, 18,13,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,0, 0,13,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,13,1, 2,0,1, 2,13,1, 8,0,1, 10,13,1, 13,0,0, 13,1,0, 13,2,0, 13,10,0, 13,16,0, 13,17,0, 13,18,0, 16,0,1, 16,13,1, 17,0,1, 17,13,1, 18,0,1, 18,13,1, // Length and number of words of that length 5, 32, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,7,1, 0,13,0, 1,7,1, 2,7,1, 3,4,1, 3,6,0, 3,10,1, 4,3,0, 4,15,0, 5,0,1, 5,14,1, 6,3,1, 7,0,0, 7,1,0, 7,2,0, 7,16,0, 7,17,0, 7,18,0, 10,3,0, 10,15,0, 11,12,0, 12,11,1, 13,0,1, 13,14,1, 14,5,0, 14,13,0, 15,4,1, 15,10,1, 16,7,1, 17,7,1, 18,7,1, + 0,5,0, 0,7,1, 0,13,0, 1,7,1, 2,7,1, 3,4,1, 3,6,0, 3,10,1, 4,3,0, 4,15,0, 5,0,1, 5,14,1, 6,3,1, 7,0,0, 7,1,0, 7,2,0, 7,16,0, 7,17,0, 7,18,0, 10,3,0, 10,15,0, 11,12,0, 12,11,1, 13,0,1, 13,14,1, 14,5,0, 14,13,0, 15,4,1, 15,10,1, 16,7,1, 17,7,1, 18,7,1, // Length and number of words of that length 4, 16, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,14,0, 4,0,1, 4,5,1, 4,10,1, 4,15,1, 5,4,0, 5,14,0, 10,4,0, 10,14,0, 14,0,1, 14,5,1, 14,10,1, 14,15,1, 15,4,0, 15,14,0, + 0,4,0, 0,14,0, 4,0,1, 4,5,1, 4,10,1, 4,15,1, 5,4,0, 5,14,0, 10,4,0, 10,14,0, 14,0,1, 14,5,1, 14,10,1, 14,15,1, 15,4,0, 15,14,0, // Length and number of words of that length 3, 20, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 0,15,0, 3,0,1, 3,16,1, 7,8,0, 7,8,1, 8,7,0, 8,7,1, 8,11,0, 9,0,1, 9,10,0, 9,16,1, 10,9,1, 11,8,1, 15,0,1, 15,16,1, 16,3,0, 16,9,0, 16,15,0, + 0,3,0, 0,9,0, 0,15,0, 3,0,1, 3,16,1, 7,8,0, 7,8,1, 8,7,0, 8,7,1, 8,11,0, 9,0,1, 9,10,0, 9,16,1, 10,9,1, 11,8,1, 15,0,1, 15,16,1, 16,3,0, 16,9,0, 16,15,0, // End marker 0 }; @@ -1343,31 +1344,31 @@ namespace { // Number of black fields 65, // Black field coordinates - 0,5, 0,13, 1,5, 1,13, 2,5, 2,13, 3,3, 3,7, 3,11, 3,15, 4,4, 4,8, 4,9, 4,10, 4,14, 5,0, 5,1, 5,2, 5,16, 5,17, 5,18, 6,6, 6,12, 7,3, 7,7, 7,11, 7,15, 8,4, 8,9, 8,14, 9,4, 9,8, 9,9, 9,10, 9,14, 10,4, 10,9, 10,14, 11,3, 11,7, 11,11, 11,15, 12,6, 12,12, 13,0, 13,1, 13,2, 13,16, 13,17, 13,18, 14,4, 14,8, 14,9, 14,10, 14,14, 15,3, 15,7, 15,11, 15,15, 16,5, 16,13, 17,5, 17,13, 18,5, 18,13, + 0,5, 0,13, 1,5, 1,13, 2,5, 2,13, 3,3, 3,7, 3,11, 3,15, 4,4, 4,8, 4,9, 4,10, 4,14, 5,0, 5,1, 5,2, 5,16, 5,17, 5,18, 6,6, 6,12, 7,3, 7,7, 7,11, 7,15, 8,4, 8,9, 8,14, 9,4, 9,8, 9,9, 9,10, 9,14, 10,4, 10,9, 10,14, 11,3, 11,7, 11,11, 11,15, 12,6, 12,12, 13,0, 13,1, 13,2, 13,16, 13,17, 13,18, 14,4, 14,8, 14,9, 14,10, 14,14, 15,3, 15,7, 15,11, 15,15, 16,5, 16,13, 17,5, 17,13, 18,5, 18,13, // Length and number of words of that length 13, 4, // Coordinates where words start and direction (0 = horizontal) - 3,5,0, 3,13,0, 5,3,1, 13,3,1, + 3,5,0, 3,13,0, 5,3,1, 13,3,1, // Length and number of words of that length 7, 12, // Coordinates where words start and direction (0 = horizontal) - 0,6,1, 1,6,1, 2,6,1, 6,0,0, 6,1,0, 6,2,0, 6,16,0, 6,17,0, 6,18,0, 16,6,1, 17,6,1, 18,6,1, + 0,6,1, 1,6,1, 2,6,1, 6,0,0, 6,1,0, 6,2,0, 6,16,0, 6,17,0, 6,18,0, 16,6,1, 17,6,1, 18,6,1, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,12,0, 6,0,1, 6,13,1, 12,0,1, 12,13,1, 13,6,0, 13,12,0, + 0,6,0, 0,12,0, 6,0,1, 6,13,1, 12,0,1, 12,13,1, 13,6,0, 13,12,0, // Length and number of words of that length 5, 28, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,14,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,14,1, 2,0,1, 2,14,1, 6,7,1, 7,6,0, 7,12,0, 12,7,1, 14,0,0, 14,1,0, 14,2,0, 14,16,0, 14,17,0, 14,18,0, 16,0,1, 16,14,1, 17,0,1, 17,14,1, 18,0,1, 18,14,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,14,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,14,1, 2,0,1, 2,14,1, 6,7,1, 7,6,0, 7,12,0, 12,7,1, 14,0,0, 14,1,0, 14,2,0, 14,16,0, 14,17,0, 14,18,0, 16,0,1, 16,14,1, 17,0,1, 17,14,1, 18,0,1, 18,14,1, // Length and number of words of that length 4, 28, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,8,0, 0,9,0, 0,10,0, 0,14,0, 4,0,1, 4,15,1, 5,8,0, 5,10,0, 8,0,1, 8,5,1, 8,10,1, 8,15,1, 9,0,1, 9,15,1, 10,0,1, 10,5,1, 10,8,0, 10,10,0, 10,10,1, 10,15,1, 14,0,1, 14,15,1, 15,4,0, 15,8,0, 15,9,0, 15,10,0, 15,14,0, + 0,4,0, 0,8,0, 0,9,0, 0,10,0, 0,14,0, 4,0,1, 4,15,1, 5,8,0, 5,10,0, 8,0,1, 8,5,1, 8,10,1, 8,15,1, 9,0,1, 9,15,1, 10,0,1, 10,5,1, 10,8,0, 10,10,0, 10,10,1, 10,15,1, 14,0,1, 14,15,1, 15,4,0, 15,8,0, 15,9,0, 15,10,0, 15,14,0, // Length and number of words of that length 3, 52, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,7,0, 0,11,0, 0,15,0, 3,0,1, 3,4,1, 3,8,1, 3,12,1, 3,16,1, 4,3,0, 4,5,1, 4,7,0, 4,11,0, 4,11,1, 4,15,0, 5,4,0, 5,9,0, 5,14,0, 7,0,1, 7,4,1, 7,8,1, 7,12,1, 7,16,1, 8,3,0, 8,7,0, 8,11,0, 8,15,0, 9,5,1, 9,11,1, 11,0,1, 11,4,0, 11,4,1, 11,8,1, 11,9,0, 11,12,1, 11,14,0, 11,16,1, 12,3,0, 12,7,0, 12,11,0, 12,15,0, 14,5,1, 14,11,1, 15,0,1, 15,4,1, 15,8,1, 15,12,1, 15,16,1, 16,3,0, 16,7,0, 16,11,0, 16,15,0, + 0,3,0, 0,7,0, 0,11,0, 0,15,0, 3,0,1, 3,4,1, 3,8,1, 3,12,1, 3,16,1, 4,3,0, 4,5,1, 4,7,0, 4,11,0, 4,11,1, 4,15,0, 5,4,0, 5,9,0, 5,14,0, 7,0,1, 7,4,1, 7,8,1, 7,12,1, 7,16,1, 8,3,0, 8,7,0, 8,11,0, 8,15,0, 9,5,1, 9,11,1, 11,0,1, 11,4,0, 11,4,1, 11,8,1, 11,9,0, 11,12,1, 11,14,0, 11,16,1, 12,3,0, 12,7,0, 12,11,0, 12,15,0, 14,5,1, 14,11,1, 15,0,1, 15,4,1, 15,8,1, 15,12,1, 15,16,1, 16,3,0, 16,7,0, 16,11,0, 16,15,0, // End marker 0 }; @@ -1401,35 +1402,35 @@ namespace { // Number of black fields 70, // Black field coordinates - 0,4, 0,10, 0,15, 1,4, 1,10, 1,15, 2,4, 2,10, 2,15, 3,6, 3,11, 4,0, 4,1, 4,2, 4,7, 4,8, 4,12, 4,16, 4,17, 4,18, 5,0, 5,8, 5,12, 5,13, 6,5, 6,13, 7,3, 7,10, 7,15, 8,6, 8,11, 9,0, 9,1, 9,2, 9,7, 9,11, 9,16, 9,17, 9,18, 10,7, 10,12, 11,3, 11,8, 11,15, 12,5, 12,13, 13,5, 13,6, 13,10, 13,18, 14,0, 14,1, 14,2, 14,6, 14,10, 14,11, 14,16, 14,17, 14,18, 15,7, 15,12, 16,3, 16,8, 16,14, 17,3, 17,8, 17,14, 18,3, 18,8, 18,14, + 0,4, 0,10, 0,15, 1,4, 1,10, 1,15, 2,4, 2,10, 2,15, 3,6, 3,11, 4,0, 4,1, 4,2, 4,7, 4,8, 4,12, 4,16, 4,17, 4,18, 5,0, 5,8, 5,12, 5,13, 6,5, 6,13, 7,3, 7,10, 7,15, 8,6, 8,11, 9,0, 9,1, 9,2, 9,7, 9,11, 9,16, 9,17, 9,18, 10,7, 10,12, 11,3, 11,8, 11,15, 12,5, 12,13, 13,5, 13,6, 13,10, 13,18, 14,0, 14,1, 14,2, 14,6, 14,10, 14,11, 14,16, 14,17, 14,18, 15,7, 15,12, 16,3, 16,8, 16,14, 17,3, 17,8, 17,14, 18,3, 18,8, 18,14, // Length and number of words of that length 19, 1, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, + 0,9,0, // Length and number of words of that length 16, 2, // Coordinates where words start and direction (0 = horizontal) - 0,14,0, 3,4,0, + 0,14,0, 3,4,0, // Length and number of words of that length 7, 10, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 3,12,1, 5,1,1, 6,6,1, 8,12,1, 10,0,1, 12,6,1, 12,15,0, 13,11,1, 15,0,1, + 0,3,0, 3,12,1, 5,1,1, 6,6,1, 8,12,1, 10,0,1, 12,6,1, 12,15,0, 13,11,1, 15,0,1, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 3,0,1, 7,4,1, 8,0,1, 10,13,1, 11,9,1, 13,13,0, 15,13,1, + 0,5,0, 3,0,1, 7,4,1, 8,0,1, 10,13,1, 11,9,1, 13,13,0, 15,13,1, // Length and number of words of that length 5, 18, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,13,0, 1,5,1, 2,5,1, 5,14,1, 6,0,1, 6,8,0, 6,14,1, 7,5,0, 7,13,0, 8,10,0, 12,0,1, 12,14,1, 13,0,1, 14,5,0, 16,9,1, 17,9,1, 18,9,1, + 0,5,1, 0,13,0, 1,5,1, 2,5,1, 5,14,1, 6,0,1, 6,8,0, 6,14,1, 7,5,0, 7,13,0, 8,10,0, 12,0,1, 12,14,1, 13,0,1, 14,5,0, 16,9,1, 17,9,1, 18,9,1, // Length and number of words of that length 4, 62, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,8,0, 0,11,1, 0,12,0, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,7,1, 3,10,0, 3,15,0, 4,3,1, 4,6,0, 4,11,0, 5,1,0, 5,2,0, 5,7,0, 5,16,0, 5,17,0, 5,18,0, 6,12,0, 7,11,1, 8,7,1, 9,3,1, 9,6,0, 9,12,1, 10,0,0, 10,1,0, 10,2,0, 10,8,1, 10,11,0, 10,16,0, 10,17,0, 11,4,1, 11,7,0, 11,12,0, 12,3,0, 12,8,0, 14,12,1, 15,0,0, 15,1,0, 15,2,0, 15,6,0, 15,8,1, 15,10,0, 15,11,0, 15,16,0, 15,17,0, 15,18,0, 16,4,1, 16,15,1, 17,4,1, 17,15,1, 18,4,1, 18,15,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,8,0, 0,11,1, 0,12,0, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,7,1, 3,10,0, 3,15,0, 4,3,1, 4,6,0, 4,11,0, 5,1,0, 5,2,0, 5,7,0, 5,16,0, 5,17,0, 5,18,0, 6,12,0, 7,11,1, 8,7,1, 9,3,1, 9,6,0, 9,12,1, 10,0,0, 10,1,0, 10,2,0, 10,8,1, 10,11,0, 10,16,0, 10,17,0, 11,4,1, 11,7,0, 11,12,0, 12,3,0, 12,8,0, 14,12,1, 15,0,0, 15,1,0, 15,2,0, 15,6,0, 15,8,1, 15,10,0, 15,11,0, 15,16,0, 15,17,0, 15,18,0, 16,4,1, 16,15,1, 17,4,1, 17,15,1, 18,4,1, 18,15,1, // Length and number of words of that length 3, 25, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,11,0, 0,16,1, 1,16,1, 2,16,1, 4,9,1, 4,13,1, 5,9,1, 6,0,0, 7,0,1, 7,16,1, 8,3,0, 8,15,0, 9,8,1, 10,18,0, 11,0,1, 11,16,1, 13,7,1, 14,3,1, 14,7,1, 16,0,1, 16,7,0, 16,12,0, 17,0,1, 18,0,1, + 0,6,0, 0,11,0, 0,16,1, 1,16,1, 2,16,1, 4,9,1, 4,13,1, 5,9,1, 6,0,0, 7,0,1, 7,16,1, 8,3,0, 8,15,0, 9,8,1, 10,18,0, 11,0,1, 11,16,1, 13,7,1, 14,3,1, 14,7,1, 16,0,1, 16,7,0, 16,12,0, 17,0,1, 18,0,1, // End marker 0 }; @@ -1463,39 +1464,39 @@ namespace { // Number of black fields 74, // Black field coordinates - 0,3, 0,4, 0,9, 0,14, 0,15, 1,4, 1,9, 1,14, 1,15, 2,4, 2,15, 3,11, 3,12, 4,0, 4,1, 4,2, 4,3, 4,7, 4,11, 4,16, 4,17, 4,18, 5,5, 5,6, 5,10, 6,4, 6,9, 6,14, 7,4, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,14, 12,4, 12,9, 12,14, 13,8, 13,12, 13,13, 14,0, 14,1, 14,2, 14,7, 14,11, 14,15, 14,16, 14,17, 14,18, 15,6, 15,7, 16,3, 16,14, 17,3, 17,4, 17,9, 17,14, 18,3, 18,4, 18,9, 18,14, 18,15, + 0,3, 0,4, 0,9, 0,14, 0,15, 1,4, 1,9, 1,14, 1,15, 2,4, 2,15, 3,11, 3,12, 4,0, 4,1, 4,2, 4,3, 4,7, 4,11, 4,16, 4,17, 4,18, 5,5, 5,6, 5,10, 6,4, 6,9, 6,14, 7,4, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,14, 12,4, 12,9, 12,14, 13,8, 13,12, 13,13, 14,0, 14,1, 14,2, 14,7, 14,11, 14,15, 14,16, 14,17, 14,18, 15,6, 15,7, 16,3, 16,14, 17,3, 17,4, 17,9, 17,14, 18,3, 18,4, 18,9, 18,14, 18,15, // Length and number of words of that length 11, 4, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 3,15,0, 5,3,0, 15,8,1, + 3,0,1, 3,15,0, 5,3,0, 15,8,1, // Length and number of words of that length 10, 2, // Coordinates where words start and direction (0 = horizontal) - 2,5,1, 16,4,1, + 2,5,1, 16,4,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,13,0, 5,11,1, 11,5,0, 13,0,1, + 0,13,0, 5,11,1, 11,5,0, 13,0,1, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 8,0,1, 10,12,1, 12,10,0, + 0,8,0, 8,0,1, 10,12,1, 12,10,0, // Length and number of words of that length 6, 2, // Coordinates where words start and direction (0 = horizontal) - 3,13,1, 15,0,1, + 3,13,1, 15,0,1, // Length and number of words of that length 5, 22, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,6,0, 0,10,0, 4,12,0, 5,0,1, 5,11,0, 6,10,0, 7,9,0, 7,9,1, 8,8,0, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,0, 10,6,1, 11,5,1, 13,14,1, 14,8,0, 14,12,0, 14,13,0, + 0,5,0, 0,6,0, 0,10,0, 4,12,0, 5,0,1, 5,11,0, 6,10,0, 7,9,0, 7,9,1, 8,8,0, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,0, 10,6,1, 11,5,1, 13,14,1, 14,8,0, 14,12,0, 14,13,0, // Length and number of words of that length 4, 58, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,2,0, 0,5,1, 0,7,0, 0,10,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 2,0,1, 2,9,0, 2,14,0, 4,12,1, 5,0,0, 5,1,0, 5,2,0, 5,16,0, 5,17,0, 5,18,0, 6,0,1, 6,5,0, 6,5,1, 6,10,1, 6,15,1, 7,0,1, 7,15,1, 9,13,0, 10,0,0, 10,1,0, 10,2,0, 10,16,0, 10,17,0, 10,18,0, 11,0,1, 11,15,1, 12,0,1, 12,5,1, 12,10,1, 12,15,1, 13,4,0, 13,9,0, 14,3,1, 15,0,0, 15,1,0, 15,2,0, 15,11,0, 15,16,0, 15,17,0, 15,18,0, 16,15,1, 17,5,1, 17,10,1, 17,15,1, 18,5,1, 18,10,1, + 0,0,0, 0,1,0, 0,2,0, 0,5,1, 0,7,0, 0,10,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 2,0,1, 2,9,0, 2,14,0, 4,12,1, 5,0,0, 5,1,0, 5,2,0, 5,16,0, 5,17,0, 5,18,0, 6,0,1, 6,5,0, 6,5,1, 6,10,1, 6,15,1, 7,0,1, 7,15,1, 9,13,0, 10,0,0, 10,1,0, 10,2,0, 10,16,0, 10,17,0, 10,18,0, 11,0,1, 11,15,1, 12,0,1, 12,5,1, 12,10,1, 12,15,1, 13,4,0, 13,9,0, 14,3,1, 15,0,0, 15,1,0, 15,2,0, 15,11,0, 15,16,0, 15,17,0, 15,18,0, 16,15,1, 17,5,1, 17,10,1, 17,15,1, 18,5,1, 18,10,1, // Length and number of words of that length 3, 32, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,11,0, 0,12,0, 0,16,1, 1,3,0, 1,16,1, 2,16,1, 3,4,0, 4,4,1, 4,8,1, 5,7,0, 5,7,1, 6,6,0, 7,5,1, 8,4,0, 8,14,0, 9,3,1, 9,13,1, 10,12,0, 11,11,0, 11,11,1, 13,9,1, 13,14,0, 14,8,1, 14,12,1, 15,15,0, 16,0,1, 16,6,0, 16,7,0, 17,0,1, 18,0,1, 18,16,1, + 0,0,1, 0,11,0, 0,12,0, 0,16,1, 1,3,0, 1,16,1, 2,16,1, 3,4,0, 4,4,1, 4,8,1, 5,7,0, 5,7,1, 6,6,0, 7,5,1, 8,4,0, 8,14,0, 9,3,1, 9,13,1, 10,12,0, 11,11,0, 11,11,1, 13,9,1, 13,14,0, 14,8,1, 14,12,1, 15,15,0, 16,0,1, 16,6,0, 16,7,0, 17,0,1, 18,0,1, 18,16,1, // End marker 0 }; @@ -1529,39 +1530,39 @@ namespace { // Number of black fields 70, // Black field coordinates - 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 2,9, 2,14, 3,3, 3,4, 3,16, 3,17, 3,18, 4,7, 4,11, 4,15, 5,0, 5,1, 5,6, 5,11, 5,15, 6,5, 6,10, 6,14, 7,4, 7,8, 7,9, 7,13, 8,3, 8,7, 8,12, 8,17, 8,18, 9,7, 9,11, 10,0, 10,1, 10,6, 10,11, 10,15, 11,5, 11,9, 11,10, 11,14, 12,4, 12,8, 12,13, 13,3, 13,7, 13,12, 13,17, 13,18, 14,3, 14,7, 14,11, 15,0, 15,1, 15,2, 15,14, 15,15, 16,4, 16,9, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, + 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 2,9, 2,14, 3,3, 3,4, 3,16, 3,17, 3,18, 4,7, 4,11, 4,15, 5,0, 5,1, 5,6, 5,11, 5,15, 6,5, 6,10, 6,14, 7,4, 7,8, 7,9, 7,13, 8,3, 8,7, 8,12, 8,17, 8,18, 9,7, 9,11, 10,0, 10,1, 10,6, 10,11, 10,15, 11,5, 11,9, 11,10, 11,14, 12,4, 12,8, 12,13, 13,3, 13,7, 13,12, 13,17, 13,18, 14,3, 14,7, 14,11, 15,0, 15,1, 15,2, 15,14, 15,15, 16,4, 16,9, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, // Length and number of words of that length 15, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 4,16,0, + 0,2,0, 4,16,0, // Length and number of words of that length 11, 2, // Coordinates where words start and direction (0 = horizontal) - 3,5,1, 15,3,1, + 3,5,1, 15,3,1, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 0,12,0, 11,6,0, + 0,12,0, 11,6,0, // Length and number of words of that length 7, 8, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,13,0, 4,0,1, 9,0,1, 9,12,1, 12,5,0, 12,10,0, 14,12,1, + 0,8,0, 0,13,0, 4,0,1, 9,0,1, 9,12,1, 12,5,0, 12,10,0, 14,12,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,0, 13,8,0, 13,13,0, + 0,5,0, 0,10,0, 13,8,0, 13,13,0, // Length and number of words of that length 5, 10, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,6,0, 6,0,1, 7,14,1, 11,0,1, 12,14,1, 14,12,0, 14,17,0, 14,18,0, + 0,0,0, 0,1,0, 0,6,0, 6,0,1, 7,14,1, 11,0,1, 12,14,1, 14,12,0, 14,17,0, 14,18,0, // Length and number of words of that length 4, 66, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,5,1, 0,7,0, 0,10,1, 0,11,0, 0,15,0, 0,15,1, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,5,1, 2,10,1, 2,15,1, 3,9,0, 4,3,0, 4,17,0, 4,18,0, 5,2,1, 5,7,1, 6,0,0, 6,1,0, 6,6,0, 6,6,1, 6,15,0, 6,15,1, 7,0,1, 7,5,0, 7,10,0, 7,14,0, 8,4,0, 8,8,0, 8,8,1, 8,13,0, 8,13,1, 9,3,0, 9,12,0, 9,17,0, 9,18,0, 10,2,1, 10,7,1, 11,0,0, 11,1,0, 11,15,0, 11,15,1, 12,0,1, 12,9,0, 12,9,1, 13,8,1, 13,13,1, 15,3,0, 15,7,0, 15,11,0, 16,0,1, 16,5,1, 16,10,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, + 0,0,1, 0,5,1, 0,7,0, 0,10,1, 0,11,0, 0,15,0, 0,15,1, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,5,1, 2,10,1, 2,15,1, 3,9,0, 4,3,0, 4,17,0, 4,18,0, 5,2,1, 5,7,1, 6,0,0, 6,1,0, 6,6,0, 6,6,1, 6,15,0, 6,15,1, 7,0,1, 7,5,0, 7,10,0, 7,14,0, 8,4,0, 8,8,0, 8,8,1, 8,13,0, 8,13,1, 9,3,0, 9,12,0, 9,17,0, 9,18,0, 10,2,1, 10,7,1, 11,0,0, 11,1,0, 11,15,0, 11,15,1, 12,0,1, 12,9,0, 12,9,1, 13,8,1, 13,13,1, 15,3,0, 15,7,0, 15,11,0, 16,0,1, 16,5,1, 16,10,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, // Length and number of words of that length 3, 40, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,16,0, 0,17,0, 0,18,0, 3,0,1, 3,14,0, 4,4,0, 4,8,1, 4,12,1, 4,16,1, 5,7,0, 5,12,1, 5,16,1, 6,11,0, 6,11,1, 7,5,1, 7,10,1, 8,0,1, 8,4,1, 8,9,0, 9,8,1, 10,7,0, 10,12,1, 10,16,1, 11,6,1, 11,11,0, 11,11,1, 12,5,1, 12,14,0, 13,0,1, 13,4,0, 13,4,1, 14,0,1, 14,4,1, 14,8,1, 15,16,1, 16,0,0, 16,1,0, 16,2,0, 16,15,0, + 0,3,0, 0,16,0, 0,17,0, 0,18,0, 3,0,1, 3,14,0, 4,4,0, 4,8,1, 4,12,1, 4,16,1, 5,7,0, 5,12,1, 5,16,1, 6,11,0, 6,11,1, 7,5,1, 7,10,1, 8,0,1, 8,4,1, 8,9,0, 9,8,1, 10,7,0, 10,12,1, 10,16,1, 11,6,1, 11,11,0, 11,11,1, 12,5,1, 12,14,0, 13,0,1, 13,4,0, 13,4,1, 14,0,1, 14,4,1, 14,8,1, 15,16,1, 16,0,0, 16,1,0, 16,2,0, 16,15,0, // End marker 0 }; @@ -1595,39 +1596,39 @@ namespace { // Number of black fields 66, // Black field coordinates - 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 2,9, 2,14, 3,6, 4,0, 4,1, 4,2, 4,7, 4,11, 4,12, 4,16, 4,17, 4,18, 5,8, 5,13, 6,4, 6,9, 6,14, 7,4, 7,10, 8,5, 8,11, 8,15, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,3, 10,7, 10,13, 11,8, 11,14, 12,4, 12,9, 12,14, 13,5, 13,10, 14,0, 14,1, 14,2, 14,6, 14,7, 14,11, 14,16, 14,17, 14,18, 15,12, 16,4, 16,9, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, + 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 2,9, 2,14, 3,6, 4,0, 4,1, 4,2, 4,7, 4,11, 4,12, 4,16, 4,17, 4,18, 5,8, 5,13, 6,4, 6,9, 6,14, 7,4, 7,10, 8,5, 8,11, 8,15, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,3, 10,7, 10,13, 11,8, 11,14, 12,4, 12,9, 12,14, 13,5, 13,10, 14,0, 14,1, 14,2, 14,6, 14,7, 14,11, 14,16, 14,17, 14,18, 15,12, 16,4, 16,9, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 3,7,1, 15,0,1, + 3,7,1, 15,0,1, // Length and number of words of that length 10, 2, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 9,15,0, + 0,3,0, 9,15,0, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,15,0, 5,0,1, 7,11,1, 11,0,1, 11,3,0, 11,13,0, 13,11,1, + 0,5,0, 0,15,0, 5,0,1, 7,11,1, 11,0,1, 11,3,0, 11,13,0, 13,11,1, // Length and number of words of that length 7, 2, // Coordinates where words start and direction (0 = horizontal) - 0,10,0, 12,8,0, + 0,10,0, 12,8,0, // Length and number of words of that length 6, 2, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 15,13,1, + 3,0,1, 15,13,1, // Length and number of words of that length 5, 20, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,13,0, 4,6,0, 5,7,0, 5,14,1, 6,8,0, 7,5,1, 7,9,0, 8,0,1, 8,6,1, 8,10,0, 9,7,1, 9,11,0, 10,8,1, 10,12,0, 10,14,1, 11,9,1, 13,0,1, 14,5,0, 14,10,0, + 0,8,0, 0,13,0, 4,6,0, 5,7,0, 5,14,1, 6,8,0, 7,5,1, 7,9,0, 8,0,1, 8,6,1, 8,10,0, 9,7,1, 9,11,0, 10,8,1, 10,12,0, 10,14,1, 11,9,1, 13,0,1, 14,5,0, 14,10,0, // Length and number of words of that length 4, 74, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,5,1, 0,7,0, 0,10,1, 0,11,0, 0,12,0, 0,15,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,5,1, 2,10,1, 2,15,1, 4,3,1, 5,0,0, 5,1,0, 5,2,0, 5,9,1, 5,12,0, 5,16,0, 5,17,0, 5,18,0, 6,0,1, 6,5,1, 6,10,1, 6,13,0, 6,15,1, 7,0,1, 7,14,0, 8,4,0, 9,5,0, 10,0,0, 10,1,0, 10,2,0, 10,6,0, 10,16,0, 10,17,0, 10,18,0, 11,15,1, 12,0,1, 12,5,1, 12,10,1, 12,15,1, 13,6,1, 14,12,1, 15,0,0, 15,1,0, 15,2,0, 15,6,0, 15,7,0, 15,11,0, 15,16,0, 15,17,0, 15,18,0, 16,0,1, 16,5,1, 16,10,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,5,1, 0,7,0, 0,10,1, 0,11,0, 0,12,0, 0,15,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,5,1, 2,10,1, 2,15,1, 4,3,1, 5,0,0, 5,1,0, 5,2,0, 5,9,1, 5,12,0, 5,16,0, 5,17,0, 5,18,0, 6,0,1, 6,5,1, 6,10,1, 6,13,0, 6,15,1, 7,0,1, 7,14,0, 8,4,0, 9,5,0, 10,0,0, 10,1,0, 10,2,0, 10,6,0, 10,16,0, 10,17,0, 10,18,0, 11,15,1, 12,0,1, 12,5,1, 12,10,1, 12,15,1, 13,6,1, 14,12,1, 15,0,0, 15,1,0, 15,2,0, 15,6,0, 15,7,0, 15,11,0, 15,16,0, 15,17,0, 15,18,0, 16,0,1, 16,5,1, 16,10,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, // Length and number of words of that length 3, 20, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 3,4,0, 3,9,0, 3,14,0, 4,8,1, 4,13,1, 5,11,0, 8,12,1, 8,16,1, 9,3,1, 9,13,1, 10,0,1, 10,4,1, 11,7,0, 13,4,0, 13,9,0, 13,14,0, 14,3,1, 14,8,1, 16,12,0, + 0,6,0, 3,4,0, 3,9,0, 3,14,0, 4,8,1, 4,13,1, 5,11,0, 8,12,1, 8,16,1, 9,3,1, 9,13,1, 10,0,1, 10,4,1, 11,7,0, 13,4,0, 13,9,0, 13,14,0, 14,3,1, 14,8,1, 16,12,0, // End marker 0 }; @@ -1661,39 +1662,39 @@ namespace { // Number of black fields 66, // Black field coordinates - 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 3,7, 3,11, 3,15, 4,0, 4,1, 4,2, 4,7, 4,11, 4,12, 4,16, 4,17, 4,18, 5,6, 5,10, 6,5, 6,9, 6,14, 7,4, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,14, 12,4, 12,9, 12,13, 13,8, 13,12, 14,0, 14,1, 14,2, 14,6, 14,7, 14,11, 14,16, 14,17, 14,18, 15,3, 15,7, 15,11, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, + 0,4, 0,9, 0,14, 1,4, 1,9, 1,14, 2,4, 3,7, 3,11, 3,15, 4,0, 4,1, 4,2, 4,7, 4,11, 4,12, 4,16, 4,17, 4,18, 5,6, 5,10, 6,5, 6,9, 6,14, 7,4, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,2, 9,6, 9,12, 9,16, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,14, 12,4, 12,9, 12,13, 13,8, 13,12, 14,0, 14,1, 14,2, 14,6, 14,7, 14,11, 14,16, 14,17, 14,18, 15,3, 15,7, 15,11, 16,14, 17,4, 17,9, 17,14, 18,4, 18,9, 18,14, // Length and number of words of that length 15, 2, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 4,15,0, + 0,3,0, 4,15,0, // Length and number of words of that length 14, 2, // Coordinates where words start and direction (0 = horizontal) - 2,5,1, 16,0,1, + 2,5,1, 16,0,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,13,0, 5,11,1, 11,5,0, 13,0,1, + 0,13,0, 5,11,1, 11,5,0, 13,0,1, // Length and number of words of that length 7, 6, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 3,0,1, 8,0,1, 10,12,1, 12,10,0, 15,12,1, + 0,8,0, 3,0,1, 8,0,1, 10,12,1, 12,10,0, 15,12,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 5,0,1, 13,13,0, 13,13,1, + 0,5,0, 5,0,1, 13,13,0, 13,13,1, // Length and number of words of that length 5, 18, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,10,0, 5,11,0, 6,0,1, 6,10,0, 7,9,0, 7,9,1, 8,8,0, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,1, 11,5,1, 12,14,1, 14,8,0, 14,12,0, + 0,6,0, 0,10,0, 5,11,0, 6,0,1, 6,10,0, 7,9,0, 7,9,1, 8,8,0, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,1, 11,5,1, 12,14,1, 14,8,0, 14,12,0, // Length and number of words of that length 4, 62, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,5,1, 0,10,1, 0,12,0, 0,15,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,9,0, 2,14,0, 3,4,0, 4,3,1, 5,0,0, 5,1,0, 5,2,0, 5,12,0, 5,16,0, 5,17,0, 5,18,0, 6,10,1, 6,15,1, 7,0,1, 7,15,1, 10,0,0, 10,1,0, 10,2,0, 10,6,0, 10,16,0, 10,17,0, 10,18,0, 11,0,1, 11,15,1, 12,0,1, 12,5,1, 12,14,0, 13,4,0, 13,9,0, 14,12,1, 15,0,0, 15,1,0, 15,2,0, 15,6,0, 15,16,0, 15,17,0, 15,18,0, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,5,1, 0,10,1, 0,12,0, 0,15,1, 0,16,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,1, 2,0,1, 2,9,0, 2,14,0, 3,4,0, 4,3,1, 5,0,0, 5,1,0, 5,2,0, 5,12,0, 5,16,0, 5,17,0, 5,18,0, 6,10,1, 6,15,1, 7,0,1, 7,15,1, 10,0,0, 10,1,0, 10,2,0, 10,6,0, 10,16,0, 10,17,0, 10,18,0, 11,0,1, 11,15,1, 12,0,1, 12,5,1, 12,14,0, 13,4,0, 13,9,0, 14,12,1, 15,0,0, 15,1,0, 15,2,0, 15,6,0, 15,16,0, 15,17,0, 15,18,0, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,0,1, 18,5,1, 18,10,1, 18,15,1, // Length and number of words of that length 3, 32, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,11,0, 0,15,0, 3,8,1, 3,12,1, 3,16,1, 4,8,1, 4,13,1, 5,7,0, 5,7,1, 6,6,0, 6,6,1, 7,5,0, 7,5,1, 8,4,0, 8,14,0, 9,3,1, 9,13,0, 9,13,1, 10,12,0, 11,11,0, 11,11,1, 12,10,1, 13,9,1, 14,3,1, 14,8,1, 15,0,1, 15,4,1, 15,8,1, 16,3,0, 16,7,0, 16,11,0, + 0,7,0, 0,11,0, 0,15,0, 3,8,1, 3,12,1, 3,16,1, 4,8,1, 4,13,1, 5,7,0, 5,7,1, 6,6,0, 6,6,1, 7,5,0, 7,5,1, 8,4,0, 8,14,0, 9,3,1, 9,13,0, 9,13,1, 10,12,0, 11,11,0, 11,11,1, 12,10,1, 13,9,1, 14,3,1, 14,8,1, 15,0,1, 15,4,1, 15,8,1, 16,3,0, 16,7,0, 16,11,0, // End marker 0 }; @@ -1727,39 +1728,39 @@ namespace { // Number of black fields 70, // Black field coordinates - 0,4, 0,8, 0,9, 0,14, 0,15, 1,4, 1,9, 1,14, 2,4, 2,9, 2,14, 3,0, 3,7, 3,12, 4,0, 4,1, 4,6, 4,11, 4,12, 4,17, 4,18, 5,5, 5,10, 5,15, 6,4, 6,10, 6,15, 7,3, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,6, 9,12, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,15, 12,3, 12,8, 12,14, 13,3, 13,8, 13,13, 14,0, 14,1, 14,6, 14,7, 14,12, 14,17, 14,18, 15,6, 15,11, 15,18, 16,4, 16,9, 16,14, 17,4, 17,9, 17,14, 18,3, 18,4, 18,9, 18,10, 18,14, + 0,4, 0,8, 0,9, 0,14, 0,15, 1,4, 1,9, 1,14, 2,4, 2,9, 2,14, 3,0, 3,7, 3,12, 4,0, 4,1, 4,6, 4,11, 4,12, 4,17, 4,18, 5,5, 5,10, 5,15, 6,4, 6,10, 6,15, 7,3, 7,8, 7,14, 8,7, 8,13, 9,0, 9,1, 9,6, 9,12, 9,17, 9,18, 10,5, 10,11, 11,4, 11,10, 11,15, 12,3, 12,8, 12,14, 13,3, 13,8, 13,13, 14,0, 14,1, 14,6, 14,7, 14,12, 14,17, 14,18, 15,6, 15,11, 15,18, 16,4, 16,9, 16,14, 17,4, 17,9, 17,14, 18,3, 18,4, 18,9, 18,10, 18,14, // Length and number of words of that length 19, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,16,0, + 0,2,0, 0,16,0, // Length and number of words of that length 13, 1, // Coordinates where words start and direction (0 = horizontal) - 3,9,0, + 3,9,0, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 0,13,0, 11,5,0, + 0,13,0, 11,5,0, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 8,0,1, 10,12,1, 12,15,0, + 0,3,0, 8,0,1, 10,12,1, 12,15,0, // Length and number of words of that length 6, 6, // Coordinates where words start and direction (0 = horizontal) - 1,8,0, 3,1,1, 3,13,1, 12,10,0, 15,0,1, 15,12,1, + 1,8,0, 3,1,1, 3,13,1, 12,10,0, 15,0,1, 15,12,1, // Length and number of words of that length 5, 17, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,0, 5,0,1, 5,11,0, 6,5,1, 7,9,1, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,1, 11,5,1, 12,9,1, 13,14,1, 14,8,0, 14,13,0, + 0,5,0, 0,10,0, 5,0,1, 5,11,0, 6,5,1, 7,9,1, 8,8,1, 8,14,1, 9,7,0, 9,7,1, 10,0,1, 10,6,1, 11,5,1, 12,9,1, 13,14,1, 14,8,0, 14,13,0, // Length and number of words of that length 4, 78, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,1,0, 0,6,0, 0,10,1, 0,11,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,0, 1,15,1, 2,0,1, 2,5,1, 2,10,1, 2,15,1, 3,8,1, 3,14,0, 4,2,1, 4,7,0, 4,7,1, 4,13,1, 5,0,0, 5,1,0, 5,6,0, 5,6,1, 5,11,1, 5,12,0, 5,17,0, 5,18,0, 6,0,1, 6,5,0, 6,11,1, 7,4,0, 7,4,1, 7,10,0, 7,15,0, 7,15,1, 8,3,0, 8,8,0, 8,14,0, 9,2,1, 9,13,0, 9,13,1, 10,0,0, 10,1,0, 10,6,0, 10,12,0, 10,17,0, 10,18,0, 11,0,1, 11,11,0, 11,11,1, 12,4,0, 12,4,1, 12,15,1, 13,4,1, 13,9,1, 14,2,1, 14,3,0, 14,8,1, 14,13,1, 15,0,0, 15,1,0, 15,7,0, 15,7,1, 15,12,0, 15,17,0, 16,0,1, 16,5,1, 16,10,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,5,1, 18,15,1, + 0,0,1, 0,1,0, 0,6,0, 0,10,1, 0,11,0, 0,17,0, 0,18,0, 1,0,1, 1,5,1, 1,10,1, 1,15,0, 1,15,1, 2,0,1, 2,5,1, 2,10,1, 2,15,1, 3,8,1, 3,14,0, 4,2,1, 4,7,0, 4,7,1, 4,13,1, 5,0,0, 5,1,0, 5,6,0, 5,6,1, 5,11,1, 5,12,0, 5,17,0, 5,18,0, 6,0,1, 6,5,0, 6,11,1, 7,4,0, 7,4,1, 7,10,0, 7,15,0, 7,15,1, 8,3,0, 8,8,0, 8,14,0, 9,2,1, 9,13,0, 9,13,1, 10,0,0, 10,1,0, 10,6,0, 10,12,0, 10,17,0, 10,18,0, 11,0,1, 11,11,0, 11,11,1, 12,4,0, 12,4,1, 12,15,1, 13,4,1, 13,9,1, 14,2,1, 14,3,0, 14,8,1, 14,13,1, 15,0,0, 15,1,0, 15,7,0, 15,7,1, 15,12,0, 15,17,0, 16,0,1, 16,5,1, 16,10,1, 16,15,1, 17,0,1, 17,5,1, 17,10,1, 17,15,1, 18,5,1, 18,15,1, // Length and number of words of that length 3, 18, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,5,1, 0,7,0, 0,12,0, 0,16,1, 3,4,0, 5,16,1, 6,16,1, 7,0,1, 11,16,1, 12,0,1, 13,0,1, 13,14,0, 16,6,0, 16,11,0, 16,18,0, 18,0,1, 18,11,1, + 0,0,0, 0,5,1, 0,7,0, 0,12,0, 0,16,1, 3,4,0, 5,16,1, 6,16,1, 7,0,1, 11,16,1, 12,0,1, 13,0,1, 13,14,0, 16,6,0, 16,11,0, 16,18,0, 18,0,1, 18,11,1, // End marker 0 }; @@ -1795,47 +1796,47 @@ namespace { // Number of black fields 68, // Black field coordinates - 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,16, 3,8, 3,14, 4,0, 4,1, 4,7, 4,13, 5,6, 5,19, 5,20, 6,5, 6,11, 6,17, 7,4, 7,10, 7,11, 7,12, 7,16, 8,3, 8,9, 8,15, 9,7, 9,13, 10,0, 10,1, 10,2, 10,7, 10,13, 10,18, 10,19, 10,20, 11,7, 11,13, 12,5, 12,11, 12,17, 13,4, 13,8, 13,9, 13,10, 13,16, 14,3, 14,9, 14,15, 15,0, 15,1, 15,14, 16,7, 16,13, 16,19, 16,20, 17,6, 17,12, 18,4, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, + 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,16, 3,8, 3,14, 4,0, 4,1, 4,7, 4,13, 5,6, 5,19, 5,20, 6,5, 6,11, 6,17, 7,4, 7,10, 7,11, 7,12, 7,16, 8,3, 8,9, 8,15, 9,7, 9,13, 10,0, 10,1, 10,2, 10,7, 10,13, 10,18, 10,19, 10,20, 11,7, 11,13, 12,5, 12,11, 12,17, 13,4, 13,8, 13,9, 13,10, 13,16, 14,3, 14,9, 14,15, 15,0, 15,1, 15,14, 16,7, 16,13, 16,19, 16,20, 17,6, 17,12, 18,4, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 5,7,1, 15,2,1, + 5,7,1, 15,2,1, // Length and number of words of that length 11, 4, // Coordinates where words start and direction (0 = horizontal) - 2,5,1, 4,14,0, 6,6,0, 18,5,1, + 2,5,1, 4,14,0, 6,6,0, 18,5,1, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,18,0, 11,2,0, 11,18,0, + 0,2,0, 0,18,0, 11,2,0, 11,18,0, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 4,8,0, 8,12,0, + 4,8,0, 8,12,0, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 0,15,0, 3,0,1, 13,5,0, 13,11,0, 13,17,0, 17,13,1, + 0,3,0, 0,9,0, 0,15,0, 3,0,1, 13,5,0, 13,11,0, 13,17,0, 17,13,1, // Length and number of words of that length 7, 8, // Coordinates where words start and direction (0 = horizontal) - 0,12,0, 4,14,1, 9,0,1, 9,14,1, 11,0,1, 11,14,1, 14,8,0, 16,0,1, + 0,12,0, 4,14,1, 9,0,1, 9,14,1, 11,0,1, 11,14,1, 14,8,0, 16,0,1, // Length and number of words of that length 6, 10, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 0,17,0, 3,15,1, 5,0,1, 15,3,0, 15,9,0, 15,15,0, 15,15,1, 17,0,1, + 0,5,0, 0,11,0, 0,17,0, 3,15,1, 5,0,1, 15,3,0, 15,9,0, 15,15,0, 15,15,1, 17,0,1, // Length and number of words of that length 5, 50, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,6,0, 0,11,1, 0,19,0, 0,20,0, 1,5,1, 1,11,1, 2,10,0, 3,9,1, 4,2,1, 4,8,1, 5,0,0, 5,1,0, 6,0,1, 6,6,1, 6,12,1, 7,5,0, 7,5,1, 7,17,0, 8,4,0, 8,4,1, 8,10,0, 8,10,1, 8,16,0, 8,16,1, 9,3,0, 9,8,1, 9,15,0, 10,8,1, 11,8,1, 11,19,0, 11,20,0, 12,0,1, 12,6,1, 12,12,1, 13,11,1, 14,4,1, 14,10,0, 14,10,1, 14,16,1, 16,0,0, 16,1,0, 16,8,1, 16,14,0, 16,14,1, 17,7,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, + 0,5,1, 0,6,0, 0,11,1, 0,19,0, 0,20,0, 1,5,1, 1,11,1, 2,10,0, 3,9,1, 4,2,1, 4,8,1, 5,0,0, 5,1,0, 6,0,1, 6,6,1, 6,12,1, 7,5,0, 7,5,1, 7,17,0, 8,4,0, 8,4,1, 8,10,0, 8,10,1, 8,16,0, 8,16,1, 9,3,0, 9,8,1, 9,15,0, 10,8,1, 11,8,1, 11,19,0, 11,20,0, 12,0,1, 12,6,1, 12,12,1, 13,11,1, 14,4,1, 14,10,0, 14,10,1, 14,16,1, 16,0,0, 16,1,0, 16,8,1, 16,14,0, 16,14,1, 17,7,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, // Length and number of words of that length 4, 40, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,7,0, 0,13,0, 0,17,1, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,4,0, 3,16,0, 5,7,0, 5,13,0, 6,19,0, 6,20,0, 7,0,1, 7,17,1, 8,11,0, 9,9,0, 10,3,1, 10,14,1, 11,0,0, 11,1,0, 12,7,0, 12,13,0, 13,0,1, 13,17,1, 14,4,0, 14,16,0, 17,7,0, 17,13,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, + 0,0,0, 0,0,1, 0,1,0, 0,7,0, 0,13,0, 0,17,1, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,4,0, 3,16,0, 5,7,0, 5,13,0, 6,19,0, 6,20,0, 7,0,1, 7,17,1, 8,11,0, 9,9,0, 10,3,1, 10,14,1, 11,0,0, 11,1,0, 12,7,0, 12,13,0, 13,0,1, 13,17,1, 14,4,0, 14,16,0, 17,7,0, 17,13,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, // Length and number of words of that length 3, 10, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 6,18,1, 7,13,1, 8,0,1, 12,18,1, 13,5,1, 14,0,1, 18,6,0, 18,12,0, + 0,8,0, 0,14,0, 6,18,1, 7,13,1, 8,0,1, 12,18,1, 13,5,1, 14,0,1, 18,6,0, 18,12,0, // End marker 0 }; @@ -1871,39 +1872,39 @@ namespace { // Number of black fields 72, // Black field coordinates - 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,10, 2,16, 3,9, 3,15, 4,0, 4,1, 4,2, 4,8, 4,12, 4,18, 4,19, 4,20, 5,3, 5,7, 5,13, 6,6, 6,14, 7,5, 7,10, 7,15, 8,4, 8,9, 8,16, 9,8, 9,17, 10,0, 10,1, 10,2, 10,7, 10,13, 10,18, 10,19, 10,20, 11,3, 11,12, 12,4, 12,11, 12,16, 13,5, 13,10, 13,15, 14,6, 14,14, 15,7, 15,13, 15,17, 16,0, 16,1, 16,2, 16,8, 16,12, 16,18, 16,19, 16,20, 17,5, 17,11, 18,4, 18,10, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, + 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,10, 2,16, 3,9, 3,15, 4,0, 4,1, 4,2, 4,8, 4,12, 4,18, 4,19, 4,20, 5,3, 5,7, 5,13, 6,6, 6,14, 7,5, 7,10, 7,15, 8,4, 8,9, 8,16, 9,8, 9,17, 10,0, 10,1, 10,2, 10,7, 10,13, 10,18, 10,19, 10,20, 11,3, 11,12, 12,4, 12,11, 12,16, 13,5, 13,10, 13,15, 14,6, 14,14, 15,7, 15,13, 15,17, 16,0, 16,1, 16,2, 16,8, 16,12, 16,18, 16,19, 16,20, 17,5, 17,11, 18,4, 18,10, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 0,11,0, 9,9,0, + 0,11,0, 9,9,0, // Length and number of words of that length 9, 4, // Coordinates where words start and direction (0 = horizontal) - 0,17,0, 3,0,1, 12,3,0, 17,12,1, + 0,17,0, 3,0,1, 12,3,0, 17,12,1, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 9,0,1, 9,9,1, 11,4,1, 11,13,1, + 9,0,1, 9,9,1, 11,4,1, 11,13,1, // Length and number of words of that length 7, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 5,14,1, 6,7,1, 7,6,0, 7,14,0, 14,7,1, 14,15,0, 15,0,1, + 0,5,0, 5,14,1, 6,7,1, 7,6,0, 7,14,0, 14,7,1, 14,15,0, 15,0,1, // Length and number of words of that length 6, 12, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,14,0, 5,12,0, 6,0,1, 6,15,1, 8,10,1, 10,8,0, 12,5,1, 14,0,1, 14,15,1, 15,6,0, 15,14,0, + 0,6,0, 0,14,0, 5,12,0, 6,0,1, 6,15,1, 8,10,1, 10,8,0, 12,5,1, 14,0,1, 14,15,1, 15,6,0, 15,14,0, // Length and number of words of that length 5, 54, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,5,1, 0,7,0, 0,11,1, 0,13,0, 1,5,1, 1,11,1, 2,5,1, 2,11,1, 3,4,0, 3,10,1, 3,16,0, 3,16,1, 4,3,1, 4,13,1, 5,0,0, 5,1,0, 5,2,0, 5,8,1, 5,18,0, 5,19,0, 5,20,0, 6,3,0, 7,0,1, 7,16,1, 8,5,0, 8,10,0, 8,15,0, 10,8,1, 10,17,0, 11,0,0, 11,1,0, 11,2,0, 11,18,0, 11,19,0, 11,20,0, 13,0,1, 13,4,0, 13,16,0, 13,16,1, 15,8,1, 16,3,1, 16,7,0, 16,13,0, 16,13,1, 16,17,0, 17,0,1, 17,6,1, 18,5,1, 18,11,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, + 0,3,0, 0,5,1, 0,7,0, 0,11,1, 0,13,0, 1,5,1, 1,11,1, 2,5,1, 2,11,1, 3,4,0, 3,10,1, 3,16,0, 3,16,1, 4,3,1, 4,13,1, 5,0,0, 5,1,0, 5,2,0, 5,8,1, 5,18,0, 5,19,0, 5,20,0, 6,3,0, 7,0,1, 7,16,1, 8,5,0, 8,10,0, 8,15,0, 10,8,1, 10,17,0, 11,0,0, 11,1,0, 11,2,0, 11,18,0, 11,19,0, 11,20,0, 13,0,1, 13,4,0, 13,16,0, 13,16,1, 15,8,1, 16,3,1, 16,7,0, 16,13,0, 16,13,1, 16,17,0, 17,0,1, 17,6,1, 18,5,1, 18,11,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, // Length and number of words of that length 4, 50, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,0, 0,12,0, 0,17,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,10,0, 4,9,0, 5,8,0, 6,7,0, 6,13,0, 7,6,1, 7,11,1, 8,0,1, 8,5,1, 8,17,1, 10,3,1, 10,14,1, 11,7,0, 11,13,0, 12,0,1, 12,12,0, 12,12,1, 12,17,1, 13,6,1, 13,11,0, 13,11,1, 14,10,0, 17,0,0, 17,1,0, 17,2,0, 17,8,0, 17,12,0, 17,18,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,0, 0,12,0, 0,17,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,10,0, 4,9,0, 5,8,0, 6,7,0, 6,13,0, 7,6,1, 7,11,1, 8,0,1, 8,5,1, 8,17,1, 10,3,1, 10,14,1, 11,7,0, 11,13,0, 12,0,1, 12,12,0, 12,12,1, 12,17,1, 13,6,1, 13,11,0, 13,11,1, 14,10,0, 17,0,0, 17,1,0, 17,2,0, 17,8,0, 17,12,0, 17,18,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 0,15,0, 4,9,1, 4,15,0, 5,0,1, 5,4,1, 9,4,0, 9,16,0, 9,18,1, 11,0,1, 14,5,0, 15,14,1, 15,18,1, 16,9,1, 18,5,0, 18,11,0, + 0,9,0, 0,15,0, 4,9,1, 4,15,0, 5,0,1, 5,4,1, 9,4,0, 9,16,0, 9,18,1, 11,0,1, 14,5,0, 15,14,1, 15,18,1, 16,9,1, 18,5,0, 18,11,0, // End marker 0 }; @@ -1939,39 +1940,39 @@ namespace { // Number of black fields 79, // Black field coordinates - 0,5, 0,11, 0,12, 0,17, 1,5, 1,11, 1,17, 2,11, 3,3, 3,10, 3,15, 3,16, 4,0, 4,1, 4,2, 4,8, 4,9, 4,15, 5,0, 5,4, 5,5, 5,14, 5,18, 5,19, 5,20, 6,6, 6,13, 7,7, 7,12, 8,8, 8,16, 9,0, 9,1, 9,2, 9,3, 9,9, 9,15, 9,16, 10,3, 10,10, 10,17, 11,4, 11,5, 11,11, 11,17, 11,18, 11,19, 11,20, 12,4, 12,12, 13,8, 13,13, 14,7, 14,14, 15,0, 15,1, 15,2, 15,6, 15,15, 15,16, 15,20, 16,5, 16,11, 16,12, 16,18, 16,19, 16,20, 17,4, 17,5, 17,10, 17,17, 18,9, 19,3, 19,9, 19,15, 20,3, 20,8, 20,9, 20,15, + 0,5, 0,11, 0,12, 0,17, 1,5, 1,11, 1,17, 2,11, 3,3, 3,10, 3,15, 3,16, 4,0, 4,1, 4,2, 4,8, 4,9, 4,15, 5,0, 5,4, 5,5, 5,14, 5,18, 5,19, 5,20, 6,6, 6,13, 7,7, 7,12, 8,8, 8,16, 9,0, 9,1, 9,2, 9,3, 9,9, 9,15, 9,16, 10,3, 10,10, 10,17, 11,4, 11,5, 11,11, 11,17, 11,18, 11,19, 11,20, 12,4, 12,12, 13,8, 13,13, 14,7, 14,14, 15,0, 15,1, 15,2, 15,6, 15,15, 15,16, 15,20, 16,5, 16,11, 16,12, 16,18, 16,19, 16,20, 17,4, 17,5, 17,10, 17,17, 18,9, 19,3, 19,9, 19,15, 20,3, 20,8, 20,9, 20,15, // Length and number of words of that length 11, 2, // Coordinates where words start and direction (0 = horizontal) - 2,0,1, 18,10,1, + 2,0,1, 18,10,1, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 2,12,1, 18,0,1, + 2,12,1, 18,0,1, // Length and number of words of that length 8, 12, // Coordinates where words start and direction (0 = horizontal) - 2,17,0, 3,11,0, 5,6,1, 6,14,0, 7,6,0, 7,13,1, 8,0,1, 10,9,0, 11,3,0, 12,13,1, 13,0,1, 15,7,1, + 2,17,0, 3,11,0, 5,6,1, 6,14,0, 7,6,0, 7,13,1, 8,0,1, 10,9,0, 11,3,0, 12,13,1, 13,0,1, 15,7,1, // Length and number of words of that length 7, 8, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 6,14,1, 7,0,1, 8,9,1, 12,5,1, 13,14,1, 14,0,1, 14,13,0, + 0,7,0, 6,14,1, 7,0,1, 8,9,1, 12,5,1, 13,14,1, 14,0,1, 14,13,0, // Length and number of words of that length 6, 18, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,13,0, 1,12,0, 3,4,1, 4,10,0, 6,0,1, 6,7,1, 7,13,0, 8,7,0, 10,4,1, 10,11,1, 11,10,0, 14,8,0, 14,8,1, 14,15,1, 15,7,0, 15,14,0, 17,11,1, + 0,6,0, 0,13,0, 1,12,0, 3,4,1, 4,10,0, 6,0,1, 6,7,1, 7,13,0, 8,7,0, 10,4,1, 10,11,1, 11,10,0, 14,8,0, 14,8,1, 14,15,1, 15,7,0, 15,14,0, 17,11,1, // Length and number of words of that length 5, 42, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,4,0, 0,6,1, 0,14,0, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,6,1, 1,12,1, 4,3,0, 4,3,1, 4,10,1, 4,16,1, 6,4,0, 6,5,0, 6,18,0, 6,19,0, 6,20,0, 9,4,1, 9,10,1, 10,0,0, 10,1,0, 10,2,0, 10,15,0, 10,16,0, 11,6,1, 11,12,1, 12,17,0, 16,0,0, 16,0,1, 16,1,0, 16,2,0, 16,6,0, 16,6,1, 16,13,1, 16,16,0, 19,4,1, 19,10,1, 19,16,1, 20,10,1, 20,16,1, + 0,0,1, 0,4,0, 0,6,1, 0,14,0, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,6,1, 1,12,1, 4,3,0, 4,3,1, 4,10,1, 4,16,1, 6,4,0, 6,5,0, 6,18,0, 6,19,0, 6,20,0, 9,4,1, 9,10,1, 10,0,0, 10,1,0, 10,2,0, 10,15,0, 10,16,0, 11,6,1, 11,12,1, 12,17,0, 16,0,0, 16,0,1, 16,1,0, 16,2,0, 16,6,0, 16,6,1, 16,13,1, 16,16,0, 19,4,1, 19,10,1, 19,16,1, 20,10,1, 20,16,1, // Length and number of words of that length 4, 34, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,2,0, 0,8,0, 0,9,0, 0,13,1, 3,11,1, 3,17,1, 4,16,0, 5,1,0, 5,2,0, 5,9,0, 5,15,0, 7,8,1, 8,12,0, 8,17,1, 9,8,0, 9,17,1, 11,0,1, 12,0,1, 12,5,0, 12,11,0, 12,18,0, 12,19,0, 13,4,0, 13,9,1, 17,0,1, 17,6,1, 17,11,0, 17,12,0, 17,18,0, 17,19,0, 17,20,0, 20,4,1, + 0,0,0, 0,1,0, 0,2,0, 0,8,0, 0,9,0, 0,13,1, 3,11,1, 3,17,1, 4,16,0, 5,1,0, 5,2,0, 5,9,0, 5,15,0, 7,8,1, 8,12,0, 8,17,1, 9,8,0, 9,17,1, 11,0,1, 12,0,1, 12,5,0, 12,11,0, 12,18,0, 12,19,0, 13,4,0, 13,9,1, 17,0,1, 17,6,1, 17,11,0, 17,12,0, 17,18,0, 17,19,0, 17,20,0, 20,4,1, // Length and number of words of that length 3, 26, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,10,0, 0,15,0, 0,16,0, 0,18,1, 1,18,1, 2,5,0, 3,0,1, 5,1,1, 5,8,0, 5,15,1, 6,0,0, 10,0,1, 10,18,1, 12,20,0, 13,12,0, 15,3,1, 15,17,1, 16,15,0, 17,18,1, 18,4,0, 18,5,0, 18,10,0, 18,17,0, 19,0,1, 20,0,1, + 0,3,0, 0,10,0, 0,15,0, 0,16,0, 0,18,1, 1,18,1, 2,5,0, 3,0,1, 5,1,1, 5,8,0, 5,15,1, 6,0,0, 10,0,1, 10,18,1, 12,20,0, 13,12,0, 15,3,1, 15,17,1, 16,15,0, 17,18,1, 18,4,0, 18,5,0, 18,10,0, 18,17,0, 19,0,1, 20,0,1, // End marker 0 }; @@ -2007,31 +2008,31 @@ namespace { // Number of black fields 63, // Black field coordinates - 0,7, 0,13, 1,7, 1,13, 2,7, 2,13, 3,3, 3,11, 3,17, 4,4, 4,10, 4,16, 5,5, 5,9, 5,15, 6,8, 6,12, 7,0, 7,1, 7,2, 7,7, 7,13, 7,18, 7,19, 7,20, 8,6, 8,14, 9,5, 9,11, 9,17, 10,4, 10,10, 10,16, 11,3, 11,9, 11,15, 12,6, 12,14, 13,0, 13,1, 13,2, 13,7, 13,13, 13,18, 13,19, 13,20, 14,8, 14,12, 15,5, 15,11, 15,15, 16,4, 16,10, 16,16, 17,3, 17,9, 17,17, 18,7, 18,13, 19,7, 19,13, 20,7, 20,13, + 0,7, 0,13, 1,7, 1,13, 2,7, 2,13, 3,3, 3,11, 3,17, 4,4, 4,10, 4,16, 5,5, 5,9, 5,15, 6,8, 6,12, 7,0, 7,1, 7,2, 7,7, 7,13, 7,18, 7,19, 7,20, 8,6, 8,14, 9,5, 9,11, 9,17, 10,4, 10,10, 10,16, 11,3, 11,9, 11,15, 12,6, 12,14, 13,0, 13,1, 13,2, 13,7, 13,13, 13,18, 13,19, 13,20, 14,8, 14,12, 15,5, 15,11, 15,15, 16,4, 16,10, 16,16, 17,3, 17,9, 17,17, 18,7, 18,13, 19,7, 19,13, 20,7, 20,13, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,14,0, 6,0,1, 6,13,1, 13,6,0, 13,14,0, 14,0,1, 14,13,1, + 0,6,0, 0,14,0, 6,0,1, 6,13,1, 13,6,0, 13,14,0, 14,0,1, 14,13,1, // Length and number of words of that length 7, 32, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,14,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,14,1, 2,0,1, 2,14,1, 3,4,1, 4,3,0, 7,8,0, 7,12,0, 8,7,1, 10,17,0, 12,7,1, 14,0,0, 14,1,0, 14,2,0, 14,18,0, 14,19,0, 14,20,0, 17,10,1, 18,0,1, 18,14,1, 19,0,1, 19,14,1, 20,0,1, 20,14,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,14,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,14,1, 2,0,1, 2,14,1, 3,4,1, 4,3,0, 7,8,0, 7,12,0, 8,7,1, 10,17,0, 12,7,1, 14,0,0, 14,1,0, 14,2,0, 14,18,0, 14,19,0, 14,20,0, 17,10,1, 18,0,1, 18,14,1, 19,0,1, 19,14,1, 20,0,1, 20,14,1, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,12,0, 8,0,1, 8,15,1, 12,0,1, 12,15,1, 15,8,0, 15,12,0, + 0,8,0, 0,12,0, 8,0,1, 8,15,1, 12,0,1, 12,15,1, 15,8,0, 15,12,0, // Length and number of words of that length 5, 56, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,8,1, 0,9,0, 0,15,0, 1,8,1, 2,8,1, 3,12,1, 4,5,1, 4,11,0, 4,11,1, 4,17,0, 5,0,1, 5,4,0, 5,10,0, 5,10,1, 5,16,0, 5,16,1, 6,9,0, 6,15,0, 7,8,1, 8,0,0, 8,1,0, 8,2,0, 8,7,0, 8,13,0, 8,18,0, 8,19,0, 8,20,0, 9,0,1, 9,6,1, 9,12,1, 10,5,0, 10,5,1, 10,11,0, 10,11,1, 11,4,0, 11,4,1, 11,10,0, 11,10,1, 11,16,0, 11,16,1, 12,3,0, 12,9,0, 13,8,1, 15,0,1, 15,6,1, 15,16,1, 16,5,0, 16,5,1, 16,11,0, 16,11,1, 16,15,0, 17,4,1, 18,8,1, 19,8,1, 20,8,1, + 0,5,0, 0,8,1, 0,9,0, 0,15,0, 1,8,1, 2,8,1, 3,12,1, 4,5,1, 4,11,0, 4,11,1, 4,17,0, 5,0,1, 5,4,0, 5,10,0, 5,10,1, 5,16,0, 5,16,1, 6,9,0, 6,15,0, 7,8,1, 8,0,0, 8,1,0, 8,2,0, 8,7,0, 8,13,0, 8,18,0, 8,19,0, 8,20,0, 9,0,1, 9,6,1, 9,12,1, 10,5,0, 10,5,1, 10,11,0, 10,11,1, 11,4,0, 11,4,1, 11,10,0, 11,10,1, 11,16,0, 11,16,1, 12,3,0, 12,9,0, 13,8,1, 15,0,1, 15,6,1, 15,16,1, 16,5,0, 16,5,1, 16,11,0, 16,11,1, 16,15,0, 17,4,1, 18,8,1, 19,8,1, 20,8,1, // Length and number of words of that length 4, 20, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 0,16,0, 3,7,0, 3,13,0, 4,0,1, 4,17,1, 7,3,1, 7,14,1, 10,0,1, 10,17,1, 13,3,1, 13,14,1, 14,7,0, 14,13,0, 16,0,1, 16,17,1, 17,4,0, 17,10,0, 17,16,0, + 0,4,0, 0,10,0, 0,16,0, 3,7,0, 3,13,0, 4,0,1, 4,17,1, 7,3,1, 7,14,1, 10,0,1, 10,17,1, 13,3,1, 13,14,1, 14,7,0, 14,13,0, 16,0,1, 16,17,1, 17,4,0, 17,10,0, 17,16,0, // Length and number of words of that length 3, 20, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,11,0, 0,17,0, 3,0,1, 3,18,1, 5,6,1, 6,5,0, 6,9,1, 9,6,0, 9,14,0, 9,18,1, 11,0,1, 12,15,0, 14,9,1, 15,12,1, 17,0,1, 17,18,1, 18,3,0, 18,9,0, 18,17,0, + 0,3,0, 0,11,0, 0,17,0, 3,0,1, 3,18,1, 5,6,1, 6,5,0, 6,9,1, 9,6,0, 9,14,0, 9,18,1, 11,0,1, 12,15,0, 14,9,1, 15,12,1, 17,0,1, 17,18,1, 18,3,0, 18,9,0, 18,17,0, // End marker 0 }; @@ -2067,27 +2068,27 @@ namespace { // Number of black fields 73, // Black field coordinates - 0,6, 0,14, 1,6, 1,14, 2,6, 2,14, 3,3, 3,9, 3,17, 4,4, 4,10, 4,16, 5,5, 5,11, 5,15, 6,0, 6,1, 6,2, 6,6, 6,7, 6,8, 6,12, 6,13, 6,14, 6,18, 6,19, 6,20, 7,6, 7,14, 8,6, 8,14, 9,5, 9,10, 9,17, 10,4, 10,9, 10,10, 10,11, 10,16, 11,3, 11,10, 11,15, 12,6, 12,14, 13,6, 13,14, 14,0, 14,1, 14,2, 14,6, 14,7, 14,8, 14,12, 14,13, 14,14, 14,18, 14,19, 14,20, 15,5, 15,9, 15,15, 16,4, 16,10, 16,16, 17,3, 17,11, 17,17, 18,6, 18,14, 19,6, 19,14, 20,6, 20,14, + 0,6, 0,14, 1,6, 1,14, 2,6, 2,14, 3,3, 3,9, 3,17, 4,4, 4,10, 4,16, 5,5, 5,11, 5,15, 6,0, 6,1, 6,2, 6,6, 6,7, 6,8, 6,12, 6,13, 6,14, 6,18, 6,19, 6,20, 7,6, 7,14, 8,6, 8,14, 9,5, 9,10, 9,17, 10,4, 10,9, 10,10, 10,11, 10,16, 11,3, 11,10, 11,15, 12,6, 12,14, 13,6, 13,14, 14,0, 14,1, 14,2, 14,6, 14,7, 14,8, 14,12, 14,13, 14,14, 14,18, 14,19, 14,20, 15,5, 15,9, 15,15, 16,4, 16,10, 16,16, 17,3, 17,11, 17,17, 18,6, 18,14, 19,6, 19,14, 20,6, 20,14, // Length and number of words of that length 7, 24, // Coordinates where words start and direction (0 = horizontal) - 0,7,1, 1,7,1, 2,7,1, 3,10,1, 4,3,0, 7,0,0, 7,1,0, 7,2,0, 7,7,0, 7,7,1, 7,8,0, 7,12,0, 7,13,0, 7,18,0, 7,19,0, 7,20,0, 8,7,1, 10,17,0, 12,7,1, 13,7,1, 17,4,1, 18,7,1, 19,7,1, 20,7,1, + 0,7,1, 1,7,1, 2,7,1, 3,10,1, 4,3,0, 7,0,0, 7,1,0, 7,2,0, 7,7,0, 7,7,1, 7,8,0, 7,12,0, 7,13,0, 7,18,0, 7,19,0, 7,20,0, 8,7,1, 10,17,0, 12,7,1, 13,7,1, 17,4,1, 18,7,1, 19,7,1, 20,7,1, // Length and number of words of that length 6, 44, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,8,0, 0,12,0, 0,13,0, 0,15,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,15,1, 2,0,1, 2,15,1, 4,9,0, 7,0,1, 7,15,1, 8,0,1, 8,15,1, 9,11,1, 11,4,1, 11,11,0, 12,0,1, 12,15,1, 13,0,1, 13,15,1, 15,0,0, 15,1,0, 15,2,0, 15,7,0, 15,8,0, 15,12,0, 15,13,0, 15,18,0, 15,19,0, 15,20,0, 18,0,1, 18,15,1, 19,0,1, 19,15,1, 20,0,1, 20,15,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,8,0, 0,12,0, 0,13,0, 0,15,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,15,1, 2,0,1, 2,15,1, 4,9,0, 7,0,1, 7,15,1, 8,0,1, 8,15,1, 9,11,1, 11,4,1, 11,11,0, 12,0,1, 12,15,1, 13,0,1, 13,15,1, 15,0,0, 15,1,0, 15,2,0, 15,7,0, 15,8,0, 15,12,0, 15,13,0, 15,18,0, 15,19,0, 15,20,0, 18,0,1, 18,15,1, 19,0,1, 19,15,1, 20,0,1, 20,15,1, // Length and number of words of that length 5, 28, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 0,15,0, 3,4,1, 4,5,1, 4,11,1, 4,17,0, 5,0,1, 5,4,0, 5,6,1, 5,16,0, 5,16,1, 6,15,0, 9,0,1, 10,5,0, 11,4,0, 11,16,0, 11,16,1, 12,3,0, 15,0,1, 15,10,1, 15,16,1, 16,5,0, 16,5,1, 16,9,0, 16,11,1, 16,15,0, 17,12,1, + 0,5,0, 0,11,0, 0,15,0, 3,4,1, 4,5,1, 4,11,1, 4,17,0, 5,0,1, 5,4,0, 5,6,1, 5,16,0, 5,16,1, 6,15,0, 9,0,1, 10,5,0, 11,4,0, 11,16,0, 11,16,1, 12,3,0, 15,0,1, 15,10,1, 15,16,1, 16,5,0, 16,5,1, 16,9,0, 16,11,1, 16,15,0, 17,12,1, // Length and number of words of that length 4, 20, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 0,16,0, 4,0,1, 4,17,1, 5,10,0, 6,11,0, 9,6,1, 10,0,1, 10,5,1, 10,12,1, 10,17,1, 11,9,0, 11,11,1, 12,10,0, 16,0,1, 16,17,1, 17,4,0, 17,10,0, 17,16,0, + 0,4,0, 0,10,0, 0,16,0, 4,0,1, 4,17,1, 5,10,0, 6,11,0, 9,6,1, 10,0,1, 10,5,1, 10,12,1, 10,17,1, 11,9,0, 11,11,1, 12,10,0, 16,0,1, 16,17,1, 17,4,0, 17,10,0, 17,16,0, // Length and number of words of that length 3, 28, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 0,17,0, 3,0,1, 3,6,0, 3,14,0, 3,18,1, 5,12,1, 6,3,1, 6,5,0, 6,9,1, 6,15,1, 9,6,0, 9,14,0, 9,18,1, 11,0,1, 12,15,0, 14,3,1, 14,9,1, 14,15,1, 15,6,0, 15,6,1, 15,14,0, 17,0,1, 17,18,1, 18,3,0, 18,11,0, 18,17,0, + 0,3,0, 0,9,0, 0,17,0, 3,0,1, 3,6,0, 3,14,0, 3,18,1, 5,12,1, 6,3,1, 6,5,0, 6,9,1, 6,15,1, 9,6,0, 9,14,0, 9,18,1, 11,0,1, 12,15,0, 14,3,1, 14,9,1, 14,15,1, 15,6,0, 15,6,1, 15,14,0, 17,0,1, 17,18,1, 18,3,0, 18,11,0, 18,17,0, // End marker 0 }; @@ -2123,35 +2124,35 @@ namespace { // Number of black fields 68, // Black field coordinates - 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,16, 3,8, 3,12, 4,0, 4,1, 4,2, 4,7, 4,13, 4,18, 4,19, 4,20, 5,6, 5,14, 6,5, 6,11, 6,15, 7,4, 7,10, 7,16, 8,3, 8,9, 8,17, 9,6, 9,12, 10,0, 10,1, 10,7, 10,13, 10,19, 10,20, 11,8, 11,14, 12,3, 12,11, 12,17, 13,4, 13,10, 13,16, 14,5, 14,9, 14,15, 15,6, 15,14, 16,0, 16,1, 16,2, 16,7, 16,13, 16,18, 16,19, 16,20, 17,8, 17,12, 18,4, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, + 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,16, 3,8, 3,12, 4,0, 4,1, 4,2, 4,7, 4,13, 4,18, 4,19, 4,20, 5,6, 5,14, 6,5, 6,11, 6,15, 7,4, 7,10, 7,16, 8,3, 8,9, 8,17, 9,6, 9,12, 10,0, 10,1, 10,7, 10,13, 10,19, 10,20, 11,8, 11,14, 12,3, 12,11, 12,17, 13,4, 13,10, 13,16, 14,5, 14,9, 14,15, 15,6, 15,14, 16,0, 16,1, 16,2, 16,7, 16,13, 16,18, 16,19, 16,20, 17,8, 17,12, 18,4, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, // Length and number of words of that length 11, 4, // Coordinates where words start and direction (0 = horizontal) - 2,5,1, 5,2,0, 5,18,0, 18,5,1, + 2,5,1, 5,2,0, 5,18,0, 18,5,1, // Length and number of words of that length 8, 12, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 0,17,0, 3,0,1, 3,13,1, 9,13,1, 11,0,1, 13,3,0, 13,11,0, 13,17,0, 17,0,1, 17,13,1, + 0,3,0, 0,9,0, 0,17,0, 3,0,1, 3,13,1, 9,13,1, 11,0,1, 13,3,0, 13,11,0, 13,17,0, 17,0,1, 17,13,1, // Length and number of words of that length 7, 8, // Coordinates where words start and direction (0 = horizontal) - 4,8,0, 5,7,1, 7,5,0, 7,15,0, 8,10,1, 10,12,0, 12,4,1, 15,7,1, + 4,8,0, 5,7,1, 7,5,0, 7,15,0, 8,10,1, 10,12,0, 12,4,1, 15,7,1, // Length and number of words of that length 6, 12, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 0,15,0, 5,0,1, 5,15,1, 9,0,1, 11,15,1, 15,0,1, 15,5,0, 15,9,0, 15,15,0, 15,15,1, + 0,5,0, 0,11,0, 0,15,0, 5,0,1, 5,15,1, 9,0,1, 11,15,1, 15,0,1, 15,5,0, 15,9,0, 15,15,0, 15,15,1, // Length and number of words of that length 5, 54, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,6,0, 0,11,1, 0,14,0, 1,5,1, 1,11,1, 2,10,0, 4,8,1, 4,12,0, 5,0,0, 5,1,0, 5,7,0, 5,13,0, 5,19,0, 5,20,0, 6,0,1, 6,6,1, 6,14,0, 6,16,1, 7,5,1, 7,11,0, 7,11,1, 8,4,0, 8,4,1, 8,10,0, 8,16,0, 9,7,1, 9,9,0, 10,2,1, 10,6,0, 10,8,1, 10,14,1, 11,0,0, 11,1,0, 11,7,0, 11,9,1, 11,13,0, 11,19,0, 11,20,0, 12,8,0, 12,12,1, 13,5,1, 13,11,1, 14,0,1, 14,10,0, 14,10,1, 14,16,1, 16,6,0, 16,8,1, 16,14,0, 19,5,1, 19,11,1, 20,5,1, 20,11,1, + 0,5,1, 0,6,0, 0,11,1, 0,14,0, 1,5,1, 1,11,1, 2,10,0, 4,8,1, 4,12,0, 5,0,0, 5,1,0, 5,7,0, 5,13,0, 5,19,0, 5,20,0, 6,0,1, 6,6,1, 6,14,0, 6,16,1, 7,5,1, 7,11,0, 7,11,1, 8,4,0, 8,4,1, 8,10,0, 8,16,0, 9,7,1, 9,9,0, 10,2,1, 10,6,0, 10,8,1, 10,14,1, 11,0,0, 11,1,0, 11,7,0, 11,9,1, 11,13,0, 11,19,0, 11,20,0, 12,8,0, 12,12,1, 13,5,1, 13,11,1, 14,0,1, 14,10,0, 14,10,1, 14,16,1, 16,6,0, 16,8,1, 16,14,0, 19,5,1, 19,11,1, 20,5,1, 20,11,1, // Length and number of words of that length 4, 40, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,13,0, 0,17,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,4,0, 3,16,0, 4,3,1, 4,14,1, 7,0,1, 7,17,1, 13,0,1, 13,17,1, 14,4,0, 14,16,0, 16,3,1, 16,14,1, 17,0,0, 17,1,0, 17,2,0, 17,7,0, 17,13,0, 17,18,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,13,0, 0,17,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,4,0, 3,16,0, 4,3,1, 4,14,1, 7,0,1, 7,17,1, 13,0,1, 13,17,1, 14,4,0, 14,16,0, 16,3,1, 16,14,1, 17,0,0, 17,1,0, 17,2,0, 17,7,0, 17,13,0, 17,18,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,12,0, 3,9,1, 6,6,0, 6,12,1, 8,0,1, 8,18,1, 9,3,0, 9,17,0, 12,0,1, 12,14,0, 12,18,1, 14,6,1, 17,9,1, 18,8,0, 18,12,0, + 0,8,0, 0,12,0, 3,9,1, 6,6,0, 6,12,1, 8,0,1, 8,18,1, 9,3,0, 9,17,0, 12,0,1, 12,14,0, 12,18,1, 14,6,1, 17,9,1, 18,8,0, 18,12,0, // End marker 0 }; @@ -2187,31 +2188,31 @@ namespace { // Number of black fields 73, // Black field coordinates - 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,10, 3,5, 3,9, 3,15, 4,0, 4,1, 4,6, 4,14, 4,19, 4,20, 5,3, 5,11, 5,17, 6,4, 6,8, 6,12, 6,16, 7,7, 7,13, 8,6, 8,10, 8,14, 9,3, 9,10, 9,15, 10,0, 10,1, 10,2, 10,8, 10,9, 10,10, 10,11, 10,12, 10,18, 10,19, 10,20, 11,5, 11,10, 11,17, 12,6, 12,10, 12,14, 13,7, 13,13, 14,4, 14,8, 14,12, 14,16, 15,3, 15,9, 15,17, 16,0, 16,1, 16,6, 16,14, 16,19, 16,20, 17,5, 17,11, 17,15, 18,10, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, + 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,10, 3,5, 3,9, 3,15, 4,0, 4,1, 4,6, 4,14, 4,19, 4,20, 5,3, 5,11, 5,17, 6,4, 6,8, 6,12, 6,16, 7,7, 7,13, 8,6, 8,10, 8,14, 9,3, 9,10, 9,15, 10,0, 10,1, 10,2, 10,8, 10,9, 10,10, 10,11, 10,12, 10,18, 10,19, 10,20, 11,5, 11,10, 11,17, 12,6, 12,10, 12,14, 13,7, 13,13, 14,4, 14,8, 14,12, 14,16, 15,3, 15,9, 15,17, 16,0, 16,1, 16,6, 16,14, 16,19, 16,20, 17,5, 17,11, 17,15, 18,10, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, // Length and number of words of that length 10, 8, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,18,0, 2,0,1, 2,11,1, 11,2,0, 11,18,0, 18,0,1, 18,11,1, + 0,2,0, 0,18,0, 2,0,1, 2,11,1, 11,2,0, 11,18,0, 18,0,1, 18,11,1, // Length and number of words of that length 7, 16, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,13,0, 4,5,0, 4,7,1, 5,4,1, 7,0,1, 7,4,0, 7,14,1, 7,16,0, 10,15,0, 13,0,1, 13,14,1, 14,7,0, 14,13,0, 15,10,1, 16,7,1, + 0,7,0, 0,13,0, 4,5,0, 4,7,1, 5,4,1, 7,0,1, 7,4,0, 7,14,1, 7,16,0, 10,15,0, 13,0,1, 13,14,1, 14,7,0, 14,13,0, 15,10,1, 16,7,1, // Length and number of words of that length 6, 12, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,12,0, 4,9,0, 8,0,1, 8,15,1, 9,4,1, 11,11,0, 11,11,1, 12,0,1, 12,15,1, 15,8,0, 15,12,0, + 0,8,0, 0,12,0, 4,9,0, 8,0,1, 8,15,1, 9,4,1, 11,11,0, 11,11,1, 12,0,1, 12,15,1, 15,8,0, 15,12,0, // Length and number of words of that length 5, 44, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,5,1, 0,11,0, 0,11,1, 0,17,0, 1,5,1, 1,11,1, 3,0,1, 3,10,0, 3,10,1, 3,16,1, 4,15,0, 5,0,0, 5,1,0, 5,12,1, 5,19,0, 5,20,0, 6,17,0, 7,8,1, 8,7,0, 8,13,0, 9,16,1, 10,3,0, 10,3,1, 10,13,1, 11,0,0, 11,0,1, 11,1,0, 11,19,0, 11,20,0, 12,5,0, 13,8,1, 13,10,0, 15,4,1, 16,3,0, 16,9,0, 16,17,0, 17,0,1, 17,6,1, 17,16,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, + 0,3,0, 0,5,1, 0,11,0, 0,11,1, 0,17,0, 1,5,1, 1,11,1, 3,0,1, 3,10,0, 3,10,1, 3,16,1, 4,15,0, 5,0,0, 5,1,0, 5,12,1, 5,19,0, 5,20,0, 6,17,0, 7,8,1, 8,7,0, 8,13,0, 9,16,1, 10,3,0, 10,3,1, 10,13,1, 11,0,0, 11,0,1, 11,1,0, 11,19,0, 11,20,0, 12,5,0, 13,8,1, 13,10,0, 15,4,1, 16,3,0, 16,9,0, 16,17,0, 17,0,1, 17,6,1, 17,16,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, // Length and number of words of that length 4, 36, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,6,0, 0,14,0, 0,17,1, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,4,0, 2,16,0, 4,2,1, 4,15,1, 6,0,1, 6,11,0, 6,17,1, 9,11,1, 11,6,1, 11,9,0, 14,0,1, 14,17,1, 15,4,0, 15,16,0, 16,2,1, 16,15,1, 17,0,0, 17,1,0, 17,6,0, 17,14,0, 17,19,0, 17,20,0, 19,0,1, 19,17,1, 20,0,1, 20,17,1, + 0,0,0, 0,0,1, 0,1,0, 0,6,0, 0,14,0, 0,17,1, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,4,0, 2,16,0, 4,2,1, 4,15,1, 6,0,1, 6,11,0, 6,17,1, 9,11,1, 11,6,1, 11,9,0, 14,0,1, 14,17,1, 15,4,0, 15,16,0, 16,2,1, 16,15,1, 17,0,0, 17,1,0, 17,6,0, 17,14,0, 17,19,0, 17,20,0, 19,0,1, 19,17,1, 20,0,1, 20,17,1, // Length and number of words of that length 3, 36, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,9,0, 0,15,0, 3,6,1, 5,0,1, 5,6,0, 5,14,0, 5,18,1, 6,3,0, 6,5,1, 6,9,1, 6,13,1, 7,8,0, 7,12,0, 8,7,1, 8,11,1, 9,0,1, 9,6,0, 9,14,0, 11,8,0, 11,12,0, 11,18,1, 12,7,1, 12,11,1, 12,17,0, 13,6,0, 13,14,0, 14,5,1, 14,9,1, 14,13,1, 15,0,1, 15,18,1, 17,12,1, 18,5,0, 18,11,0, 18,15,0, + 0,5,0, 0,9,0, 0,15,0, 3,6,1, 5,0,1, 5,6,0, 5,14,0, 5,18,1, 6,3,0, 6,5,1, 6,9,1, 6,13,1, 7,8,0, 7,12,0, 8,7,1, 8,11,1, 9,0,1, 9,6,0, 9,14,0, 11,8,0, 11,12,0, 11,18,1, 12,7,1, 12,11,1, 12,17,0, 13,6,0, 13,14,0, 14,5,1, 14,9,1, 14,13,1, 15,0,1, 15,18,1, 17,12,1, 18,5,0, 18,11,0, 18,15,0, // End marker 0 }; @@ -2247,31 +2248,31 @@ namespace { // Number of black fields 76, // Black field coordinates - 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,10, 2,16, 3,8, 3,14, 4,0, 4,1, 4,2, 4,7, 4,13, 4,18, 4,19, 4,20, 5,6, 5,12, 6,5, 6,6, 6,11, 6,17, 7,4, 7,10, 7,16, 8,3, 8,10, 8,15, 9,8, 9,9, 9,14, 10,0, 10,1, 10,2, 10,7, 10,13, 10,18, 10,19, 10,20, 11,6, 11,11, 11,12, 12,5, 12,10, 12,17, 13,4, 13,10, 13,16, 14,3, 14,9, 14,14, 14,15, 15,8, 15,14, 16,0, 16,1, 16,2, 16,7, 16,13, 16,18, 16,19, 16,20, 17,6, 17,12, 18,4, 18,10, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, + 0,4, 0,10, 0,16, 1,4, 1,10, 1,16, 2,4, 2,10, 2,16, 3,8, 3,14, 4,0, 4,1, 4,2, 4,7, 4,13, 4,18, 4,19, 4,20, 5,6, 5,12, 6,5, 6,6, 6,11, 6,17, 7,4, 7,10, 7,16, 8,3, 8,10, 8,15, 9,8, 9,9, 9,14, 10,0, 10,1, 10,2, 10,7, 10,13, 10,18, 10,19, 10,20, 11,6, 11,11, 11,12, 12,5, 12,10, 12,17, 13,4, 13,10, 13,16, 14,3, 14,9, 14,14, 14,15, 15,8, 15,14, 16,0, 16,1, 16,2, 16,7, 16,13, 16,18, 16,19, 16,20, 17,6, 17,12, 18,4, 18,10, 18,16, 19,4, 19,10, 19,16, 20,4, 20,10, 20,16, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 12,11,0, + 0,9,0, 12,11,0, // Length and number of words of that length 8, 10, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,15,0, 3,0,1, 5,13,1, 9,0,1, 11,13,1, 13,5,0, 13,17,0, 15,0,1, 17,13,1, + 0,3,0, 0,15,0, 3,0,1, 5,13,1, 9,0,1, 11,13,1, 13,5,0, 13,17,0, 15,0,1, 17,13,1, // Length and number of words of that length 6, 14, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 0,17,0, 3,15,1, 5,0,1, 8,4,1, 9,15,1, 11,0,1, 12,11,1, 15,3,0, 15,9,0, 15,15,0, 15,15,1, 17,0,1, + 0,5,0, 0,11,0, 0,17,0, 3,15,1, 5,0,1, 8,4,1, 9,15,1, 11,0,1, 12,11,1, 15,3,0, 15,9,0, 15,15,0, 15,15,1, 17,0,1, // Length and number of words of that length 5, 61, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,6,0, 0,11,1, 0,12,0, 1,5,1, 1,11,1, 2,5,1, 2,11,1, 3,9,1, 4,8,0, 4,8,1, 4,14,0, 5,0,0, 5,1,0, 5,2,0, 5,7,0, 5,7,1, 5,13,0, 5,18,0, 5,19,0, 5,20,0, 6,0,1, 6,12,0, 6,12,1, 7,5,0, 7,5,1, 7,11,1, 7,17,0, 8,4,0, 8,16,0, 8,16,1, 9,3,0, 9,15,0, 10,8,0, 10,8,1, 11,0,0, 11,1,0, 11,2,0, 11,7,0, 11,13,0, 11,18,0, 11,19,0, 11,20,0, 12,0,1, 12,6,0, 12,12,0, 13,5,1, 13,11,1, 14,4,1, 14,16,1, 15,9,1, 16,8,0, 16,8,1, 16,14,0, 17,7,1, 18,5,1, 18,11,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, + 0,5,1, 0,6,0, 0,11,1, 0,12,0, 1,5,1, 1,11,1, 2,5,1, 2,11,1, 3,9,1, 4,8,0, 4,8,1, 4,14,0, 5,0,0, 5,1,0, 5,2,0, 5,7,0, 5,7,1, 5,13,0, 5,18,0, 5,19,0, 5,20,0, 6,0,1, 6,12,0, 6,12,1, 7,5,0, 7,5,1, 7,11,1, 7,17,0, 8,4,0, 8,16,0, 8,16,1, 9,3,0, 9,15,0, 10,8,0, 10,8,1, 11,0,0, 11,1,0, 11,2,0, 11,7,0, 11,13,0, 11,18,0, 11,19,0, 11,20,0, 12,0,1, 12,6,0, 12,12,0, 13,5,1, 13,11,1, 14,4,1, 14,16,1, 15,9,1, 16,8,0, 16,8,1, 16,14,0, 17,7,1, 18,5,1, 18,11,1, 19,5,1, 19,11,1, 20,5,1, 20,11,1, // Length and number of words of that length 4, 54, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,13,0, 0,17,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,4,0, 3,10,0, 3,16,0, 4,3,1, 4,14,1, 6,7,1, 7,0,1, 7,6,0, 7,11,0, 7,17,1, 8,11,1, 9,10,1, 10,3,1, 10,9,0, 10,14,0, 10,14,1, 11,7,1, 12,6,1, 13,0,1, 13,17,1, 14,4,0, 14,10,0, 14,10,1, 14,16,0, 16,3,1, 16,14,1, 17,0,0, 17,1,0, 17,2,0, 17,7,0, 17,13,0, 17,18,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,7,0, 0,13,0, 0,17,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,17,1, 2,0,1, 2,17,1, 3,4,0, 3,10,0, 3,16,0, 4,3,1, 4,14,1, 6,7,1, 7,0,1, 7,6,0, 7,11,0, 7,17,1, 8,11,1, 9,10,1, 10,3,1, 10,9,0, 10,14,0, 10,14,1, 11,7,1, 12,6,1, 13,0,1, 13,17,1, 14,4,0, 14,10,0, 14,10,1, 14,16,0, 16,3,1, 16,14,1, 17,0,0, 17,1,0, 17,2,0, 17,7,0, 17,13,0, 17,18,0, 17,19,0, 17,20,0, 18,0,1, 18,17,1, 19,0,1, 19,17,1, 20,0,1, 20,17,1, // Length and number of words of that length 3, 9, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 6,18,1, 8,0,1, 9,10,0, 12,18,1, 14,0,1, 18,6,0, 18,12,0, + 0,8,0, 0,14,0, 6,18,1, 8,0,1, 9,10,0, 12,18,1, 14,0,1, 18,6,0, 18,12,0, // End marker 0 }; @@ -2307,31 +2308,31 @@ namespace { // Number of black fields 75, // Black field coordinates - 0,0, 0,1, 0,7, 0,13, 0,19, 0,20, 1,0, 1,7, 1,13, 1,20, 2,7, 2,13, 3,3, 3,11, 3,17, 4,4, 4,10, 4,16, 5,5, 5,9, 5,15, 6,8, 6,14, 7,0, 7,1, 7,2, 7,7, 7,13, 7,18, 7,19, 7,20, 8,6, 8,12, 9,5, 9,11, 9,17, 10,4, 10,10, 10,16, 11,3, 11,9, 11,15, 12,8, 12,14, 13,0, 13,1, 13,2, 13,7, 13,13, 13,18, 13,19, 13,20, 14,6, 14,12, 15,5, 15,11, 15,15, 16,4, 16,10, 16,16, 17,3, 17,9, 17,17, 18,7, 18,13, 19,0, 19,7, 19,13, 19,20, 20,0, 20,1, 20,7, 20,13, 20,19, 20,20, + 0,0, 0,1, 0,7, 0,13, 0,19, 0,20, 1,0, 1,7, 1,13, 1,20, 2,7, 2,13, 3,3, 3,11, 3,17, 4,4, 4,10, 4,16, 5,5, 5,9, 5,15, 6,8, 6,14, 7,0, 7,1, 7,2, 7,7, 7,13, 7,18, 7,19, 7,20, 8,6, 8,12, 9,5, 9,11, 9,17, 10,4, 10,10, 10,16, 11,3, 11,9, 11,15, 12,8, 12,14, 13,0, 13,1, 13,2, 13,7, 13,13, 13,18, 13,19, 13,20, 14,6, 14,12, 15,5, 15,11, 15,15, 16,4, 16,10, 16,16, 17,3, 17,9, 17,17, 18,7, 18,13, 19,0, 19,7, 19,13, 19,20, 20,0, 20,1, 20,7, 20,13, 20,19, 20,20, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,12,0, 6,0,1, 8,13,1, 12,0,1, 13,8,0, 13,14,0, 14,13,1, + 0,6,0, 0,12,0, 6,0,1, 8,13,1, 12,0,1, 13,8,0, 13,14,0, 14,13,1, // Length and number of words of that length 7, 12, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,18,0, 2,0,1, 2,14,1, 3,4,1, 4,3,0, 10,17,0, 14,2,0, 14,18,0, 17,10,1, 18,0,1, 18,14,1, + 0,2,0, 0,18,0, 2,0,1, 2,14,1, 3,4,1, 4,3,0, 10,17,0, 14,2,0, 14,18,0, 17,10,1, 18,0,1, 18,14,1, // Length and number of words of that length 6, 16, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 1,1,0, 1,1,1, 1,14,1, 1,19,0, 6,15,1, 8,0,1, 12,15,1, 14,0,1, 14,1,0, 14,19,0, 15,6,0, 15,12,0, 19,1,1, 19,14,1, + 0,8,0, 0,14,0, 1,1,0, 1,1,1, 1,14,1, 1,19,0, 6,15,1, 8,0,1, 12,15,1, 14,0,1, 14,1,0, 14,19,0, 15,6,0, 15,12,0, 19,1,1, 19,14,1, // Length and number of words of that length 5, 72, // Coordinates where words start and direction (0 = horizontal) - 0,2,1, 0,5,0, 0,8,1, 0,9,0, 0,14,1, 0,15,0, 1,8,1, 2,0,0, 2,8,1, 2,20,0, 3,12,1, 4,5,1, 4,11,0, 4,11,1, 4,17,0, 5,0,1, 5,4,0, 5,10,0, 5,10,1, 5,16,0, 5,16,1, 6,9,0, 6,9,1, 6,15,0, 7,8,0, 7,8,1, 7,14,0, 8,0,0, 8,1,0, 8,2,0, 8,7,0, 8,7,1, 8,13,0, 8,18,0, 8,19,0, 8,20,0, 9,0,1, 9,6,0, 9,6,1, 9,12,0, 9,12,1, 10,5,0, 10,5,1, 10,11,0, 10,11,1, 11,4,0, 11,4,1, 11,10,0, 11,10,1, 11,16,0, 11,16,1, 12,3,0, 12,9,0, 12,9,1, 13,8,1, 14,0,0, 14,7,1, 14,20,0, 15,0,1, 15,6,1, 15,16,1, 16,5,0, 16,5,1, 16,11,0, 16,11,1, 16,15,0, 17,4,1, 18,8,1, 19,8,1, 20,2,1, 20,8,1, 20,14,1, + 0,2,1, 0,5,0, 0,8,1, 0,9,0, 0,14,1, 0,15,0, 1,8,1, 2,0,0, 2,8,1, 2,20,0, 3,12,1, 4,5,1, 4,11,0, 4,11,1, 4,17,0, 5,0,1, 5,4,0, 5,10,0, 5,10,1, 5,16,0, 5,16,1, 6,9,0, 6,9,1, 6,15,0, 7,8,0, 7,8,1, 7,14,0, 8,0,0, 8,1,0, 8,2,0, 8,7,0, 8,7,1, 8,13,0, 8,18,0, 8,19,0, 8,20,0, 9,0,1, 9,6,0, 9,6,1, 9,12,0, 9,12,1, 10,5,0, 10,5,1, 10,11,0, 10,11,1, 11,4,0, 11,4,1, 11,10,0, 11,10,1, 11,16,0, 11,16,1, 12,3,0, 12,9,0, 12,9,1, 13,8,1, 14,0,0, 14,7,1, 14,20,0, 15,0,1, 15,6,1, 15,16,1, 16,5,0, 16,5,1, 16,11,0, 16,11,1, 16,15,0, 17,4,1, 18,8,1, 19,8,1, 20,2,1, 20,8,1, 20,14,1, // Length and number of words of that length 4, 20, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 0,16,0, 3,7,0, 3,13,0, 4,0,1, 4,17,1, 7,3,1, 7,14,1, 10,0,1, 10,17,1, 13,3,1, 13,14,1, 14,7,0, 14,13,0, 16,0,1, 16,17,1, 17,4,0, 17,10,0, 17,16,0, + 0,4,0, 0,10,0, 0,16,0, 3,7,0, 3,13,0, 4,0,1, 4,17,1, 7,3,1, 7,14,1, 10,0,1, 10,17,1, 13,3,1, 13,14,1, 14,7,0, 14,13,0, 16,0,1, 16,17,1, 17,4,0, 17,10,0, 17,16,0, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,11,0, 0,17,0, 3,0,1, 3,18,1, 5,6,1, 6,5,0, 9,18,1, 11,0,1, 12,15,0, 15,12,1, 17,0,1, 17,18,1, 18,3,0, 18,9,0, 18,17,0, + 0,3,0, 0,11,0, 0,17,0, 3,0,1, 3,18,1, 5,6,1, 6,5,0, 9,18,1, 11,0,1, 12,15,0, 15,12,1, 17,0,1, 17,18,1, 18,3,0, 18,9,0, 18,17,0, // End marker 0 }; @@ -2367,35 +2368,35 @@ namespace { // Number of black fields 58, // Black field coordinates - 0,7, 0,13, 1,7, 1,13, 2,7, 2,13, 3,3, 3,17, 4,4, 4,12, 4,16, 5,5, 5,11, 5,15, 6,6, 6,10, 6,14, 7,0, 7,1, 7,2, 7,9, 7,18, 7,19, 7,20, 8,8, 8,16, 9,7, 9,15, 10,6, 10,14, 11,5, 11,13, 12,4, 12,12, 13,0, 13,1, 13,2, 13,11, 13,18, 13,19, 13,20, 14,6, 14,10, 14,14, 15,5, 15,9, 15,15, 16,4, 16,8, 16,16, 17,3, 17,17, 18,7, 18,13, 19,7, 19,13, 20,7, 20,13, + 0,7, 0,13, 1,7, 1,13, 2,7, 2,13, 3,3, 3,17, 4,4, 4,12, 4,16, 5,5, 5,11, 5,15, 6,6, 6,10, 6,14, 7,0, 7,1, 7,2, 7,9, 7,18, 7,19, 7,20, 8,8, 8,16, 9,7, 9,15, 10,6, 10,14, 11,5, 11,13, 12,4, 12,12, 13,0, 13,1, 13,2, 13,11, 13,18, 13,19, 13,20, 14,6, 14,10, 14,14, 15,5, 15,9, 15,15, 16,4, 16,8, 16,16, 17,3, 17,17, 18,7, 18,13, 19,7, 19,13, 20,7, 20,13, // Length and number of words of that length 13, 4, // Coordinates where words start and direction (0 = horizontal) - 3,4,1, 4,3,0, 4,17,0, 17,4,1, + 3,4,1, 4,3,0, 4,17,0, 17,4,1, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 3,13,0, 7,10,1, 8,0,1, 10,7,0, 12,13,1, 13,3,1, 13,12,0, + 0,8,0, 3,13,0, 7,10,1, 8,0,1, 10,7,0, 12,13,1, 13,3,1, 13,12,0, // Length and number of words of that length 7, 42, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,9,0, 0,14,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,14,1, 2,0,1, 2,14,1, 4,5,1, 5,4,0, 5,12,0, 6,11,0, 7,10,0, 8,9,0, 8,9,1, 9,0,1, 9,8,0, 9,8,1, 9,16,0, 10,7,1, 11,6,1, 11,14,1, 12,5,1, 14,0,0, 14,1,0, 14,2,0, 14,11,0, 14,18,0, 14,19,0, 14,20,0, 16,9,1, 18,0,1, 18,14,1, 19,0,1, 19,14,1, 20,0,1, 20,14,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,9,0, 0,14,1, 0,18,0, 0,19,0, 0,20,0, 1,0,1, 1,14,1, 2,0,1, 2,14,1, 4,5,1, 5,4,0, 5,12,0, 6,11,0, 7,10,0, 8,9,0, 8,9,1, 9,0,1, 9,8,0, 9,8,1, 9,16,0, 10,7,1, 11,6,1, 11,14,1, 12,5,1, 14,0,0, 14,1,0, 14,2,0, 14,11,0, 14,18,0, 14,19,0, 14,20,0, 16,9,1, 18,0,1, 18,14,1, 19,0,1, 19,14,1, 20,0,1, 20,14,1, // Length and number of words of that length 6, 16, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,10,0, 0,14,0, 3,7,0, 6,0,1, 6,15,1, 7,3,1, 10,0,1, 10,15,1, 12,13,0, 13,12,1, 14,0,1, 14,15,1, 15,6,0, 15,10,0, 15,14,0, + 0,6,0, 0,10,0, 0,14,0, 3,7,0, 6,0,1, 6,15,1, 7,3,1, 10,0,1, 10,15,1, 12,13,0, 13,12,1, 14,0,1, 14,15,1, 15,6,0, 15,10,0, 15,14,0, // Length and number of words of that length 5, 28, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,8,1, 0,11,0, 0,15,0, 1,8,1, 2,8,1, 5,0,1, 5,6,1, 5,16,1, 6,5,0, 8,0,0, 8,1,0, 8,2,0, 8,18,0, 8,19,0, 8,20,0, 9,16,1, 10,15,0, 11,0,1, 15,0,1, 15,10,1, 15,16,1, 16,5,0, 16,9,0, 16,15,0, 18,8,1, 19,8,1, 20,8,1, + 0,5,0, 0,8,1, 0,11,0, 0,15,0, 1,8,1, 2,8,1, 5,0,1, 5,6,1, 5,16,1, 6,5,0, 8,0,0, 8,1,0, 8,2,0, 8,18,0, 8,19,0, 8,20,0, 9,16,1, 10,15,0, 11,0,1, 15,0,1, 15,10,1, 15,16,1, 16,5,0, 16,9,0, 16,15,0, 18,8,1, 19,8,1, 20,8,1, // Length and number of words of that length 4, 12, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,12,0, 0,16,0, 4,0,1, 4,17,1, 8,17,1, 12,0,1, 16,0,1, 16,17,1, 17,4,0, 17,8,0, 17,16,0, + 0,4,0, 0,12,0, 0,16,0, 4,0,1, 4,17,1, 8,17,1, 12,0,1, 16,0,1, 16,17,1, 17,4,0, 17,8,0, 17,16,0, // Length and number of words of that length 3, 24, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,17,0, 3,0,1, 3,18,1, 4,13,1, 5,12,1, 5,16,0, 6,7,1, 6,11,1, 6,15,0, 7,6,0, 7,14,0, 11,6,0, 11,14,0, 12,5,0, 13,4,0, 14,7,1, 14,11,1, 15,6,1, 16,5,1, 17,0,1, 17,18,1, 18,3,0, 18,17,0, + 0,3,0, 0,17,0, 3,0,1, 3,18,1, 4,13,1, 5,12,1, 5,16,0, 6,7,1, 6,11,1, 6,15,0, 7,6,0, 7,14,0, 11,6,0, 11,14,0, 12,5,0, 13,4,0, 14,7,1, 14,11,1, 15,6,1, 16,5,1, 17,0,1, 17,18,1, 18,3,0, 18,17,0, // End marker 0 }; @@ -2433,47 +2434,47 @@ namespace { // Number of black fields 89, // Black field coordinates - 0,5, 0,11, 0,17, 1,5, 1,11, 1,17, 2,5, 2,11, 2,17, 3,4, 3,5, 4,3, 4,8, 4,12, 4,16, 4,21, 4,22, 5,7, 5,15, 6,0, 6,1, 6,6, 6,10, 6,14, 6,18, 7,5, 7,9, 7,13, 7,17, 7,18, 8,3, 8,8, 8,12, 8,19, 9,3, 9,8, 9,21, 9,22, 10,6, 10,11, 10,16, 11,5, 11,6, 11,7, 11,11, 11,15, 11,16, 11,17, 12,6, 12,11, 12,16, 13,0, 13,1, 13,14, 13,19, 14,3, 14,10, 14,14, 14,19, 15,4, 15,5, 15,9, 15,13, 15,17, 16,4, 16,8, 16,12, 16,16, 16,21, 16,22, 17,7, 17,15, 18,0, 18,1, 18,6, 18,10, 18,14, 18,19, 19,17, 19,18, 20,5, 20,11, 20,17, 21,5, 21,11, 21,17, 22,5, 22,11, 22,17, + 0,5, 0,11, 0,17, 1,5, 1,11, 1,17, 2,5, 2,11, 2,17, 3,4, 3,5, 4,3, 4,8, 4,12, 4,16, 4,21, 4,22, 5,7, 5,15, 6,0, 6,1, 6,6, 6,10, 6,14, 6,18, 7,5, 7,9, 7,13, 7,17, 7,18, 8,3, 8,8, 8,12, 8,19, 9,3, 9,8, 9,21, 9,22, 10,6, 10,11, 10,16, 11,5, 11,6, 11,7, 11,11, 11,15, 11,16, 11,17, 12,6, 12,11, 12,16, 13,0, 13,1, 13,14, 13,19, 14,3, 14,10, 14,14, 14,19, 15,4, 15,5, 15,9, 15,13, 15,17, 16,4, 16,8, 16,12, 16,16, 16,21, 16,22, 17,7, 17,15, 18,0, 18,1, 18,6, 18,10, 18,14, 18,19, 19,17, 19,18, 20,5, 20,11, 20,17, 21,5, 21,11, 21,17, 22,5, 22,11, 22,17, // Length and number of words of that length 23, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,20,0, + 0,2,0, 0,20,0, // Length and number of words of that length 17, 2, // Coordinates where words start and direction (0 = horizontal) - 3,6,1, 19,0,1, + 3,6,1, 19,0,1, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 9,9,1, 13,2,1, + 9,9,1, 13,2,1, // Length and number of words of that length 11, 2, // Coordinates where words start and direction (0 = horizontal) - 4,4,0, 8,18,0, + 4,4,0, 8,18,0, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 0,19,0, 15,3,0, + 0,19,0, 15,3,0, // Length and number of words of that length 7, 16, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 0,13,0, 3,11,0, 5,0,1, 5,8,1, 5,16,1, 7,10,0, 8,9,0, 8,13,0, 9,12,0, 13,11,0, 16,9,0, 16,13,0, 17,0,1, 17,8,1, 17,16,1, + 0,9,0, 0,13,0, 3,11,0, 5,0,1, 5,8,1, 5,16,1, 7,10,0, 8,9,0, 8,13,0, 9,12,0, 13,11,0, 16,9,0, 16,13,0, 17,0,1, 17,8,1, 17,16,1, // Length and number of words of that length 6, 24, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,6,0, 0,10,0, 0,14,0, 0,18,0, 7,0,0, 7,1,0, 7,14,0, 8,13,1, 10,0,1, 10,8,0, 10,17,1, 10,21,0, 10,22,0, 12,0,1, 12,17,1, 14,4,1, 17,4,0, 17,8,0, 17,12,0, 17,16,0, 17,21,0, 17,22,0, + 0,0,0, 0,1,0, 0,6,0, 0,10,0, 0,14,0, 0,18,0, 7,0,0, 7,1,0, 7,14,0, 8,13,1, 10,0,1, 10,8,0, 10,17,1, 10,21,0, 10,22,0, 12,0,1, 12,17,1, 14,4,1, 17,4,0, 17,8,0, 17,12,0, 17,16,0, 17,21,0, 17,22,0, // Length and number of words of that length 5, 38, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,6,1, 0,7,0, 0,12,1, 0,15,0, 0,18,1, 1,0,1, 1,6,1, 1,12,1, 1,18,1, 2,0,1, 2,6,1, 2,12,1, 2,18,1, 5,16,0, 6,7,0, 6,15,0, 7,0,1, 11,0,1, 11,18,1, 12,7,0, 12,15,0, 13,6,0, 15,18,1, 18,7,0, 18,15,0, 20,0,1, 20,6,1, 20,12,1, 20,18,1, 21,0,1, 21,6,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, + 0,0,1, 0,6,1, 0,7,0, 0,12,1, 0,15,0, 0,18,1, 1,0,1, 1,6,1, 1,12,1, 1,18,1, 2,0,1, 2,6,1, 2,12,1, 2,18,1, 5,16,0, 6,7,0, 6,15,0, 7,0,1, 11,0,1, 11,18,1, 12,7,0, 12,15,0, 13,6,0, 15,18,1, 18,7,0, 18,15,0, 20,0,1, 20,6,1, 20,12,1, 20,18,1, 21,0,1, 21,6,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, // Length and number of words of that length 4, 40, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,8,0, 0,12,0, 0,16,0, 0,21,0, 0,22,0, 3,0,1, 3,17,0, 4,4,1, 4,17,1, 5,21,0, 5,22,0, 6,2,1, 6,19,1, 7,19,1, 8,4,1, 9,4,1, 9,19,0, 10,3,0, 10,7,1, 10,12,1, 12,7,1, 12,12,1, 13,15,1, 14,0,0, 14,1,0, 14,15,1, 15,0,1, 16,0,1, 16,5,0, 16,17,1, 18,2,1, 18,15,1, 19,0,0, 19,1,0, 19,6,0, 19,10,0, 19,14,0, 19,19,0, 19,19,1, + 0,3,0, 0,8,0, 0,12,0, 0,16,0, 0,21,0, 0,22,0, 3,0,1, 3,17,0, 4,4,1, 4,17,1, 5,21,0, 5,22,0, 6,2,1, 6,19,1, 7,19,1, 8,4,1, 9,4,1, 9,19,0, 10,3,0, 10,7,1, 10,12,1, 12,7,1, 12,12,1, 13,15,1, 14,0,0, 14,1,0, 14,15,1, 15,0,1, 16,0,1, 16,5,0, 16,17,1, 18,2,1, 18,15,1, 19,0,0, 19,1,0, 19,6,0, 19,10,0, 19,14,0, 19,19,0, 19,19,1, // Length and number of words of that length 3, 44, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 4,0,1, 4,5,0, 4,9,1, 4,13,1, 5,3,0, 5,8,0, 5,12,0, 6,7,1, 6,11,1, 6,15,1, 7,6,0, 7,6,1, 7,10,1, 7,14,1, 8,0,1, 8,5,0, 8,9,1, 8,17,0, 8,20,1, 9,0,1, 11,8,1, 11,12,1, 12,5,0, 12,17,0, 13,16,0, 13,20,1, 14,0,1, 14,11,1, 14,20,1, 15,6,1, 15,10,0, 15,10,1, 15,14,0, 15,14,1, 15,19,0, 16,5,1, 16,9,1, 16,13,1, 16,17,0, 18,7,1, 18,11,1, 18,20,1, 20,18,0, + 0,4,0, 4,0,1, 4,5,0, 4,9,1, 4,13,1, 5,3,0, 5,8,0, 5,12,0, 6,7,1, 6,11,1, 6,15,1, 7,6,0, 7,6,1, 7,10,1, 7,14,1, 8,0,1, 8,5,0, 8,9,1, 8,17,0, 8,20,1, 9,0,1, 11,8,1, 11,12,1, 12,5,0, 12,17,0, 13,16,0, 13,20,1, 14,0,1, 14,11,1, 14,20,1, 15,6,1, 15,10,0, 15,10,1, 15,14,0, 15,14,1, 15,19,0, 16,5,1, 16,9,1, 16,13,1, 16,17,0, 18,7,1, 18,11,1, 18,20,1, 20,18,0, // End marker 0 }; @@ -2511,47 +2512,47 @@ namespace { // Number of black fields 94, // Black field coordinates - 0,5, 0,10, 0,16, 0,22, 1,5, 1,10, 1,16, 2,5, 2,16, 3,3, 3,9, 3,14, 3,19, 4,3, 4,7, 4,8, 4,13, 4,18, 5,0, 5,1, 5,6, 5,12, 5,17, 6,5, 6,17, 6,21, 6,22, 7,4, 7,10, 7,11, 7,15, 7,16, 8,4, 8,9, 8,19, 9,8, 9,13, 9,14, 9,18, 10,0, 10,1, 10,2, 10,6, 10,7, 10,12, 10,17, 11,5, 11,17, 12,5, 12,10, 12,15, 12,16, 12,20, 12,21, 12,22, 13,4, 13,8, 13,9, 13,14, 14,3, 14,13, 14,18, 15,6, 15,7, 15,11, 15,12, 15,18, 16,0, 16,1, 16,5, 16,17, 17,5, 17,10, 17,16, 17,21, 17,22, 18,4, 18,9, 18,14, 18,15, 18,19, 19,3, 19,8, 19,13, 19,19, 20,6, 20,17, 21,6, 21,12, 21,17, 22,0, 22,6, 22,12, 22,17, + 0,5, 0,10, 0,16, 0,22, 1,5, 1,10, 1,16, 2,5, 2,16, 3,3, 3,9, 3,14, 3,19, 4,3, 4,7, 4,8, 4,13, 4,18, 5,0, 5,1, 5,6, 5,12, 5,17, 6,5, 6,17, 6,21, 6,22, 7,4, 7,10, 7,11, 7,15, 7,16, 8,4, 8,9, 8,19, 9,8, 9,13, 9,14, 9,18, 10,0, 10,1, 10,2, 10,6, 10,7, 10,12, 10,17, 11,5, 11,17, 12,5, 12,10, 12,15, 12,16, 12,20, 12,21, 12,22, 13,4, 13,8, 13,9, 13,14, 14,3, 14,13, 14,18, 15,6, 15,7, 15,11, 15,12, 15,18, 16,0, 16,1, 16,5, 16,17, 17,5, 17,10, 17,16, 17,21, 17,22, 18,4, 18,9, 18,14, 18,15, 18,19, 19,3, 19,8, 19,13, 19,19, 20,6, 20,17, 21,6, 21,12, 21,17, 22,0, 22,6, 22,12, 22,17, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 0,20,0, 11,2,0, + 0,20,0, 11,2,0, // Length and number of words of that length 11, 3, // Coordinates where words start and direction (0 = horizontal) - 6,6,1, 11,6,1, 16,6,1, + 6,6,1, 11,6,1, 16,6,1, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,6,1, 13,20,0, 20,7,1, + 0,2,0, 2,6,1, 13,20,0, 20,7,1, // Length and number of words of that length 9, 4, // Coordinates where words start and direction (0 = horizontal) - 5,3,0, 8,10,1, 9,19,0, 14,4,1, + 5,3,0, 8,10,1, 9,19,0, 14,4,1, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 9,0,1, 13,15,1, + 9,0,1, 13,15,1, // Length and number of words of that length 7, 7, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,11,0, 0,15,0, 8,11,0, 16,7,0, 16,11,0, 16,18,0, + 0,4,0, 0,11,0, 0,15,0, 8,11,0, 16,7,0, 16,11,0, 16,18,0, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,21,0, 1,17,1, 2,17,1, 7,17,1, 15,0,1, 17,1,0, 20,0,1, 21,0,1, + 0,21,0, 1,17,1, 2,17,1, 7,17,1, 15,0,1, 17,1,0, 20,0,1, 21,0,1, // Length and number of words of that length 5, 48, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,6,0, 0,11,1, 0,12,0, 0,17,0, 0,17,1, 1,0,1, 1,11,1, 1,22,0, 2,0,1, 2,10,0, 3,4,1, 4,14,0, 5,7,0, 5,7,1, 5,18,1, 6,0,1, 7,5,1, 7,21,0, 7,22,0, 10,18,1, 11,0,0, 11,0,1, 11,1,0, 11,18,1, 12,0,1, 13,15,0, 14,8,0, 15,13,1, 16,12,0, 16,18,1, 17,0,0, 17,0,1, 17,11,1, 18,5,0, 18,10,0, 18,16,0, 18,21,0, 18,22,0, 19,14,1, 20,18,1, 21,7,1, 21,18,1, 22,1,1, 22,7,1, 22,18,1, + 0,0,0, 0,0,1, 0,1,0, 0,6,0, 0,11,1, 0,12,0, 0,17,0, 0,17,1, 1,0,1, 1,11,1, 1,22,0, 2,0,1, 2,10,0, 3,4,1, 4,14,0, 5,7,0, 5,7,1, 5,18,1, 6,0,1, 7,5,1, 7,21,0, 7,22,0, 10,18,1, 11,0,0, 11,0,1, 11,1,0, 11,18,1, 12,0,1, 13,15,0, 14,8,0, 15,13,1, 16,12,0, 16,18,1, 17,0,0, 17,0,1, 17,11,1, 18,5,0, 18,10,0, 18,16,0, 18,21,0, 18,22,0, 19,14,1, 20,18,1, 21,7,1, 21,18,1, 22,1,1, 22,7,1, 22,18,1, // Length and number of words of that length 4, 72, // Coordinates where words start and direction (0 = horizontal) - 0,6,1, 0,7,0, 0,8,0, 0,13,0, 0,18,0, 1,6,1, 3,10,1, 3,15,1, 3,16,0, 4,9,0, 4,9,1, 4,14,1, 4,19,0, 4,19,1, 5,2,1, 5,8,0, 5,13,0, 5,13,1, 5,18,0, 6,0,0, 6,1,0, 6,6,0, 6,12,0, 7,0,1, 7,5,0, 8,0,1, 8,5,1, 8,10,0, 8,15,0, 8,16,0, 9,4,0, 9,9,0, 9,9,1, 9,19,1, 10,8,1, 10,13,0, 10,13,1, 10,18,0, 11,6,0, 11,7,0, 11,12,0, 12,6,1, 12,11,1, 12,17,0, 13,0,1, 13,10,0, 13,10,1, 13,16,0, 13,21,0, 13,22,0, 14,4,0, 14,9,0, 14,14,0, 14,14,1, 14,19,1, 15,3,0, 15,13,0, 15,19,1, 16,6,0, 17,6,1, 17,17,1, 18,0,1, 18,5,1, 18,10,1, 19,4,0, 19,4,1, 19,9,0, 19,9,1, 19,14,0, 19,15,0, 21,13,1, 22,13,1, + 0,6,1, 0,7,0, 0,8,0, 0,13,0, 0,18,0, 1,6,1, 3,10,1, 3,15,1, 3,16,0, 4,9,0, 4,9,1, 4,14,1, 4,19,0, 4,19,1, 5,2,1, 5,8,0, 5,13,0, 5,13,1, 5,18,0, 6,0,0, 6,1,0, 6,6,0, 6,12,0, 7,0,1, 7,5,0, 8,0,1, 8,5,1, 8,10,0, 8,15,0, 8,16,0, 9,4,0, 9,9,0, 9,9,1, 9,19,1, 10,8,1, 10,13,0, 10,13,1, 10,18,0, 11,6,0, 11,7,0, 11,12,0, 12,6,1, 12,11,1, 12,17,0, 13,0,1, 13,10,0, 13,10,1, 13,16,0, 13,21,0, 13,22,0, 14,4,0, 14,9,0, 14,14,0, 14,14,1, 14,19,1, 15,3,0, 15,13,0, 15,19,1, 16,6,0, 17,6,1, 17,17,1, 18,0,1, 18,5,1, 18,10,1, 19,4,0, 19,4,1, 19,9,0, 19,9,1, 19,14,0, 19,15,0, 21,13,1, 22,13,1, // Length and number of words of that length 3, 32, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 0,14,0, 0,19,0, 3,0,1, 3,5,0, 3,20,1, 4,0,1, 4,4,1, 6,18,1, 7,12,1, 7,17,0, 8,20,1, 9,15,1, 10,3,1, 10,8,0, 10,14,0, 12,17,1, 13,5,0, 13,5,1, 14,0,1, 15,8,1, 16,2,1, 17,17,0, 18,16,1, 18,20,1, 19,0,1, 19,20,1, 20,3,0, 20,8,0, 20,13,0, 20,19,0, + 0,3,0, 0,9,0, 0,14,0, 0,19,0, 3,0,1, 3,5,0, 3,20,1, 4,0,1, 4,4,1, 6,18,1, 7,12,1, 7,17,0, 8,20,1, 9,15,1, 10,3,1, 10,8,0, 10,14,0, 12,17,1, 13,5,0, 13,5,1, 14,0,1, 15,8,1, 16,2,1, 17,17,0, 18,16,1, 18,20,1, 19,0,1, 19,20,1, 20,3,0, 20,8,0, 20,13,0, 20,19,0, // End marker 0 }; @@ -2589,51 +2590,51 @@ namespace { // Number of black fields 89, // Black field coordinates - 0,5, 0,11, 0,16, 1,5, 1,11, 1,16, 2,5, 2,16, 3,4, 3,10, 3,15, 4,4, 4,8, 4,13, 4,14, 4,18, 4,19, 5,11, 5,17, 5,21, 5,22, 6,0, 6,1, 6,6, 6,7, 6,12, 6,17, 7,3, 7,9, 7,16, 8,4, 8,9, 9,4, 9,10, 9,14, 9,19, 10,4, 10,5, 10,10, 10,15, 10,20, 10,21, 10,22, 11,6, 11,11, 11,16, 12,0, 12,1, 12,2, 12,7, 12,12, 12,17, 12,18, 13,3, 13,8, 13,12, 13,18, 14,13, 14,18, 15,6, 15,13, 15,19, 16,5, 16,10, 16,15, 16,16, 16,21, 16,22, 17,0, 17,1, 17,5, 17,11, 18,3, 18,4, 18,8, 18,9, 18,14, 18,18, 19,7, 19,12, 19,18, 20,6, 20,17, 21,6, 21,11, 21,17, 22,6, 22,11, 22,17, + 0,5, 0,11, 0,16, 1,5, 1,11, 1,16, 2,5, 2,16, 3,4, 3,10, 3,15, 4,4, 4,8, 4,13, 4,14, 4,18, 4,19, 5,11, 5,17, 5,21, 5,22, 6,0, 6,1, 6,6, 6,7, 6,12, 6,17, 7,3, 7,9, 7,16, 8,4, 8,9, 9,4, 9,10, 9,14, 9,19, 10,4, 10,5, 10,10, 10,15, 10,20, 10,21, 10,22, 11,6, 11,11, 11,16, 12,0, 12,1, 12,2, 12,7, 12,12, 12,17, 12,18, 13,3, 13,8, 13,12, 13,18, 14,13, 14,18, 15,6, 15,13, 15,19, 16,5, 16,10, 16,15, 16,16, 16,21, 16,22, 17,0, 17,1, 17,5, 17,11, 18,3, 18,4, 18,8, 18,9, 18,14, 18,18, 19,7, 19,12, 19,18, 20,6, 20,17, 21,6, 21,11, 21,17, 22,6, 22,11, 22,17, // Length and number of words of that length 13, 2, // Coordinates where words start and direction (0 = horizontal) - 8,10,1, 14,0,1, + 8,10,1, 14,0,1, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 11,20,0, + 0,2,0, 11,20,0, // Length and number of words of that length 11, 2, // Coordinates where words start and direction (0 = horizontal) - 5,0,1, 17,12,1, + 5,0,1, 17,12,1, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,20,0, 2,6,1, 13,2,0, 20,7,1, + 0,20,0, 2,6,1, 13,2,0, 20,7,1, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 5,13,0, 9,9,0, + 5,13,0, 9,9,0, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 5,8,0, 10,14,0, + 5,8,0, 10,14,0, // Length and number of words of that length 7, 10, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 3,5,0, 3,16,1, 5,18,0, 11,4,0, 13,17,0, 16,13,0, 16,19,0, 19,0,1, + 0,3,0, 0,9,0, 3,5,0, 3,16,1, 5,18,0, 11,4,0, 13,17,0, 16,13,0, 16,19,0, 19,0,1, // Length and number of words of that length 6, 24, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,6,0, 0,7,0, 0,12,0, 0,17,1, 1,17,1, 2,17,1, 4,15,0, 7,10,1, 7,17,1, 11,0,1, 11,17,1, 13,7,0, 15,0,1, 15,7,1, 17,10,0, 17,15,0, 17,16,0, 17,21,0, 17,22,0, 20,0,1, 21,0,1, 22,0,1, + 0,0,0, 0,1,0, 0,6,0, 0,7,0, 0,12,0, 0,17,1, 1,17,1, 2,17,1, 4,15,0, 7,10,1, 7,17,1, 11,0,1, 11,17,1, 13,7,0, 15,0,1, 15,7,1, 17,10,0, 17,15,0, 17,16,0, 17,21,0, 17,22,0, 20,0,1, 21,0,1, 22,0,1, // Length and number of words of that length 5, 42, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,6,1, 0,17,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 2,0,1, 3,5,1, 4,10,0, 5,12,1, 6,11,0, 6,18,1, 7,0,0, 7,1,0, 7,4,1, 7,7,0, 7,12,0, 7,17,0, 8,3,0, 9,5,1, 10,19,0, 11,5,0, 11,10,0, 11,15,0, 11,21,0, 11,22,0, 12,11,0, 13,13,1, 14,12,0, 15,14,1, 16,0,1, 17,6,1, 18,0,0, 18,1,0, 18,5,0, 19,13,1, 20,18,1, 21,12,1, 21,18,1, 22,12,1, 22,18,1, + 0,0,1, 0,6,1, 0,17,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 2,0,1, 3,5,1, 4,10,0, 5,12,1, 6,11,0, 6,18,1, 7,0,0, 7,1,0, 7,4,1, 7,7,0, 7,12,0, 7,17,0, 8,3,0, 9,5,1, 10,19,0, 11,5,0, 11,10,0, 11,15,0, 11,21,0, 11,22,0, 12,11,0, 13,13,1, 14,12,0, 15,14,1, 16,0,1, 17,6,1, 18,0,0, 18,1,0, 18,5,0, 19,13,1, 20,18,1, 21,12,1, 21,18,1, 22,12,1, 22,18,1, // Length and number of words of that length 4, 58, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,12,1, 0,13,0, 0,14,0, 0,18,0, 0,19,0, 1,12,1, 3,0,1, 3,11,1, 3,16,0, 4,0,1, 4,9,1, 5,14,0, 5,19,0, 6,2,1, 6,8,1, 6,13,1, 6,21,0, 6,22,0, 7,6,0, 8,0,1, 8,5,1, 9,0,1, 9,15,1, 10,0,1, 10,6,1, 10,11,1, 10,16,1, 11,7,1, 11,12,1, 12,3,1, 12,8,1, 12,13,1, 12,16,0, 12,19,1, 13,0,0, 13,1,0, 13,4,1, 13,19,1, 14,3,0, 14,8,0, 14,14,1, 14,19,1, 16,6,0, 16,6,1, 16,11,1, 16,17,1, 18,10,1, 18,19,1, 19,3,0, 19,4,0, 19,8,0, 19,8,1, 19,9,0, 19,14,0, 19,19,1, 21,7,1, 22,7,1, + 0,8,0, 0,12,1, 0,13,0, 0,14,0, 0,18,0, 0,19,0, 1,12,1, 3,0,1, 3,11,1, 3,16,0, 4,0,1, 4,9,1, 5,14,0, 5,19,0, 6,2,1, 6,8,1, 6,13,1, 6,21,0, 6,22,0, 7,6,0, 8,0,1, 8,5,1, 9,0,1, 9,15,1, 10,0,1, 10,6,1, 10,11,1, 10,16,1, 11,7,1, 11,12,1, 12,3,1, 12,8,1, 12,13,1, 12,16,0, 12,19,1, 13,0,0, 13,1,0, 13,4,1, 13,19,1, 14,3,0, 14,8,0, 14,14,1, 14,19,1, 16,6,0, 16,6,1, 16,11,1, 16,17,1, 18,10,1, 18,19,1, 19,3,0, 19,4,0, 19,8,0, 19,8,1, 19,9,0, 19,14,0, 19,19,1, 21,7,1, 22,7,1, // Length and number of words of that length 3, 26, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 0,15,0, 2,11,0, 4,5,1, 4,15,1, 4,20,1, 5,4,0, 5,18,1, 7,0,1, 8,16,0, 9,11,1, 9,20,1, 12,6,0, 13,0,1, 13,9,1, 15,18,0, 15,20,1, 17,2,1, 18,0,1, 18,5,1, 18,11,0, 18,15,1, 20,7,0, 20,12,0, 20,18,0, + 0,4,0, 0,10,0, 0,15,0, 2,11,0, 4,5,1, 4,15,1, 4,20,1, 5,4,0, 5,18,1, 7,0,1, 8,16,0, 9,11,1, 9,20,1, 12,6,0, 13,0,1, 13,9,1, 15,18,0, 15,20,1, 17,2,1, 18,0,1, 18,5,1, 18,11,0, 18,15,1, 20,7,0, 20,12,0, 20,18,0, // End marker 0 }; @@ -2671,35 +2672,35 @@ namespace { // Number of black fields 80, // Black field coordinates - 0,5, 0,11, 0,17, 1,5, 1,11, 1,17, 2,5, 2,11, 2,17, 3,9, 3,13, 4,8, 4,14, 5,0, 5,1, 5,2, 5,7, 5,15, 5,20, 5,21, 5,22, 6,6, 6,10, 6,16, 7,5, 7,11, 7,17, 8,4, 8,12, 8,18, 9,3, 9,9, 9,13, 9,19, 10,8, 10,16, 11,0, 11,1, 11,2, 11,7, 11,15, 11,20, 11,21, 11,22, 12,6, 12,14, 13,3, 13,9, 13,13, 13,19, 14,4, 14,10, 14,18, 15,5, 15,11, 15,17, 16,6, 16,12, 16,16, 17,0, 17,1, 17,2, 17,7, 17,15, 17,20, 17,21, 17,22, 18,8, 18,14, 19,9, 19,13, 20,5, 20,11, 20,17, 21,5, 21,11, 21,17, 22,5, 22,11, 22,17, + 0,5, 0,11, 0,17, 1,5, 1,11, 1,17, 2,5, 2,11, 2,17, 3,9, 3,13, 4,8, 4,14, 5,0, 5,1, 5,2, 5,7, 5,15, 5,20, 5,21, 5,22, 6,6, 6,10, 6,16, 7,5, 7,11, 7,17, 8,4, 8,12, 8,18, 9,3, 9,9, 9,13, 9,19, 10,8, 10,16, 11,0, 11,1, 11,2, 11,7, 11,15, 11,20, 11,21, 11,22, 12,6, 12,14, 13,3, 13,9, 13,13, 13,19, 14,4, 14,10, 14,18, 15,5, 15,11, 15,17, 16,6, 16,12, 16,16, 17,0, 17,1, 17,2, 17,7, 17,15, 17,20, 17,21, 17,22, 18,8, 18,14, 19,9, 19,13, 20,5, 20,11, 20,17, 21,5, 21,11, 21,17, 22,5, 22,11, 22,17, // Length and number of words of that length 9, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,19,0, 3,0,1, 3,14,1, 14,3,0, 14,19,0, 19,0,1, 19,14,1, + 0,3,0, 0,19,0, 3,0,1, 3,14,1, 14,3,0, 14,19,0, 19,0,1, 19,14,1, // Length and number of words of that length 8, 12, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,12,0, 0,18,0, 4,0,1, 4,15,1, 10,0,1, 12,15,1, 15,4,0, 15,10,0, 15,18,0, 18,0,1, 18,15,1, + 0,4,0, 0,12,0, 0,18,0, 4,0,1, 4,15,1, 10,0,1, 12,15,1, 15,4,0, 15,10,0, 15,18,0, 18,0,1, 18,15,1, // Length and number of words of that length 7, 14, // Coordinates where words start and direction (0 = horizontal) - 5,8,1, 5,14,0, 7,10,0, 8,5,0, 8,5,1, 8,11,0, 8,17,0, 9,12,0, 10,9,1, 11,8,0, 11,8,1, 12,7,1, 14,11,1, 17,8,1, + 5,8,1, 5,14,0, 7,10,0, 8,5,0, 8,5,1, 8,11,0, 8,17,0, 9,12,0, 10,9,1, 11,8,0, 11,8,1, 12,7,1, 14,11,1, 17,8,1, // Length and number of words of that length 6, 12, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,10,0, 0,16,0, 6,0,1, 6,17,1, 10,17,1, 12,0,1, 16,0,1, 16,17,1, 17,6,0, 17,12,0, 17,16,0, + 0,6,0, 0,10,0, 0,16,0, 6,0,1, 6,17,1, 10,17,1, 12,0,1, 16,0,1, 16,17,1, 17,6,0, 17,12,0, 17,16,0, // Length and number of words of that length 5, 84, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,1, 0,7,0, 0,12,1, 0,15,0, 0,18,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 1,12,1, 1,18,1, 2,0,1, 2,6,1, 2,12,1, 2,18,1, 4,9,0, 4,9,1, 4,13,0, 5,8,0, 6,0,0, 6,1,0, 6,2,0, 6,7,0, 6,11,1, 6,15,0, 6,20,0, 6,21,0, 6,22,0, 7,0,1, 7,6,0, 7,6,1, 7,12,1, 7,18,1, 8,13,1, 9,4,0, 9,4,1, 9,14,1, 9,18,0, 11,16,0, 12,0,0, 12,1,0, 12,2,0, 12,7,0, 12,15,0, 12,20,0, 12,21,0, 12,22,0, 13,4,1, 13,14,0, 13,14,1, 14,5,1, 14,9,0, 14,13,0, 15,0,1, 15,6,1, 15,12,1, 15,18,1, 16,7,1, 18,0,0, 18,1,0, 18,2,0, 18,7,0, 18,9,1, 18,15,0, 18,20,0, 18,21,0, 18,22,0, 20,0,1, 20,6,1, 20,12,1, 20,18,1, 21,0,1, 21,6,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,1, 0,7,0, 0,12,1, 0,15,0, 0,18,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 1,12,1, 1,18,1, 2,0,1, 2,6,1, 2,12,1, 2,18,1, 4,9,0, 4,9,1, 4,13,0, 5,8,0, 6,0,0, 6,1,0, 6,2,0, 6,7,0, 6,11,1, 6,15,0, 6,20,0, 6,21,0, 6,22,0, 7,0,1, 7,6,0, 7,6,1, 7,12,1, 7,18,1, 8,13,1, 9,4,0, 9,4,1, 9,14,1, 9,18,0, 11,16,0, 12,0,0, 12,1,0, 12,2,0, 12,7,0, 12,15,0, 12,20,0, 12,21,0, 12,22,0, 13,4,1, 13,14,0, 13,14,1, 14,5,1, 14,9,0, 14,13,0, 15,0,1, 15,6,1, 15,12,1, 15,18,1, 16,7,1, 18,0,0, 18,1,0, 18,2,0, 18,7,0, 18,9,1, 18,15,0, 18,20,0, 18,21,0, 18,22,0, 20,0,1, 20,6,1, 20,12,1, 20,18,1, 21,0,1, 21,6,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, // Length and number of words of that length 4, 20, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 3,5,0, 3,11,0, 3,17,0, 5,3,1, 5,16,1, 8,0,1, 8,19,1, 11,3,1, 11,16,1, 14,0,1, 14,19,1, 16,5,0, 16,11,0, 16,17,0, 17,3,1, 17,16,1, 19,8,0, 19,14,0, + 0,8,0, 0,14,0, 3,5,0, 3,11,0, 3,17,0, 5,3,1, 5,16,1, 8,0,1, 8,19,1, 11,3,1, 11,16,1, 14,0,1, 14,19,1, 16,5,0, 16,11,0, 16,17,0, 17,3,1, 17,16,1, 19,8,0, 19,14,0, // Length and number of words of that length 3, 20, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 0,13,0, 3,10,1, 6,7,1, 7,16,0, 9,0,1, 9,10,1, 9,20,1, 10,3,0, 10,9,0, 10,13,0, 10,19,0, 13,0,1, 13,6,0, 13,10,1, 13,20,1, 16,13,1, 19,10,1, 20,9,0, 20,13,0, + 0,9,0, 0,13,0, 3,10,1, 6,7,1, 7,16,0, 9,0,1, 9,10,1, 9,20,1, 10,3,0, 10,9,0, 10,13,0, 10,19,0, 13,0,1, 13,6,0, 13,10,1, 13,20,1, 16,13,1, 19,10,1, 20,9,0, 20,13,0, // End marker 0 }; @@ -2737,35 +2738,35 @@ namespace { // Number of black fields 84, // Black field coordinates - 0,5, 0,11, 0,17, 1,5, 1,11, 1,17, 2,5, 2,11, 2,17, 3,3, 3,8, 3,14, 3,19, 4,7, 4,15, 5,0, 5,1, 5,6, 5,12, 5,16, 5,20, 5,21, 5,22, 6,5, 6,11, 6,17, 7,4, 7,10, 7,18, 8,3, 8,9, 8,14, 8,19, 9,8, 9,13, 10,7, 10,12, 10,17, 11,0, 11,1, 11,2, 11,6, 11,16, 11,20, 11,21, 11,22, 12,5, 12,10, 12,15, 13,9, 13,14, 14,3, 14,8, 14,13, 14,19, 15,4, 15,12, 15,18, 16,5, 16,11, 16,17, 17,0, 17,1, 17,2, 17,6, 17,10, 17,16, 17,21, 17,22, 18,7, 18,15, 19,3, 19,8, 19,14, 19,19, 20,5, 20,11, 20,17, 21,5, 21,11, 21,17, 22,5, 22,11, 22,17, + 0,5, 0,11, 0,17, 1,5, 1,11, 1,17, 2,5, 2,11, 2,17, 3,3, 3,8, 3,14, 3,19, 4,7, 4,15, 5,0, 5,1, 5,6, 5,12, 5,16, 5,20, 5,21, 5,22, 6,5, 6,11, 6,17, 7,4, 7,10, 7,18, 8,3, 8,9, 8,14, 8,19, 9,8, 9,13, 10,7, 10,12, 10,17, 11,0, 11,1, 11,2, 11,6, 11,16, 11,20, 11,21, 11,22, 12,5, 12,10, 12,15, 13,9, 13,14, 14,3, 14,8, 14,13, 14,19, 15,4, 15,12, 15,18, 16,5, 16,11, 16,17, 17,0, 17,1, 17,2, 17,6, 17,10, 17,16, 17,21, 17,22, 18,7, 18,15, 19,3, 19,8, 19,14, 19,19, 20,5, 20,11, 20,17, 21,5, 21,11, 21,17, 22,5, 22,11, 22,17, // Length and number of words of that length 11, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 12,20,0, + 0,2,0, 12,20,0, // Length and number of words of that length 9, 6, // Coordinates where words start and direction (0 = horizontal) - 0,13,0, 7,11,0, 9,14,1, 11,7,1, 13,0,1, 14,9,0, + 0,13,0, 7,11,0, 9,14,1, 11,7,1, 13,0,1, 14,9,0, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 9,0,1, 13,15,1, 15,13,0, + 0,9,0, 9,0,1, 13,15,1, 15,13,0, // Length and number of words of that length 7, 20, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 0,18,0, 4,0,1, 4,8,1, 4,16,1, 5,15,0, 7,11,1, 8,4,0, 8,18,0, 10,0,1, 11,7,0, 12,16,1, 15,5,1, 16,4,0, 16,12,0, 16,18,0, 18,0,1, 18,8,1, 18,16,1, + 0,4,0, 0,10,0, 0,18,0, 4,0,1, 4,8,1, 4,16,1, 5,15,0, 7,11,1, 8,4,0, 8,18,0, 10,0,1, 11,7,0, 12,16,1, 15,5,1, 16,4,0, 16,12,0, 16,18,0, 18,0,1, 18,8,1, 18,16,1, // Length and number of words of that length 5, 80, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,6,0, 0,6,1, 0,12,0, 0,12,1, 0,16,0, 0,18,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 1,12,1, 1,18,1, 2,0,1, 2,6,1, 2,12,1, 2,18,1, 3,9,1, 4,8,0, 5,7,0, 5,7,1, 6,0,0, 6,0,1, 6,1,0, 6,6,0, 6,6,1, 6,12,1, 6,16,0, 6,18,1, 6,20,0, 6,21,0, 6,22,0, 7,5,0, 7,5,1, 8,4,1, 9,3,0, 9,19,0, 10,18,1, 11,17,0, 12,0,0, 12,0,1, 12,1,0, 12,2,0, 12,6,0, 12,16,0, 12,21,0, 12,22,0, 13,15,0, 14,14,0, 14,14,1, 15,13,1, 16,0,1, 16,6,1, 16,12,1, 16,18,1, 17,11,1, 18,0,0, 18,1,0, 18,2,0, 18,6,0, 18,10,0, 18,16,0, 18,21,0, 18,22,0, 19,9,1, 20,0,1, 20,6,1, 20,12,1, 20,18,1, 21,0,1, 21,6,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, + 0,0,0, 0,0,1, 0,1,0, 0,6,0, 0,6,1, 0,12,0, 0,12,1, 0,16,0, 0,18,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 1,12,1, 1,18,1, 2,0,1, 2,6,1, 2,12,1, 2,18,1, 3,9,1, 4,8,0, 5,7,0, 5,7,1, 6,0,0, 6,0,1, 6,1,0, 6,6,0, 6,6,1, 6,12,1, 6,16,0, 6,18,1, 6,20,0, 6,21,0, 6,22,0, 7,5,0, 7,5,1, 8,4,1, 9,3,0, 9,19,0, 10,18,1, 11,17,0, 12,0,0, 12,0,1, 12,1,0, 12,2,0, 12,6,0, 12,16,0, 12,21,0, 12,22,0, 13,15,0, 14,14,0, 14,14,1, 15,13,1, 16,0,1, 16,6,1, 16,12,1, 16,18,1, 17,11,1, 18,0,0, 18,1,0, 18,2,0, 18,6,0, 18,10,0, 18,16,0, 18,21,0, 18,22,0, 19,9,1, 20,0,1, 20,6,1, 20,12,1, 20,18,1, 21,0,1, 21,6,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, // Length and number of words of that length 4, 38, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,15,0, 3,4,1, 3,15,1, 4,3,0, 4,14,0, 4,19,0, 5,2,1, 6,12,0, 7,0,1, 7,19,1, 8,10,0, 8,10,1, 8,15,1, 9,9,0, 9,9,1, 9,14,0, 10,8,0, 10,8,1, 10,13,0, 10,13,1, 11,12,0, 12,6,1, 12,11,1, 13,10,0, 13,10,1, 14,4,1, 14,9,1, 15,0,1, 15,3,0, 15,8,0, 15,19,0, 15,19,1, 17,17,1, 19,4,1, 19,7,0, 19,15,0, 19,15,1, + 0,7,0, 0,15,0, 3,4,1, 3,15,1, 4,3,0, 4,14,0, 4,19,0, 5,2,1, 6,12,0, 7,0,1, 7,19,1, 8,10,0, 8,10,1, 8,15,1, 9,9,0, 9,9,1, 9,14,0, 10,8,0, 10,8,1, 10,13,0, 10,13,1, 11,12,0, 12,6,1, 12,11,1, 13,10,0, 13,10,1, 14,4,1, 14,9,1, 15,0,1, 15,3,0, 15,8,0, 15,19,0, 15,19,1, 17,17,1, 19,4,1, 19,7,0, 19,15,0, 19,15,1, // Length and number of words of that length 3, 30, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,8,0, 0,14,0, 0,19,0, 3,0,1, 3,5,0, 3,11,0, 3,17,0, 3,20,1, 5,13,1, 5,17,1, 7,17,0, 8,0,1, 8,20,1, 11,3,1, 11,17,1, 13,5,0, 14,0,1, 14,20,1, 17,3,1, 17,5,0, 17,7,1, 17,11,0, 17,17,0, 19,0,1, 19,20,1, 20,3,0, 20,8,0, 20,14,0, 20,19,0, + 0,3,0, 0,8,0, 0,14,0, 0,19,0, 3,0,1, 3,5,0, 3,11,0, 3,17,0, 3,20,1, 5,13,1, 5,17,1, 7,17,0, 8,0,1, 8,20,1, 11,3,1, 11,17,1, 13,5,0, 14,0,1, 14,20,1, 17,3,1, 17,5,0, 17,7,1, 17,11,0, 17,17,0, 19,0,1, 19,20,1, 20,3,0, 20,8,0, 20,14,0, 20,19,0, // End marker 0 }; @@ -2803,35 +2804,35 @@ namespace { // Number of black fields 69, // Black field coordinates - 0,7, 0,15, 1,7, 1,15, 2,7, 2,15, 3,3, 3,12, 3,19, 4,4, 4,11, 4,18, 5,5, 5,10, 5,17, 6,8, 6,14, 7,0, 7,1, 7,2, 7,7, 7,15, 7,20, 7,21, 7,22, 8,6, 8,16, 9,9, 9,13, 10,3, 10,11, 10,17, 11,4, 11,10, 11,11, 11,12, 11,18, 12,5, 12,11, 12,19, 13,9, 13,13, 14,6, 14,16, 15,0, 15,1, 15,2, 15,7, 15,15, 15,20, 15,21, 15,22, 16,8, 16,14, 17,5, 17,12, 17,17, 18,4, 18,11, 18,18, 19,3, 19,10, 19,19, 20,7, 20,15, 21,7, 21,15, 22,7, 22,15, + 0,7, 0,15, 1,7, 1,15, 2,7, 2,15, 3,3, 3,12, 3,19, 4,4, 4,11, 4,18, 5,5, 5,10, 5,17, 6,8, 6,14, 7,0, 7,1, 7,2, 7,7, 7,15, 7,20, 7,21, 7,22, 8,6, 8,16, 9,9, 9,13, 10,3, 10,11, 10,17, 11,4, 11,10, 11,11, 11,12, 11,18, 12,5, 12,11, 12,19, 13,9, 13,13, 14,6, 14,16, 15,0, 15,1, 15,2, 15,7, 15,15, 15,20, 15,21, 15,22, 16,8, 16,14, 17,5, 17,12, 17,17, 18,4, 18,11, 18,18, 19,3, 19,10, 19,19, 20,7, 20,15, 21,7, 21,15, 22,7, 22,15, // Length and number of words of that length 9, 12, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 0,13,0, 7,8,0, 7,14,0, 8,7,1, 9,0,1, 9,14,1, 13,0,1, 13,14,1, 14,7,1, 14,9,0, 14,13,0, + 0,9,0, 0,13,0, 7,8,0, 7,14,0, 8,7,1, 9,0,1, 9,14,1, 13,0,1, 13,14,1, 14,7,1, 14,9,0, 14,13,0, // Length and number of words of that length 8, 12, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,16,0, 3,4,1, 4,19,0, 6,0,1, 6,15,1, 11,3,0, 15,6,0, 15,16,0, 16,0,1, 16,15,1, 19,11,1, + 0,6,0, 0,16,0, 3,4,1, 4,19,0, 6,0,1, 6,15,1, 11,3,0, 15,6,0, 15,16,0, 16,0,1, 16,15,1, 19,11,1, // Length and number of words of that length 7, 44, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,1, 0,16,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,8,1, 1,16,1, 2,0,1, 2,8,1, 2,16,1, 4,12,0, 7,8,1, 8,0,0, 8,1,0, 8,2,0, 8,7,0, 8,15,0, 8,20,0, 8,21,0, 8,22,0, 10,4,1, 12,10,0, 12,12,1, 15,8,1, 16,0,0, 16,1,0, 16,2,0, 16,20,0, 16,21,0, 16,22,0, 20,0,1, 20,8,1, 20,16,1, 21,0,1, 21,8,1, 21,16,1, 22,0,1, 22,8,1, 22,16,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,1, 0,16,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,8,1, 1,16,1, 2,0,1, 2,8,1, 2,16,1, 4,12,0, 7,8,1, 8,0,0, 8,1,0, 8,2,0, 8,7,0, 8,15,0, 8,20,0, 8,21,0, 8,22,0, 10,4,1, 12,10,0, 12,12,1, 15,8,1, 16,0,0, 16,1,0, 16,2,0, 16,20,0, 16,21,0, 16,22,0, 20,0,1, 20,8,1, 20,16,1, 21,0,1, 21,8,1, 21,16,1, 22,0,1, 22,8,1, 22,16,1, // Length and number of words of that length 6, 24, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 3,13,1, 4,3,0, 4,5,1, 4,12,1, 5,4,0, 5,11,1, 5,18,0, 6,5,0, 8,0,1, 8,17,1, 11,17,0, 12,4,0, 12,18,0, 13,19,0, 14,0,1, 14,17,1, 17,6,1, 17,8,0, 17,14,0, 18,5,1, 18,12,1, 19,4,1, + 0,8,0, 0,14,0, 3,13,1, 4,3,0, 4,5,1, 4,12,1, 5,4,0, 5,11,1, 5,18,0, 6,5,0, 8,0,1, 8,17,1, 11,17,0, 12,4,0, 12,18,0, 13,19,0, 14,0,1, 14,17,1, 17,6,1, 17,8,0, 17,14,0, 18,5,1, 18,12,1, 19,4,1, // Length and number of words of that length 5, 24, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,0, 0,17,0, 5,0,1, 5,11,0, 5,18,1, 6,9,1, 6,10,0, 9,6,0, 9,16,0, 10,12,1, 10,18,1, 11,5,1, 11,13,1, 12,0,1, 12,6,1, 12,12,0, 13,11,0, 16,9,1, 17,0,1, 17,18,1, 18,5,0, 18,12,0, 18,17,0, + 0,5,0, 0,10,0, 0,17,0, 5,0,1, 5,11,0, 5,18,1, 6,9,1, 6,10,0, 9,6,0, 9,16,0, 10,12,1, 10,18,1, 11,5,1, 11,13,1, 12,0,1, 12,6,1, 12,12,0, 13,11,0, 16,9,1, 17,0,1, 17,18,1, 18,5,0, 18,12,0, 18,17,0, // Length and number of words of that length 4, 24, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,11,0, 0,18,0, 3,7,0, 3,15,0, 4,0,1, 4,19,1, 5,6,1, 6,17,0, 7,3,1, 7,16,1, 11,0,1, 11,19,1, 13,5,0, 15,3,1, 15,16,1, 16,7,0, 16,15,0, 17,13,1, 18,0,1, 18,19,1, 19,4,0, 19,11,0, 19,18,0, + 0,4,0, 0,11,0, 0,18,0, 3,7,0, 3,15,0, 4,0,1, 4,19,1, 5,6,1, 6,17,0, 7,3,1, 7,16,1, 11,0,1, 11,19,1, 13,5,0, 15,3,1, 15,16,1, 16,7,0, 16,15,0, 17,13,1, 18,0,1, 18,19,1, 19,4,0, 19,11,0, 19,18,0, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,12,0, 0,19,0, 3,0,1, 3,20,1, 9,10,1, 10,0,1, 10,9,0, 10,13,0, 12,20,1, 13,10,1, 19,0,1, 19,20,1, 20,3,0, 20,10,0, 20,19,0, + 0,3,0, 0,12,0, 0,19,0, 3,0,1, 3,20,1, 9,10,1, 10,0,1, 10,9,0, 10,13,0, 12,20,1, 13,10,1, 19,0,1, 19,20,1, 20,3,0, 20,10,0, 20,19,0, // End marker 0 }; @@ -2869,47 +2870,47 @@ namespace { // Number of black fields 83, // Black field coordinates - 0,4, 0,10, 0,16, 0,22, 1,4, 1,10, 1,16, 2,4, 2,16, 3,8, 3,14, 3,19, 4,0, 4,1, 4,7, 4,13, 4,18, 5,6, 5,12, 5,17, 6,5, 6,10, 6,11, 6,16, 6,21, 6,22, 7,4, 7,15, 8,3, 8,9, 8,14, 8,19, 9,8, 9,18, 10,0, 10,1, 10,2, 10,6, 10,12, 10,17, 11,6, 11,11, 11,16, 12,5, 12,10, 12,16, 12,20, 12,21, 12,22, 13,4, 13,14, 14,3, 14,8, 14,13, 14,19, 15,7, 15,18, 16,0, 16,1, 16,6, 16,11, 16,12, 16,17, 17,5, 17,10, 17,16, 18,4, 18,9, 18,15, 18,21, 18,22, 19,3, 19,8, 19,14, 20,6, 20,18, 21,6, 21,12, 21,18, 22,0, 22,6, 22,12, 22,18, + 0,4, 0,10, 0,16, 0,22, 1,4, 1,10, 1,16, 2,4, 2,16, 3,8, 3,14, 3,19, 4,0, 4,1, 4,7, 4,13, 4,18, 5,6, 5,12, 5,17, 6,5, 6,10, 6,11, 6,16, 6,21, 6,22, 7,4, 7,15, 8,3, 8,9, 8,14, 8,19, 9,8, 9,18, 10,0, 10,1, 10,2, 10,6, 10,12, 10,17, 11,6, 11,11, 11,16, 12,5, 12,10, 12,16, 12,20, 12,21, 12,22, 13,4, 13,14, 14,3, 14,8, 14,13, 14,19, 15,7, 15,18, 16,0, 16,1, 16,6, 16,11, 16,12, 16,17, 17,5, 17,10, 17,16, 18,4, 18,9, 18,15, 18,21, 18,22, 19,3, 19,8, 19,14, 20,6, 20,18, 21,6, 21,12, 21,18, 22,0, 22,6, 22,12, 22,18, // Length and number of words of that length 12, 2, // Coordinates where words start and direction (0 = horizontal) - 0,20,0, 11,2,0, + 0,20,0, 11,2,0, // Length and number of words of that length 11, 2, // Coordinates where words start and direction (0 = horizontal) - 2,5,1, 20,7,1, + 2,5,1, 20,7,1, // Length and number of words of that length 10, 6, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 5,7,0, 7,5,1, 8,15,0, 13,20,0, 15,8,1, + 0,2,0, 5,7,0, 7,5,1, 8,15,0, 13,20,0, 15,8,1, // Length and number of words of that length 9, 4, // Coordinates where words start and direction (0 = horizontal) - 5,13,0, 9,9,0, 9,9,1, 13,5,1, + 5,13,0, 9,9,0, 9,9,1, 13,5,1, // Length and number of words of that length 8, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 3,0,1, 9,0,1, 13,15,1, 15,13,0, 15,19,0, 19,15,1, + 0,3,0, 0,9,0, 3,0,1, 9,0,1, 13,15,1, 15,13,0, 15,19,0, 19,15,1, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 0,15,0, 7,16,1, 15,0,1, 16,7,0, + 0,15,0, 7,16,1, 15,0,1, 16,7,0, // Length and number of words of that length 6, 14, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 0,21,0, 1,17,1, 2,17,1, 5,0,1, 11,0,1, 11,17,1, 17,1,0, 17,11,0, 17,17,0, 17,17,1, 20,0,1, 21,0,1, + 0,5,0, 0,11,0, 0,21,0, 1,17,1, 2,17,1, 5,0,1, 11,0,1, 11,17,1, 17,1,0, 17,11,0, 17,17,0, 17,17,1, 20,0,1, 21,0,1, // Length and number of words of that length 5, 54, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,6,0, 0,11,1, 0,12,0, 0,17,0, 0,17,1, 1,5,1, 1,11,1, 1,22,0, 3,9,1, 4,2,1, 4,8,0, 4,8,1, 5,0,0, 5,1,0, 5,7,1, 5,18,1, 6,0,1, 7,5,0, 7,10,0, 7,21,0, 7,22,0, 8,4,0, 8,4,1, 9,3,0, 9,19,0, 10,7,1, 10,18,0, 10,18,1, 11,0,0, 11,1,0, 11,12,0, 11,17,0, 12,0,1, 12,11,1, 13,21,0, 13,22,0, 14,14,0, 14,14,1, 16,18,1, 17,0,0, 17,0,1, 17,11,1, 18,5,0, 18,10,0, 18,10,1, 18,16,0, 18,16,1, 19,9,1, 21,7,1, 21,13,1, 22,1,1, 22,7,1, 22,13,1, + 0,5,1, 0,6,0, 0,11,1, 0,12,0, 0,17,0, 0,17,1, 1,5,1, 1,11,1, 1,22,0, 3,9,1, 4,2,1, 4,8,0, 4,8,1, 5,0,0, 5,1,0, 5,7,1, 5,18,1, 6,0,1, 7,5,0, 7,10,0, 7,21,0, 7,22,0, 8,4,0, 8,4,1, 9,3,0, 9,19,0, 10,7,1, 10,18,0, 10,18,1, 11,0,0, 11,1,0, 11,12,0, 11,17,0, 12,0,1, 12,11,1, 13,21,0, 13,22,0, 14,14,0, 14,14,1, 16,18,1, 17,0,0, 17,0,1, 17,11,1, 18,5,0, 18,10,0, 18,10,1, 18,16,0, 18,16,1, 19,9,1, 21,7,1, 21,13,1, 22,1,1, 22,7,1, 22,13,1, // Length and number of words of that length 4, 64, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,7,0, 0,13,0, 0,18,0, 1,0,1, 2,0,1, 2,10,0, 3,4,0, 3,15,1, 4,14,0, 4,14,1, 4,19,0, 4,19,1, 5,13,1, 5,18,0, 6,6,0, 6,6,1, 6,12,0, 6,12,1, 6,17,0, 6,17,1, 7,0,1, 7,11,0, 7,16,0, 8,10,1, 8,15,1, 9,14,0, 9,19,1, 10,8,0, 10,13,1, 11,7,1, 11,12,1, 12,6,0, 12,6,1, 12,11,0, 13,0,1, 13,5,0, 13,10,0, 13,16,0, 14,4,0, 14,4,1, 14,9,1, 15,3,0, 15,8,0, 15,19,1, 16,2,1, 16,7,1, 16,13,1, 16,18,0, 17,6,1, 17,12,0, 18,0,1, 18,5,1, 19,4,0, 19,4,1, 19,9,0, 19,15,0, 19,21,0, 19,22,0, 20,19,1, 21,19,1, 22,19,1, + 0,0,0, 0,0,1, 0,1,0, 0,7,0, 0,13,0, 0,18,0, 1,0,1, 2,0,1, 2,10,0, 3,4,0, 3,15,1, 4,14,0, 4,14,1, 4,19,0, 4,19,1, 5,13,1, 5,18,0, 6,6,0, 6,6,1, 6,12,0, 6,12,1, 6,17,0, 6,17,1, 7,0,1, 7,11,0, 7,16,0, 8,10,1, 8,15,1, 9,14,0, 9,19,1, 10,8,0, 10,13,1, 11,7,1, 11,12,1, 12,6,0, 12,6,1, 12,11,0, 13,0,1, 13,5,0, 13,10,0, 13,16,0, 14,4,0, 14,4,1, 14,9,1, 15,3,0, 15,8,0, 15,19,1, 16,2,1, 16,7,1, 16,13,1, 16,18,0, 17,6,1, 17,12,0, 18,0,1, 18,5,1, 19,4,0, 19,4,1, 19,9,0, 19,15,0, 19,21,0, 19,22,0, 20,19,1, 21,19,1, 22,19,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 0,19,0, 3,16,0, 3,20,1, 8,0,1, 8,20,1, 10,3,1, 12,17,1, 14,0,1, 14,20,1, 17,6,0, 19,0,1, 20,3,0, 20,8,0, 20,14,0, + 0,8,0, 0,14,0, 0,19,0, 3,16,0, 3,20,1, 8,0,1, 8,20,1, 10,3,1, 12,17,1, 14,0,1, 14,20,1, 17,6,0, 19,0,1, 20,3,0, 20,8,0, 20,14,0, // End marker 0 }; @@ -2947,31 +2948,31 @@ namespace { // Number of black fields 75, // Black field coordinates - 0,7, 0,15, 1,7, 1,15, 2,7, 2,15, 3,3, 3,8, 3,13, 3,19, 4,4, 4,12, 4,18, 5,5, 5,10, 5,17, 6,6, 6,11, 6,16, 7,0, 7,1, 7,2, 7,9, 7,15, 7,20, 7,21, 7,22, 8,3, 8,8, 8,14, 9,7, 9,13, 9,19, 10,5, 10,12, 10,18, 11,6, 11,11, 11,16, 12,4, 12,10, 12,17, 13,3, 13,9, 13,15, 14,8, 14,14, 14,19, 15,0, 15,1, 15,2, 15,7, 15,13, 15,20, 15,21, 15,22, 16,6, 16,11, 16,16, 17,5, 17,12, 17,17, 18,4, 18,10, 18,18, 19,3, 19,9, 19,14, 19,19, 20,7, 20,15, 21,7, 21,15, 22,7, 22,15, + 0,7, 0,15, 1,7, 1,15, 2,7, 2,15, 3,3, 3,8, 3,13, 3,19, 4,4, 4,12, 4,18, 5,5, 5,10, 5,17, 6,6, 6,11, 6,16, 7,0, 7,1, 7,2, 7,9, 7,15, 7,20, 7,21, 7,22, 8,3, 8,8, 8,14, 9,7, 9,13, 9,19, 10,5, 10,12, 10,18, 11,6, 11,11, 11,16, 12,4, 12,10, 12,17, 13,3, 13,9, 13,15, 14,8, 14,14, 14,19, 15,0, 15,1, 15,2, 15,7, 15,13, 15,20, 15,21, 15,22, 16,6, 16,11, 16,16, 17,5, 17,12, 17,17, 18,4, 18,10, 18,18, 19,3, 19,9, 19,14, 19,19, 20,7, 20,15, 21,7, 21,15, 22,7, 22,15, // Length and number of words of that length 8, 4, // Coordinates where words start and direction (0 = horizontal) - 0,14,0, 8,15,1, 14,0,1, 15,8,0, + 0,14,0, 8,15,1, 14,0,1, 15,8,0, // Length and number of words of that length 7, 44, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,1, 0,9,0, 0,16,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,8,1, 1,16,1, 2,0,1, 2,8,1, 2,16,1, 4,5,1, 5,4,0, 8,0,0, 8,1,0, 8,2,0, 8,20,0, 8,21,0, 8,22,0, 9,0,1, 11,18,0, 13,16,1, 16,0,0, 16,1,0, 16,2,0, 16,13,0, 16,20,0, 16,21,0, 16,22,0, 18,11,1, 20,0,1, 20,8,1, 20,16,1, 21,0,1, 21,8,1, 21,16,1, 22,0,1, 22,8,1, 22,16,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,8,1, 0,9,0, 0,16,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,8,1, 1,16,1, 2,0,1, 2,8,1, 2,16,1, 4,5,1, 5,4,0, 8,0,0, 8,1,0, 8,2,0, 8,20,0, 8,21,0, 8,22,0, 9,0,1, 11,18,0, 13,16,1, 16,0,0, 16,1,0, 16,2,0, 16,13,0, 16,20,0, 16,21,0, 16,22,0, 18,11,1, 20,0,1, 20,8,1, 20,16,1, 21,0,1, 21,8,1, 21,16,1, 22,0,1, 22,8,1, 22,16,1, // Length and number of words of that length 6, 24, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,11,0, 0,16,0, 3,7,0, 5,11,1, 6,0,1, 6,10,0, 6,17,0, 6,17,1, 7,3,1, 10,6,1, 11,0,1, 11,5,0, 11,12,0, 11,17,1, 12,11,1, 14,15,0, 15,14,1, 16,0,1, 16,17,1, 17,6,0, 17,6,1, 17,11,0, 17,16,0, + 0,6,0, 0,11,0, 0,16,0, 3,7,0, 5,11,1, 6,0,1, 6,10,0, 6,17,0, 6,17,1, 7,3,1, 10,6,1, 11,0,1, 11,5,0, 11,12,0, 11,17,1, 12,11,1, 14,15,0, 15,14,1, 16,0,1, 16,17,1, 17,6,0, 17,6,1, 17,11,0, 17,16,0, // Length and number of words of that length 5, 40, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,10,0, 0,17,0, 3,14,1, 4,13,0, 4,13,1, 4,19,0, 5,0,1, 5,12,0, 5,18,0, 5,18,1, 7,10,1, 8,9,0, 8,9,1, 8,15,0, 9,8,0, 9,8,1, 9,14,0, 9,14,1, 10,0,1, 10,7,0, 10,13,0, 10,13,1, 12,5,1, 12,18,1, 13,4,0, 13,4,1, 13,10,0, 13,10,1, 14,3,0, 14,9,0, 14,9,1, 15,8,1, 17,0,1, 17,18,1, 18,5,0, 18,5,1, 18,12,0, 18,17,0, 19,4,1, + 0,5,0, 0,10,0, 0,17,0, 3,14,1, 4,13,0, 4,13,1, 4,19,0, 5,0,1, 5,12,0, 5,18,0, 5,18,1, 7,10,1, 8,9,0, 8,9,1, 8,15,0, 9,8,0, 9,8,1, 9,14,0, 9,14,1, 10,0,1, 10,7,0, 10,13,0, 10,13,1, 12,5,1, 12,18,1, 13,4,0, 13,4,1, 13,10,0, 13,10,1, 14,3,0, 14,9,0, 14,9,1, 15,8,1, 17,0,1, 17,18,1, 18,5,0, 18,5,1, 18,12,0, 18,17,0, 19,4,1, // Length and number of words of that length 4, 44, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,12,0, 0,18,0, 3,4,1, 3,9,1, 3,15,0, 4,0,1, 4,3,0, 4,8,0, 4,19,1, 5,6,1, 6,5,0, 6,7,1, 6,12,1, 7,6,0, 7,11,0, 7,16,0, 7,16,1, 8,4,1, 9,3,0, 10,19,0, 10,19,1, 11,7,1, 11,12,1, 12,0,1, 12,6,0, 12,11,0, 12,16,0, 13,17,0, 14,15,1, 15,3,1, 15,14,0, 15,19,0, 16,7,0, 16,7,1, 16,12,1, 17,13,1, 18,0,1, 18,19,1, 19,4,0, 19,10,0, 19,10,1, 19,15,1, 19,18,0, + 0,4,0, 0,12,0, 0,18,0, 3,4,1, 3,9,1, 3,15,0, 4,0,1, 4,3,0, 4,8,0, 4,19,1, 5,6,1, 6,5,0, 6,7,1, 6,12,1, 7,6,0, 7,11,0, 7,16,0, 7,16,1, 8,4,1, 9,3,0, 10,19,0, 10,19,1, 11,7,1, 11,12,1, 12,0,1, 12,6,0, 12,11,0, 12,16,0, 13,17,0, 14,15,1, 15,3,1, 15,14,0, 15,19,0, 16,7,0, 16,7,1, 16,12,1, 17,13,1, 18,0,1, 18,19,1, 19,4,0, 19,10,0, 19,10,1, 19,15,1, 19,18,0, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,8,0, 0,13,0, 0,19,0, 3,0,1, 3,20,1, 8,0,1, 9,20,1, 13,0,1, 14,20,1, 19,0,1, 19,20,1, 20,3,0, 20,9,0, 20,14,0, 20,19,0, + 0,3,0, 0,8,0, 0,13,0, 0,19,0, 3,0,1, 3,20,1, 8,0,1, 9,20,1, 13,0,1, 14,20,1, 19,0,1, 19,20,1, 20,3,0, 20,9,0, 20,14,0, 20,19,0, // End marker 0 }; @@ -3009,35 +3010,35 @@ namespace { // Number of black fields 76, // Black field coordinates - 0,5, 0,11, 0,17, 1,5, 1,11, 2,5, 3,6, 3,12, 3,18, 4,3, 4,9, 4,13, 4,17, 5,0, 5,4, 5,8, 5,14, 5,20, 5,21, 5,22, 6,7, 6,15, 6,19, 7,6, 7,10, 7,16, 8,5, 8,11, 8,17, 9,4, 9,12, 9,18, 10,3, 10,9, 10,15, 11,0, 11,1, 11,8, 11,14, 11,21, 11,22, 12,7, 12,13, 12,19, 13,4, 13,10, 13,18, 14,5, 14,11, 14,17, 15,6, 15,12, 15,16, 16,3, 16,7, 16,15, 17,0, 17,1, 17,2, 17,8, 17,14, 17,18, 17,22, 18,5, 18,9, 18,13, 18,19, 19,4, 19,10, 19,16, 20,17, 21,11, 21,17, 22,5, 22,11, 22,17, + 0,5, 0,11, 0,17, 1,5, 1,11, 2,5, 3,6, 3,12, 3,18, 4,3, 4,9, 4,13, 4,17, 5,0, 5,4, 5,8, 5,14, 5,20, 5,21, 5,22, 6,7, 6,15, 6,19, 7,6, 7,10, 7,16, 8,5, 8,11, 8,17, 9,4, 9,12, 9,18, 10,3, 10,9, 10,15, 11,0, 11,1, 11,8, 11,14, 11,21, 11,22, 12,7, 12,13, 12,19, 13,4, 13,10, 13,18, 14,5, 14,11, 14,17, 15,6, 15,12, 15,16, 16,3, 16,7, 16,15, 17,0, 17,1, 17,2, 17,8, 17,14, 17,18, 17,22, 18,5, 18,9, 18,13, 18,19, 19,4, 19,10, 19,16, 20,17, 21,11, 21,17, 22,5, 22,11, 22,17, // Length and number of words of that length 17, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,6,1, 6,20,0, 20,0,1, + 0,2,0, 2,6,1, 6,20,0, 20,0,1, // Length and number of words of that length 11, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 1,12,1, 12,21,0, 21,0,1, + 0,1,0, 1,12,1, 12,21,0, 21,0,1, // Length and number of words of that length 7, 16, // Coordinates where words start and direction (0 = horizontal) - 0,10,0, 0,16,0, 5,13,0, 6,0,1, 6,8,1, 8,6,0, 8,16,0, 9,5,1, 10,16,1, 11,9,0, 12,0,1, 13,11,1, 16,6,0, 16,8,1, 16,12,0, 16,16,1, + 0,10,0, 0,16,0, 5,13,0, 6,0,1, 6,8,1, 8,6,0, 8,16,0, 9,5,1, 10,16,1, 11,9,0, 12,0,1, 13,11,1, 16,6,0, 16,8,1, 16,12,0, 16,16,1, // Length and number of words of that length 6, 16, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,15,0, 0,19,0, 2,11,0, 3,0,1, 7,0,1, 7,17,1, 11,2,1, 11,15,1, 15,0,1, 15,11,0, 15,17,1, 17,3,0, 17,7,0, 17,15,0, 19,17,1, + 0,7,0, 0,15,0, 0,19,0, 2,11,0, 3,0,1, 7,0,1, 7,17,1, 11,2,1, 11,15,1, 15,0,1, 15,11,0, 15,17,1, 17,3,0, 17,7,0, 17,15,0, 19,17,1, // Length and number of words of that length 5, 86, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,4,0, 0,6,1, 0,8,0, 0,12,1, 0,14,0, 0,18,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 2,0,1, 3,5,0, 3,7,1, 3,13,1, 4,4,1, 4,12,0, 4,18,0, 4,18,1, 5,3,0, 5,9,0, 5,9,1, 5,15,1, 6,0,0, 6,8,0, 6,14,0, 6,21,0, 6,22,0, 7,7,0, 7,11,1, 7,19,0, 8,0,1, 8,6,1, 8,10,0, 8,12,1, 8,18,1, 9,5,0, 9,11,0, 9,13,1, 9,17,0, 10,4,1, 10,10,1, 10,12,0, 11,3,0, 11,9,1, 11,15,0, 12,0,0, 12,1,0, 12,8,0, 12,8,1, 12,14,0, 12,14,1, 12,22,0, 13,5,1, 13,13,0, 13,19,0, 14,0,1, 14,4,0, 14,6,1, 14,10,0, 14,12,1, 14,18,1, 15,7,1, 15,17,0, 17,3,1, 17,9,1, 18,0,0, 18,0,1, 18,1,0, 18,2,0, 18,8,0, 18,14,0, 18,14,1, 18,18,0, 18,22,0, 19,5,1, 19,11,1, 20,18,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, + 0,0,0, 0,0,1, 0,4,0, 0,6,1, 0,8,0, 0,12,1, 0,14,0, 0,18,1, 0,20,0, 0,21,0, 0,22,0, 1,0,1, 1,6,1, 2,0,1, 3,5,0, 3,7,1, 3,13,1, 4,4,1, 4,12,0, 4,18,0, 4,18,1, 5,3,0, 5,9,0, 5,9,1, 5,15,1, 6,0,0, 6,8,0, 6,14,0, 6,21,0, 6,22,0, 7,7,0, 7,11,1, 7,19,0, 8,0,1, 8,6,1, 8,10,0, 8,12,1, 8,18,1, 9,5,0, 9,11,0, 9,13,1, 9,17,0, 10,4,1, 10,10,1, 10,12,0, 11,3,0, 11,9,1, 11,15,0, 12,0,0, 12,1,0, 12,8,0, 12,8,1, 12,14,0, 12,14,1, 12,22,0, 13,5,1, 13,13,0, 13,19,0, 14,0,1, 14,4,0, 14,6,1, 14,10,0, 14,12,1, 14,18,1, 15,7,1, 15,17,0, 17,3,1, 17,9,1, 18,0,0, 18,0,1, 18,1,0, 18,2,0, 18,8,0, 18,14,0, 18,14,1, 18,18,0, 18,22,0, 19,5,1, 19,11,1, 20,18,1, 21,12,1, 21,18,1, 22,0,1, 22,6,1, 22,12,1, 22,18,1, // Length and number of words of that length 4, 12, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 0,13,0, 3,19,1, 9,0,1, 9,19,1, 13,0,1, 13,19,1, 19,0,1, 19,9,0, 19,13,0, 19,19,0, + 0,3,0, 0,9,0, 0,13,0, 3,19,1, 9,0,1, 9,19,1, 13,0,1, 13,19,1, 19,0,1, 19,9,0, 19,13,0, 19,19,0, // Length and number of words of that length 3, 36, // Coordinates where words start and direction (0 = horizontal) - 0,6,0, 0,12,0, 0,18,0, 1,17,0, 4,0,1, 4,6,0, 4,10,1, 4,14,1, 5,1,1, 5,5,1, 5,17,0, 6,4,0, 6,16,1, 6,20,1, 7,7,1, 7,15,0, 10,0,1, 10,4,0, 10,18,0, 12,20,1, 13,7,0, 14,18,0, 15,5,0, 15,13,1, 16,0,1, 16,4,1, 16,16,0, 17,15,1, 17,19,1, 18,6,1, 18,10,1, 18,20,1, 19,5,0, 20,4,0, 20,10,0, 20,16,0, + 0,6,0, 0,12,0, 0,18,0, 1,17,0, 4,0,1, 4,6,0, 4,10,1, 4,14,1, 5,1,1, 5,5,1, 5,17,0, 6,4,0, 6,16,1, 6,20,1, 7,7,1, 7,15,0, 10,0,1, 10,4,0, 10,18,0, 12,20,1, 13,7,0, 14,18,0, 15,5,0, 15,13,1, 16,0,1, 16,4,1, 16,16,0, 17,15,1, 17,19,1, 18,6,1, 18,10,1, 18,20,1, 19,5,0, 20,4,0, 20,10,0, 20,16,0, // End marker 0 }; @@ -3075,39 +3076,39 @@ namespace { // Number of black fields 67, // Black field coordinates - 0,6, 0,13, 0,17, 1,6, 1,13, 2,13, 3,3, 3,12, 3,19, 4,5, 4,11, 4,17, 5,4, 5,10, 5,18, 5,22, 6,0, 6,1, 6,6, 6,16, 7,7, 7,15, 8,8, 8,14, 9,9, 9,13, 9,20, 9,21, 9,22, 10,5, 10,12, 10,19, 11,4, 11,11, 11,18, 12,3, 12,10, 12,17, 13,0, 13,1, 13,2, 13,9, 13,13, 14,8, 14,14, 15,7, 15,15, 16,6, 16,16, 16,21, 16,22, 17,0, 17,4, 17,12, 17,18, 18,5, 18,11, 18,17, 19,3, 19,10, 19,19, 20,9, 21,9, 21,16, 22,5, 22,9, 22,16, + 0,6, 0,13, 0,17, 1,6, 1,13, 2,13, 3,3, 3,12, 3,19, 4,5, 4,11, 4,17, 5,4, 5,10, 5,18, 5,22, 6,0, 6,1, 6,6, 6,16, 7,7, 7,15, 8,8, 8,14, 9,9, 9,13, 9,20, 9,21, 9,22, 10,5, 10,12, 10,19, 11,4, 11,11, 11,18, 12,3, 12,10, 12,17, 13,0, 13,1, 13,2, 13,9, 13,13, 14,8, 14,14, 15,7, 15,15, 16,6, 16,16, 16,21, 16,22, 17,0, 17,4, 17,12, 17,18, 18,5, 18,11, 18,17, 19,3, 19,10, 19,19, 20,9, 21,9, 21,16, 22,5, 22,9, 22,16, // Length and number of words of that length 13, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, 10,20,0, 20,10,1, + 0,2,0, 2,0,1, 10,20,0, 20,10,1, // Length and number of words of that length 9, 16, // Coordinates where words start and direction (0 = horizontal) - 0,9,0, 0,20,0, 0,21,0, 1,14,1, 2,14,1, 6,7,1, 7,6,0, 7,16,0, 9,0,1, 13,14,1, 14,1,0, 14,2,0, 14,13,0, 16,7,1, 20,0,1, 21,0,1, + 0,9,0, 0,20,0, 0,21,0, 1,14,1, 2,14,1, 6,7,1, 7,6,0, 7,16,0, 9,0,1, 13,14,1, 14,1,0, 14,2,0, 14,13,0, 16,7,1, 20,0,1, 21,0,1, // Length and number of words of that length 8, 12, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 0,14,0, 3,4,1, 4,3,0, 8,0,1, 8,15,1, 11,19,0, 14,0,1, 14,15,1, 15,8,0, 15,14,0, 19,11,1, + 0,8,0, 0,14,0, 3,4,1, 4,3,0, 8,0,1, 8,15,1, 11,19,0, 14,0,1, 14,15,1, 15,8,0, 15,14,0, 19,11,1, // Length and number of words of that length 7, 16, // Coordinates where words start and direction (0 = horizontal) - 0,7,0, 0,15,0, 5,11,1, 5,17,0, 7,0,1, 7,8,1, 7,16,1, 8,7,0, 8,15,0, 11,5,0, 15,0,1, 15,8,1, 15,16,1, 16,7,0, 16,15,0, 17,5,1, + 0,7,0, 0,15,0, 5,11,1, 5,17,0, 7,0,1, 7,8,1, 7,16,1, 8,7,0, 8,15,0, 11,5,0, 15,0,1, 15,8,1, 15,16,1, 16,7,0, 16,15,0, 17,5,1, // Length and number of words of that length 6, 40, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,7,1, 0,16,0, 1,0,1, 1,7,1, 3,13,0, 3,13,1, 4,12,0, 4,19,0, 5,11,0, 6,10,0, 6,17,1, 7,0,0, 7,1,0, 9,14,1, 10,6,1, 10,13,1, 10,21,0, 10,22,0, 11,5,1, 11,12,0, 11,12,1, 12,4,1, 12,11,0, 12,11,1, 13,3,0, 13,3,1, 13,10,0, 14,9,0, 16,0,1, 17,6,0, 17,21,0, 17,22,0, 19,4,1, 21,10,1, 21,17,1, 22,10,1, 22,17,1, + 0,0,0, 0,0,1, 0,1,0, 0,7,1, 0,16,0, 1,0,1, 1,7,1, 3,13,0, 3,13,1, 4,12,0, 4,19,0, 5,11,0, 6,10,0, 6,17,1, 7,0,0, 7,1,0, 9,14,1, 10,6,1, 10,13,1, 10,21,0, 10,22,0, 11,5,1, 11,12,0, 11,12,1, 12,4,1, 12,11,0, 12,11,1, 13,3,0, 13,3,1, 13,10,0, 14,9,0, 16,0,1, 17,6,0, 17,21,0, 17,22,0, 19,4,1, 21,10,1, 21,17,1, 22,10,1, 22,17,1, // Length and number of words of that length 5, 32, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 0,18,0, 0,18,1, 0,22,0, 4,0,1, 4,6,1, 4,12,1, 4,18,1, 5,5,0, 5,5,1, 6,4,0, 6,18,0, 8,9,1, 9,8,0, 9,14,0, 10,0,1, 12,4,0, 12,18,0, 12,18,1, 13,17,0, 14,9,1, 17,13,1, 18,0,0, 18,0,1, 18,4,0, 18,6,1, 18,12,0, 18,12,1, 18,18,0, 18,18,1, 22,0,1, + 0,4,0, 0,10,0, 0,18,0, 0,18,1, 0,22,0, 4,0,1, 4,6,1, 4,12,1, 4,18,1, 5,5,0, 5,5,1, 6,4,0, 6,18,0, 8,9,1, 9,8,0, 9,14,0, 10,0,1, 12,4,0, 12,18,0, 12,18,1, 13,17,0, 14,9,1, 17,13,1, 18,0,0, 18,0,1, 18,4,0, 18,6,1, 18,12,0, 18,12,1, 18,18,0, 18,18,1, 22,0,1, // Length and number of words of that length 4, 12, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,11,0, 2,6,0, 5,0,1, 6,2,1, 11,0,1, 11,19,1, 16,17,1, 17,16,0, 17,19,1, 19,11,0, 19,17,0, + 0,5,0, 0,11,0, 2,6,0, 5,0,1, 6,2,1, 11,0,1, 11,19,1, 16,17,1, 17,16,0, 17,19,1, 19,11,0, 19,17,0, // Length and number of words of that length 3, 24, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,12,0, 0,14,1, 0,19,0, 1,17,0, 3,0,1, 3,20,1, 5,19,1, 6,22,0, 9,10,1, 10,9,0, 10,13,0, 10,20,1, 12,0,1, 13,10,1, 14,0,0, 17,1,1, 19,0,1, 19,5,0, 19,20,1, 20,3,0, 20,10,0, 20,19,0, 22,6,1, + 0,3,0, 0,12,0, 0,14,1, 0,19,0, 1,17,0, 3,0,1, 3,20,1, 5,19,1, 6,22,0, 9,10,1, 10,9,0, 10,13,0, 10,20,1, 12,0,1, 13,10,1, 14,0,0, 17,1,1, 19,0,1, 19,5,0, 19,20,1, 20,3,0, 20,10,0, 20,19,0, 22,6,1, // End marker 0 }; @@ -3124,15 +3125,15 @@ namespace { // Number of black fields 1, // Black field coordinates - 1,0, + 1,0, // Length and number of words of that length 2, 2, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,1,0, + 0,0,1, 0,1,0, // Length and number of words of that length 1, 2, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 1,1,1, + 0,0,0, 1,1,1, // End marker 0 }; @@ -3150,15 +3151,15 @@ namespace { // Number of black fields 1, // Black field coordinates - 0,0, + 0,0, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,2,0, 1,0,1, 2,0,1, + 0,1,0, 0,2,0, 1,0,1, 2,0,1, // Length and number of words of that length 2, 2, // Coordinates where words start and direction (0 = horizontal) - 0,1,1, 1,0,0, + 0,1,1, 1,0,0, // End marker 0 }; @@ -3177,15 +3178,15 @@ namespace { // Number of black fields 2, // Black field coordinates - 0,3, 3,0, + 0,3, 3,0, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,2,0, 1,0,1, 2,0,1, + 0,1,0, 0,2,0, 1,0,1, 2,0,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 1,3,0, 3,1,1, + 0,0,0, 0,0,1, 1,3,0, 3,1,1, // End marker 0 }; @@ -3205,19 +3206,19 @@ namespace { // Number of black fields 6, // Black field coordinates - 0,3, 0,4, 1,4, 3,0, 4,0, 4,1, + 0,3, 0,4, 1,4, 3,0, 4,0, 4,1, // Length and number of words of that length 5, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, + 0,2,0, 2,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 1,0,1, 1,3,0, 3,1,1, + 0,1,0, 1,0,1, 1,3,0, 3,1,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 2,4,0, 4,2,1, + 0,0,0, 0,0,1, 2,4,0, 4,2,1, // End marker 0 }; @@ -3237,23 +3238,23 @@ namespace { // Number of black fields 4, // Black field coordinates - 0,4, 1,3, 3,1, 4,0, + 0,4, 1,3, 3,1, 4,0, // Length and number of words of that length 5, 2, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, + 0,2,0, 2,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 1,4,0, 4,1,1, + 0,0,0, 0,0,1, 1,4,0, 4,1,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 1,0,1, 2,3,0, 3,2,1, + 0,1,0, 1,0,1, 2,3,0, 3,2,1, // Length and number of words of that length 1, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 1,4,1, 3,0,1, 4,1,0, + 0,3,0, 1,4,1, 3,0,1, 4,1,0, // End marker 0 }; @@ -3273,19 +3274,19 @@ namespace { // Number of black fields 2, // Black field coordinates - 1,3, 3,1, + 1,3, 3,1, // Length and number of words of that length 5, 6, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,2,0, 0,4,0, 2,0,1, 4,0,1, + 0,0,0, 0,0,1, 0,2,0, 0,4,0, 2,0,1, 4,0,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 1,0,1, 2,3,0, 3,2,1, + 0,1,0, 1,0,1, 2,3,0, 3,2,1, // Length and number of words of that length 1, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 1,4,1, 3,0,1, 4,1,0, + 0,3,0, 1,4,1, 3,0,1, 4,1,0, // End marker 0 }; @@ -3306,27 +3307,27 @@ namespace { // Number of black fields 6, // Black field coordinates - 0,5, 1,1, 2,3, 3,2, 4,4, 5,0, + 0,5, 1,1, 2,3, 3,2, 4,4, 5,0, // Length and number of words of that length 5, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 1,5,0, 5,1,1, + 0,0,0, 0,0,1, 1,5,0, 5,1,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 1,2,1, 2,1,0, 4,0,1, + 0,4,0, 1,2,1, 2,1,0, 4,0,1, // Length and number of words of that length 3, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 2,0,1, 3,3,0, 3,3,1, + 0,2,0, 2,0,1, 3,3,0, 3,3,1, // Length and number of words of that length 2, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 2,4,1, 3,0,1, 4,2,0, + 0,3,0, 2,4,1, 3,0,1, 4,2,0, // Length and number of words of that length 1, 4, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 1,0,1, 4,5,1, 5,4,0, + 0,1,0, 1,0,1, 4,5,1, 5,4,0, // End marker 0 }; @@ -3348,27 +3349,27 @@ namespace { // Number of black fields 8, // Black field coordinates - 0,4, 2,2, 2,6, 3,1, 3,5, 4,0, 4,4, 6,2, + 0,4, 2,2, 2,6, 3,1, 3,5, 4,0, 4,4, 6,2, // Length and number of words of that length 7, 3, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 1,0,1, 5,0,1, + 0,3,0, 1,0,1, 5,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 3,6,0, 6,3,1, + 0,0,0, 0,0,1, 3,6,0, 6,3,1, // Length and number of words of that length 3, 9, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,5,0, 1,4,0, 2,3,1, 3,2,0, 3,2,1, 4,1,0, 4,1,1, 4,5,0, + 0,1,0, 0,5,0, 1,4,0, 2,3,1, 3,2,0, 3,2,1, 4,1,0, 4,1,1, 4,5,0, // Length and number of words of that length 2, 8, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,5,1, 0,6,0, 2,0,1, 4,5,1, 5,0,0, 5,4,0, 6,0,1, + 0,2,0, 0,5,1, 0,6,0, 2,0,1, 4,5,1, 5,0,0, 5,4,0, 6,0,1, // Length and number of words of that length 1, 2, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 3,6,1, + 3,0,1, 3,6,1, // End marker 0 }; @@ -3390,27 +3391,27 @@ namespace { // Number of black fields 14, // Black field coordinates - 0,0, 0,1, 0,5, 0,6, 1,0, 1,6, 3,2, 3,4, 5,0, 5,6, 6,0, 6,1, 6,5, 6,6, + 0,0, 0,1, 0,5, 0,6, 1,0, 1,6, 3,2, 3,4, 5,0, 5,6, 6,0, 6,1, 6,5, 6,6, // Length and number of words of that length 7, 3, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 2,0,1, 4,0,1, + 0,3,0, 2,0,1, 4,0,1, // Length and number of words of that length 5, 4, // Coordinates where words start and direction (0 = horizontal) - 1,1,0, 1,1,1, 1,5,0, 5,1,1, + 1,1,0, 1,1,1, 1,5,0, 5,1,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,2,1, 0,4,0, 2,0,0, 2,6,0, 4,2,0, 4,4,0, 6,2,1, + 0,2,0, 0,2,1, 0,4,0, 2,0,0, 2,6,0, 4,2,0, 4,4,0, 6,2,1, // Length and number of words of that length 2, 2, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 3,5,1, + 3,0,1, 3,5,1, // Length and number of words of that length 1, 1, // Coordinates where words start and direction (0 = horizontal) - 3,3,1, + 3,3,1, // End marker 0 }; @@ -3432,19 +3433,19 @@ namespace { // Number of black fields 9, // Black field coordinates - 0,3, 1,3, 3,0, 3,1, 3,3, 3,5, 3,6, 5,3, 6,3, + 0,3, 1,3, 3,0, 3,1, 3,3, 3,5, 3,6, 5,3, 6,3, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,4,0, 2,0,1, 4,0,1, + 0,2,0, 0,4,0, 2,0,1, 4,0,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,4,1, 0,5,0, 0,6,0, 1,0,1, 1,4,1, 4,0,0, 4,1,0, 4,5,0, 4,6,0, 5,0,1, 5,4,1, 6,0,1, 6,4,1, + 0,0,0, 0,0,1, 0,1,0, 0,4,1, 0,5,0, 0,6,0, 1,0,1, 1,4,1, 4,0,0, 4,1,0, 4,5,0, 4,6,0, 5,0,1, 5,4,1, 6,0,1, 6,4,1, // Length and number of words of that length 1, 4, // Coordinates where words start and direction (0 = horizontal) - 2,3,0, 3,2,1, 3,4,1, 4,3,0, + 2,3,0, 3,2,1, 3,4,1, 4,3,0, // End marker 0 }; @@ -3466,27 +3467,27 @@ namespace { // Number of black fields 11, // Black field coordinates - 0,0, 0,1, 0,6, 1,0, 3,2, 3,3, 3,4, 5,6, 6,0, 6,5, 6,6, + 0,0, 0,1, 0,6, 1,0, 3,2, 3,3, 3,4, 5,6, 6,0, 6,5, 6,6, // Length and number of words of that length 7, 2, // Coordinates where words start and direction (0 = horizontal) - 2,0,1, 4,0,1, + 2,0,1, 4,0,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 1,1,0, 1,1,1, 5,0,1, + 0,5,0, 1,1,0, 1,1,1, 5,0,1, // Length and number of words of that length 4, 4, // Coordinates where words start and direction (0 = horizontal) - 0,2,1, 1,6,0, 2,0,0, 6,1,1, + 0,2,1, 1,6,0, 2,0,0, 6,1,1, // Length and number of words of that length 3, 6, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,3,0, 0,4,0, 4,2,0, 4,3,0, 4,4,0, + 0,2,0, 0,3,0, 0,4,0, 4,2,0, 4,3,0, 4,4,0, // Length and number of words of that length 2, 2, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 3,5,1, + 3,0,1, 3,5,1, // End marker 0 }; @@ -3509,19 +3510,19 @@ namespace { // Number of black fields 12, // Black field coordinates - 0,3, 1,3, 2,3, 3,5, 3,6, 3,7, 4,0, 4,1, 4,2, 5,4, 6,4, 7,4, + 0,3, 1,3, 2,3, 3,5, 3,6, 3,7, 4,0, 4,1, 4,2, 5,4, 6,4, 7,4, // Length and number of words of that length 5, 4, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 3,0,1, 3,3,0, 4,3,1, + 0,4,0, 3,0,1, 3,3,0, 4,3,1, // Length and number of words of that length 4, 12, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,2,0, 0,4,1, 1,4,1, 2,4,1, 4,5,0, 4,6,0, 4,7,0, 5,0,1, 6,0,1, 7,0,1, + 0,0,0, 0,1,0, 0,2,0, 0,4,1, 1,4,1, 2,4,1, 4,5,0, 4,6,0, 4,7,0, 5,0,1, 6,0,1, 7,0,1, // Length and number of words of that length 3, 12, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,5,0, 0,6,0, 0,7,0, 1,0,1, 2,0,1, 5,0,0, 5,1,0, 5,2,0, 5,5,1, 6,5,1, 7,5,1, + 0,0,1, 0,5,0, 0,6,0, 0,7,0, 1,0,1, 2,0,1, 5,0,0, 5,1,0, 5,2,0, 5,5,1, 6,5,1, 7,5,1, // End marker 0 }; @@ -3545,23 +3546,23 @@ namespace { // Number of black fields 16, // Black field coordinates - 0,4, 1,4, 2,4, 3,2, 3,6, 4,0, 4,1, 4,2, 4,6, 4,7, 4,8, 5,2, 5,6, 6,4, 7,4, 8,4, + 0,4, 1,4, 2,4, 3,2, 3,6, 4,0, 4,1, 4,2, 4,6, 4,7, 4,8, 5,2, 5,6, 6,4, 7,4, 8,4, // Length and number of words of that length 9, 2, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,5,0, + 0,3,0, 0,5,0, // Length and number of words of that length 4, 20, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,7,0, 0,8,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 5,0,0, 5,1,0, 5,7,0, 5,8,0, 6,0,1, 6,5,1, 7,0,1, 7,5,1, 8,0,1, 8,5,1, + 0,0,0, 0,0,1, 0,1,0, 0,5,1, 0,7,0, 0,8,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 5,0,0, 5,1,0, 5,7,0, 5,8,0, 6,0,1, 6,5,1, 7,0,1, 7,5,1, 8,0,1, 8,5,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,6,0, 3,3,1, 3,4,0, 4,3,1, 5,3,1, 6,2,0, 6,6,0, + 0,2,0, 0,6,0, 3,3,1, 3,4,0, 4,3,1, 5,3,1, 6,2,0, 6,6,0, // Length and number of words of that length 2, 4, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 3,7,1, 5,0,1, 5,7,1, + 3,0,1, 3,7,1, 5,0,1, 5,7,1, // End marker 0 }; @@ -3586,23 +3587,23 @@ namespace { // Number of black fields 38, // Black field coordinates - 0,0, 0,1, 0,2, 0,7, 0,8, 0,9, 1,0, 1,1, 1,7, 1,8, 1,9, 2,0, 2,8, 2,9, 3,5, 3,6, 4,4, 4,5, 4,6, 5,3, 5,4, 5,5, 6,3, 6,4, 7,0, 7,1, 7,9, 8,0, 8,1, 8,2, 8,8, 8,9, 9,0, 9,1, 9,2, 9,7, 9,8, 9,9, + 0,0, 0,1, 0,2, 0,7, 0,8, 0,9, 1,0, 1,1, 1,7, 1,8, 1,9, 2,0, 2,8, 2,9, 3,5, 3,6, 4,4, 4,5, 4,6, 5,3, 5,4, 5,5, 6,3, 6,4, 7,0, 7,1, 7,9, 8,0, 8,1, 8,2, 8,8, 8,9, 9,0, 9,1, 9,2, 9,7, 9,8, 9,9, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 1,2,0, 2,1,1, 2,7,0, 7,2,1, + 1,2,0, 2,1,1, 2,7,0, 7,2,1, // Length and number of words of that length 5, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 1,2,1, 2,1,0, 3,0,1, 3,8,0, 5,6,0, 6,5,1, 8,3,1, + 0,3,0, 1,2,1, 2,1,0, 3,0,1, 3,8,0, 5,6,0, 6,5,1, 8,3,1, // Length and number of words of that length 4, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,1, 0,4,0, 3,0,0, 3,9,0, 4,0,1, 5,6,1, 6,5,0, 9,3,1, + 0,3,1, 0,4,0, 3,0,0, 3,9,0, 4,0,1, 5,6,1, 6,5,0, 9,3,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,6,0, 3,7,1, 4,7,1, 5,0,1, 6,0,1, 7,3,0, 7,4,0, + 0,5,0, 0,6,0, 3,7,1, 4,7,1, 5,0,1, 6,0,1, 7,3,0, 7,4,0, // End marker 0 }; @@ -3628,19 +3629,19 @@ namespace { // Number of black fields 26, // Black field coordinates - 0,4, 0,5, 0,6, 1,5, 2,5, 3,3, 3,7, 4,0, 4,6, 4,10, 5,0, 5,1, 5,2, 5,8, 5,9, 5,10, 6,0, 6,4, 6,10, 7,3, 7,7, 8,5, 9,5, 10,4, 10,5, 10,6, + 0,4, 0,5, 0,6, 1,5, 2,5, 3,3, 3,7, 4,0, 4,6, 4,10, 5,0, 5,1, 5,2, 5,8, 5,9, 5,10, 6,0, 6,4, 6,10, 7,3, 7,7, 8,5, 9,5, 10,4, 10,5, 10,6, // Length and number of words of that length 5, 22, // Coordinates where words start and direction (0 = horizontal) - 0,1,0, 0,2,0, 0,8,0, 0,9,0, 1,0,1, 1,4,0, 1,6,1, 2,0,1, 2,6,1, 3,5,0, 4,1,1, 5,3,1, 5,6,0, 6,1,0, 6,2,0, 6,5,1, 6,8,0, 6,9,0, 8,0,1, 8,6,1, 9,0,1, 9,6,1, + 0,1,0, 0,2,0, 0,8,0, 0,9,0, 1,0,1, 1,4,0, 1,6,1, 2,0,1, 2,6,1, 3,5,0, 4,1,1, 5,3,1, 5,6,0, 6,1,0, 6,2,0, 6,5,1, 6,8,0, 6,9,0, 8,0,1, 8,6,1, 9,0,1, 9,6,1, // Length and number of words of that length 4, 8, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,7,1, 0,10,0, 7,0,0, 7,10,0, 10,0,1, 10,7,1, + 0,0,0, 0,0,1, 0,7,1, 0,10,0, 7,0,0, 7,10,0, 10,0,1, 10,7,1, // Length and number of words of that length 3, 16, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,7,0, 1,6,0, 3,0,1, 3,4,1, 3,8,1, 4,3,0, 4,7,0, 4,7,1, 6,1,1, 7,0,1, 7,4,0, 7,4,1, 7,8,1, 8,3,0, 8,7,0, + 0,3,0, 0,7,0, 1,6,0, 3,0,1, 3,4,1, 3,8,1, 4,3,0, 4,7,0, 4,7,1, 6,1,1, 7,0,1, 7,4,0, 7,4,1, 7,8,1, 8,3,0, 8,7,0, // End marker 0 }; @@ -3668,27 +3669,27 @@ namespace { // Number of black fields 34, // Black field coordinates - 0,4, 0,9, 1,4, 1,9, 2,4, 2,9, 3,0, 3,1, 3,2, 3,7, 4,6, 4,10, 4,11, 4,12, 5,5, 6,3, 6,4, 6,8, 6,9, 7,7, 8,0, 8,1, 8,2, 8,6, 9,5, 9,10, 9,11, 9,12, 10,3, 10,8, 11,3, 11,8, 12,3, 12,8, + 0,4, 0,9, 1,4, 1,9, 2,4, 2,9, 3,0, 3,1, 3,2, 3,7, 4,6, 4,10, 4,11, 4,12, 5,5, 6,3, 6,4, 6,8, 6,9, 7,7, 8,0, 8,1, 8,2, 8,6, 9,5, 9,10, 9,11, 9,12, 10,3, 10,8, 11,3, 11,8, 12,3, 12,8, // Length and number of words of that length 7, 2, // Coordinates where words start and direction (0 = horizontal) - 5,6,1, 7,0,1, + 5,6,1, 7,0,1, // Length and number of words of that length 6, 6, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,8,0, 4,0,1, 7,4,0, 7,9,0, 8,7,1, + 0,3,0, 0,8,0, 4,0,1, 7,4,0, 7,9,0, 8,7,1, // Length and number of words of that length 5, 6, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 3,8,1, 5,0,1, 7,8,1, 8,7,0, 9,0,1, + 0,5,0, 3,8,1, 5,0,1, 7,8,1, 8,7,0, 9,0,1, // Length and number of words of that length 4, 28, // Coordinates where words start and direction (0 = horizontal) - 0,0,1, 0,5,1, 0,6,0, 0,10,0, 0,11,0, 0,12,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 3,3,1, 4,0,0, 4,1,0, 4,2,0, 5,10,0, 5,11,0, 5,12,0, 9,0,0, 9,1,0, 9,2,0, 9,6,0, 9,6,1, 10,4,1, 10,9,1, 11,4,1, 11,9,1, 12,4,1, 12,9,1, + 0,0,1, 0,5,1, 0,6,0, 0,10,0, 0,11,0, 0,12,0, 1,0,1, 1,5,1, 2,0,1, 2,5,1, 3,3,1, 4,0,0, 4,1,0, 4,2,0, 5,10,0, 5,11,0, 5,12,0, 9,0,0, 9,1,0, 9,2,0, 9,6,0, 9,6,1, 10,4,1, 10,9,1, 11,4,1, 11,9,1, 12,4,1, 12,9,1, // Length and number of words of that length 3, 26, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,1,0, 0,2,0, 0,7,0, 0,10,1, 1,10,1, 2,10,1, 3,4,0, 3,9,0, 4,7,0, 4,7,1, 5,6,0, 6,0,1, 6,5,0, 6,5,1, 6,10,1, 7,3,0, 7,8,0, 8,3,1, 10,0,1, 10,5,0, 10,10,0, 10,11,0, 10,12,0, 11,0,1, 12,0,1, + 0,0,0, 0,1,0, 0,2,0, 0,7,0, 0,10,1, 1,10,1, 2,10,1, 3,4,0, 3,9,0, 4,7,0, 4,7,1, 5,6,0, 6,0,1, 6,5,0, 6,5,1, 6,10,1, 7,3,0, 7,8,0, 8,3,1, 10,0,1, 10,5,0, 10,10,0, 10,11,0, 10,12,0, 11,0,1, 12,0,1, // End marker 0 }; @@ -3718,27 +3719,27 @@ namespace { // Number of black fields 45, // Black field coordinates - 0,3, 0,7, 0,11, 1,3, 1,7, 1,11, 2,7, 3,0, 3,1, 3,8, 3,13, 3,14, 4,5, 4,9, 5,4, 5,10, 6,3, 6,7, 7,0, 7,1, 7,2, 7,6, 7,7, 7,8, 7,12, 7,13, 7,14, 8,7, 8,11, 9,4, 9,10, 10,5, 10,9, 11,0, 11,1, 11,6, 11,13, 11,14, 12,7, 13,3, 13,7, 13,11, 14,3, 14,7, 14,11, + 0,3, 0,7, 0,11, 1,3, 1,7, 1,11, 2,7, 3,0, 3,1, 3,8, 3,13, 3,14, 4,5, 4,9, 5,4, 5,10, 6,3, 6,7, 7,0, 7,1, 7,2, 7,6, 7,7, 7,8, 7,12, 7,13, 7,14, 8,7, 8,11, 9,4, 9,10, 10,5, 10,9, 11,0, 11,1, 11,6, 11,13, 11,14, 12,7, 13,3, 13,7, 13,11, 14,3, 14,7, 14,11, // Length and number of words of that length 7, 12, // Coordinates where words start and direction (0 = horizontal) - 0,2,0, 0,6,0, 0,12,0, 2,0,1, 2,8,1, 6,8,1, 8,0,1, 8,2,0, 8,8,0, 8,12,0, 12,0,1, 12,8,1, + 0,2,0, 0,6,0, 0,12,0, 2,0,1, 2,8,1, 6,8,1, 8,0,1, 8,2,0, 8,8,0, 8,12,0, 12,0,1, 12,8,1, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 2,11,0, 3,2,1, 7,3,0, 11,7,1, + 2,11,0, 3,2,1, 7,3,0, 11,7,1, // Length and number of words of that length 5, 12, // Coordinates where words start and direction (0 = horizontal) - 0,4,0, 0,10,0, 4,0,1, 4,10,1, 5,5,0, 5,5,1, 5,9,0, 9,5,1, 10,0,1, 10,4,0, 10,10,0, 10,10,1, + 0,4,0, 0,10,0, 4,0,1, 4,10,1, 5,5,0, 5,5,1, 5,9,0, 9,5,1, 10,0,1, 10,4,0, 10,10,0, 10,10,1, // Length and number of words of that length 4, 12, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,9,0, 2,3,0, 3,9,1, 5,0,1, 5,11,1, 9,0,1, 9,11,0, 9,11,1, 11,2,1, 11,5,0, 11,9,0, + 0,5,0, 0,9,0, 2,3,0, 3,9,1, 5,0,1, 5,11,1, 9,0,1, 9,11,0, 9,11,1, 11,2,1, 11,5,0, 11,9,0, // Length and number of words of that length 3, 48, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,4,1, 0,8,0, 0,8,1, 0,12,1, 0,13,0, 0,14,0, 1,0,1, 1,4,1, 1,8,1, 1,12,1, 3,7,0, 4,0,0, 4,1,0, 4,6,1, 4,8,0, 4,13,0, 4,14,0, 6,0,1, 6,4,0, 6,4,1, 6,10,0, 7,3,1, 7,9,1, 8,0,0, 8,1,0, 8,6,0, 8,8,1, 8,12,1, 8,13,0, 8,14,0, 9,7,0, 10,6,1, 12,0,0, 12,1,0, 12,6,0, 12,13,0, 12,14,0, 13,0,1, 13,4,1, 13,8,1, 13,12,1, 14,0,1, 14,4,1, 14,8,1, 14,12,1, + 0,0,0, 0,0,1, 0,1,0, 0,4,1, 0,8,0, 0,8,1, 0,12,1, 0,13,0, 0,14,0, 1,0,1, 1,4,1, 1,8,1, 1,12,1, 3,7,0, 4,0,0, 4,1,0, 4,6,1, 4,8,0, 4,13,0, 4,14,0, 6,0,1, 6,4,0, 6,4,1, 6,10,0, 7,3,1, 7,9,1, 8,0,0, 8,1,0, 8,6,0, 8,8,1, 8,12,1, 8,13,0, 8,14,0, 9,7,0, 10,6,1, 12,0,0, 12,1,0, 12,6,0, 12,13,0, 12,14,0, 13,0,1, 13,4,1, 13,8,1, 13,12,1, 14,0,1, 14,4,1, 14,8,1, 14,12,1, // End marker 0 }; @@ -3768,23 +3769,23 @@ namespace { // Number of black fields 48, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,4, 3,5, 3,9, 4,0, 4,1, 4,2, 4,6, 4,7, 4,11, 4,12, 4,13, 4,14, 5,3, 5,7, 5,11, 6,10, 7,4, 7,5, 7,9, 7,10, 8,4, 9,3, 9,7, 9,11, 10,0, 10,1, 10,2, 10,3, 10,7, 10,8, 10,12, 10,13, 10,14, 11,5, 11,9, 11,10, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,4, 3,5, 3,9, 4,0, 4,1, 4,2, 4,6, 4,7, 4,11, 4,12, 4,13, 4,14, 5,3, 5,7, 5,11, 6,10, 7,4, 7,5, 7,9, 7,10, 8,4, 9,3, 9,7, 9,11, 10,0, 10,1, 10,2, 10,3, 10,7, 10,8, 10,12, 10,13, 10,14, 11,5, 11,9, 11,10, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 10, 4, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 5,6,0, 6,0,1, 8,5,1, + 0,8,0, 5,6,0, 6,0,1, 8,5,1, // Length and number of words of that length 5, 16, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,5,1, 1,5,1, 2,5,1, 3,10,1, 5,0,0, 5,1,0, 5,2,0, 5,12,0, 5,13,0, 5,14,0, 10,11,0, 11,0,1, 12,5,1, 13,5,1, 14,5,1, + 0,3,0, 0,5,1, 1,5,1, 2,5,1, 3,10,1, 5,0,0, 5,1,0, 5,2,0, 5,12,0, 5,13,0, 5,14,0, 10,11,0, 11,0,1, 12,5,1, 13,5,1, 14,5,1, // Length and number of words of that length 4, 36, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,7,0, 0,11,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,0,1, 6,11,1, 7,0,1, 7,11,1, 8,0,1, 11,0,0, 11,1,0, 11,2,0, 11,3,0, 11,7,0, 11,8,0, 11,11,1, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,7,0, 0,11,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 3,0,1, 6,11,1, 7,0,1, 7,11,1, 8,0,1, 11,0,0, 11,1,0, 11,2,0, 11,3,0, 11,7,0, 11,8,0, 11,11,1, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 30, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,9,0, 3,6,1, 3,10,0, 4,3,1, 4,4,0, 4,5,0, 4,8,1, 4,9,0, 5,0,1, 5,4,1, 5,8,1, 5,12,1, 6,3,0, 6,7,0, 6,11,0, 7,6,1, 8,5,0, 8,9,0, 8,10,0, 9,0,1, 9,4,0, 9,4,1, 9,8,1, 9,12,1, 10,4,1, 10,9,1, 11,6,1, 12,5,0, 12,9,0, + 0,5,0, 0,9,0, 3,6,1, 3,10,0, 4,3,1, 4,4,0, 4,5,0, 4,8,1, 4,9,0, 5,0,1, 5,4,1, 5,8,1, 5,12,1, 6,3,0, 6,7,0, 6,11,0, 7,6,1, 8,5,0, 8,9,0, 8,10,0, 9,0,1, 9,4,0, 9,4,1, 9,8,1, 9,12,1, 10,4,1, 10,9,1, 11,6,1, 12,5,0, 12,9,0, // End marker 0 }; @@ -3814,35 +3815,35 @@ namespace { // Number of black fields 38, // Black field coordinates - 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,8, 4,0, 4,1, 4,2, 4,6, 4,7, 4,12, 4,13, 4,14, 5,5, 5,9, 6,4, 7,3, 7,11, 8,10, 9,5, 9,9, 10,0, 10,1, 10,2, 10,7, 10,8, 10,12, 10,13, 10,14, 11,6, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, + 0,4, 0,10, 1,4, 1,10, 2,4, 2,10, 3,8, 4,0, 4,1, 4,2, 4,6, 4,7, 4,12, 4,13, 4,14, 5,5, 5,9, 6,4, 7,3, 7,11, 8,10, 9,5, 9,9, 10,0, 10,1, 10,2, 10,7, 10,8, 10,12, 10,13, 10,14, 11,6, 12,4, 12,10, 13,4, 13,10, 14,4, 14,10, // Length and number of words of that length 10, 2, // Coordinates where words start and direction (0 = horizontal) - 6,5,1, 8,0,1, + 6,5,1, 8,0,1, // Length and number of words of that length 8, 2, // Coordinates where words start and direction (0 = horizontal) - 3,0,1, 11,7,1, + 3,0,1, 11,7,1, // Length and number of words of that length 7, 5, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,11,0, 7,4,1, 8,3,0, 8,11,0, + 0,3,0, 0,11,0, 7,4,1, 8,3,0, 8,11,0, // Length and number of words of that length 6, 4, // Coordinates where words start and direction (0 = horizontal) - 3,9,1, 4,8,0, 5,6,0, 11,0,1, + 3,9,1, 4,8,0, 5,6,0, 11,0,1, // Length and number of words of that length 5, 23, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,5,1, 0,9,0, 1,5,1, 2,5,1, 3,10,0, 5,0,0, 5,0,1, 5,1,0, 5,2,0, 5,7,0, 5,10,1, 5,12,0, 5,13,0, 5,14,0, 7,4,0, 9,0,1, 9,10,1, 10,5,0, 10,9,0, 12,5,1, 13,5,1, 14,5,1, + 0,5,0, 0,5,1, 0,9,0, 1,5,1, 2,5,1, 3,10,0, 5,0,0, 5,0,1, 5,1,0, 5,2,0, 5,7,0, 5,10,1, 5,12,0, 5,13,0, 5,14,0, 7,4,0, 9,0,1, 9,10,1, 10,5,0, 10,9,0, 12,5,1, 13,5,1, 14,5,1, // Length and number of words of that length 4, 32, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,7,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 4,8,1, 6,0,1, 8,11,1, 10,3,1, 11,0,0, 11,1,0, 11,2,0, 11,7,0, 11,8,0, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,7,0, 0,11,1, 0,12,0, 0,13,0, 0,14,0, 1,0,1, 1,11,1, 2,0,1, 2,11,1, 4,8,1, 6,0,1, 8,11,1, 10,3,1, 11,0,0, 11,1,0, 11,2,0, 11,7,0, 11,8,0, 11,12,0, 11,13,0, 11,14,0, 12,0,1, 12,11,1, 13,0,1, 13,11,1, 14,0,1, 14,11,1, // Length and number of words of that length 3, 12, // Coordinates where words start and direction (0 = horizontal) - 0,8,0, 3,4,0, 4,3,1, 5,6,1, 6,5,0, 6,9,0, 7,0,1, 7,12,1, 9,6,1, 9,10,0, 10,9,1, 12,6,0, + 0,8,0, 3,4,0, 4,3,1, 5,6,1, 6,5,0, 6,9,0, 7,0,1, 7,12,1, 9,6,1, 9,10,0, 10,9,1, 12,6,0, // End marker 0 }; @@ -3866,23 +3867,23 @@ namespace { // Number of black fields 29, // Black field coordinates - 0,0, 0,1, 0,2, 0,6, 0,7, 0,8, 1,0, 1,1, 1,7, 1,8, 2,0, 2,8, 3,4, 4,3, 4,4, 4,5, 5,4, 6,0, 6,8, 7,0, 7,1, 7,7, 7,8, 8,0, 8,1, 8,2, 8,6, 8,7, 8,8, + 0,0, 0,1, 0,2, 0,6, 0,7, 0,8, 1,0, 1,1, 1,7, 1,8, 2,0, 2,8, 3,4, 4,3, 4,4, 4,5, 5,4, 6,0, 6,8, 7,0, 7,1, 7,7, 7,8, 8,0, 8,1, 8,2, 8,6, 8,7, 8,8, // Length and number of words of that length 7, 4, // Coordinates where words start and direction (0 = horizontal) - 1,2,0, 1,6,0, 2,1,1, 6,1,1, + 1,2,0, 1,6,0, 2,1,1, 6,1,1, // Length and number of words of that length 5, 4, // Coordinates where words start and direction (0 = horizontal) - 1,2,1, 2,1,0, 2,7,0, 7,2,1, + 1,2,1, 2,1,0, 2,7,0, 7,2,1, // Length and number of words of that length 4, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,5,0, 3,0,1, 3,5,1, 5,0,1, 5,3,0, 5,5,0, 5,5,1, + 0,3,0, 0,5,0, 3,0,1, 3,5,1, 5,0,1, 5,3,0, 5,5,0, 5,5,1, // Length and number of words of that length 3, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,1, 0,4,0, 3,0,0, 3,8,0, 4,0,1, 4,6,1, 6,4,0, 8,3,1, + 0,3,1, 0,4,0, 3,0,0, 3,8,0, 4,0,1, 4,6,1, 6,4,0, 8,3,1, // End marker 0 }; @@ -3910,23 +3911,23 @@ namespace { // Number of black fields 41, // Black field coordinates - 0,4, 0,8, 1,4, 1,8, 2,4, 2,8, 3,6, 4,0, 4,1, 4,2, 4,6, 4,10, 4,11, 4,12, 5,5, 5,6, 5,7, 6,3, 6,4, 6,5, 6,6, 6,7, 6,8, 6,9, 7,5, 7,6, 7,7, 8,0, 8,1, 8,2, 8,6, 8,10, 8,11, 8,12, 9,6, 10,4, 10,8, 11,4, 11,8, 12,4, 12,8, + 0,4, 0,8, 1,4, 1,8, 2,4, 2,8, 3,6, 4,0, 4,1, 4,2, 4,6, 4,10, 4,11, 4,12, 5,5, 5,6, 5,7, 6,3, 6,4, 6,5, 6,6, 6,7, 6,8, 6,9, 7,5, 7,6, 7,7, 8,0, 8,1, 8,2, 8,6, 8,10, 8,11, 8,12, 9,6, 10,4, 10,8, 11,4, 11,8, 12,4, 12,8, // Length and number of words of that length 6, 8, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 3,0,1, 3,7,1, 7,3,0, 7,9,0, 9,0,1, 9,7,1, + 0,3,0, 0,9,0, 3,0,1, 3,7,1, 7,3,0, 7,9,0, 9,0,1, 9,7,1, // Length and number of words of that length 5, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,7,0, 5,0,1, 5,8,1, 7,0,1, 7,8,1, 8,5,0, 8,7,0, + 0,5,0, 0,7,0, 5,0,1, 5,8,1, 7,0,1, 7,8,1, 8,5,0, 8,7,0, // Length and number of words of that length 4, 24, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,9,1, 0,10,0, 0,11,0, 0,12,0, 1,0,1, 1,9,1, 2,0,1, 2,9,1, 9,0,0, 9,1,0, 9,2,0, 9,10,0, 9,11,0, 9,12,0, 10,0,1, 10,9,1, 11,0,1, 11,9,1, 12,0,1, 12,9,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,9,1, 0,10,0, 0,11,0, 0,12,0, 1,0,1, 1,9,1, 2,0,1, 2,9,1, 9,0,0, 9,1,0, 9,2,0, 9,10,0, 9,11,0, 9,12,0, 10,0,1, 10,9,1, 11,0,1, 11,9,1, 12,0,1, 12,9,1, // Length and number of words of that length 3, 24, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 0,6,0, 1,5,1, 2,5,1, 3,4,0, 3,8,0, 4,3,1, 4,7,1, 5,0,0, 5,1,0, 5,2,0, 5,10,0, 5,11,0, 5,12,0, 6,0,1, 6,10,1, 7,4,0, 7,8,0, 8,3,1, 8,7,1, 10,5,1, 10,6,0, 11,5,1, 12,5,1, + 0,5,1, 0,6,0, 1,5,1, 2,5,1, 3,4,0, 3,8,0, 4,3,1, 4,7,1, 5,0,0, 5,1,0, 5,2,0, 5,10,0, 5,11,0, 5,12,0, 6,0,1, 6,10,1, 7,4,0, 7,8,0, 8,3,1, 8,7,1, 10,5,1, 10,6,0, 11,5,1, 12,5,1, // End marker 0 }; @@ -3954,35 +3955,35 @@ namespace { // Number of black fields 37, // Black field coordinates - 0,4, 0,8, 1,4, 1,8, 2,4, 2,8, 4,0, 4,1, 4,2, 4,6, 4,10, 4,11, 4,12, 5,5, 5,6, 5,7, 6,4, 6,5, 6,6, 6,7, 6,8, 7,5, 7,6, 7,7, 8,0, 8,1, 8,2, 8,6, 8,10, 8,11, 8,12, 10,4, 10,8, 11,4, 11,8, 12,4, 12,8, + 0,4, 0,8, 1,4, 1,8, 2,4, 2,8, 4,0, 4,1, 4,2, 4,6, 4,10, 4,11, 4,12, 5,5, 5,6, 5,7, 6,4, 6,5, 6,6, 6,7, 6,8, 7,5, 7,6, 7,7, 8,0, 8,1, 8,2, 8,6, 8,10, 8,11, 8,12, 10,4, 10,8, 11,4, 11,8, 12,4, 12,8, // Length and number of words of that length 13, 4, // Coordinates where words start and direction (0 = horizontal) - 0,3,0, 0,9,0, 3,0,1, 9,0,1, + 0,3,0, 0,9,0, 3,0,1, 9,0,1, // Length and number of words of that length 5, 8, // Coordinates where words start and direction (0 = horizontal) - 0,5,0, 0,7,0, 5,0,1, 5,8,1, 7,0,1, 7,8,1, 8,5,0, 8,7,0, + 0,5,0, 0,7,0, 5,0,1, 5,8,1, 7,0,1, 7,8,1, 8,5,0, 8,7,0, // Length and number of words of that length 4, 28, // Coordinates where words start and direction (0 = horizontal) - 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,9,1, 0,10,0, 0,11,0, 0,12,0, 1,0,1, 1,9,1, 2,0,1, 2,9,1, 6,0,1, 6,9,1, 9,0,0, 9,1,0, 9,2,0, 9,6,0, 9,10,0, 9,11,0, 9,12,0, 10,0,1, 10,9,1, 11,0,1, 11,9,1, 12,0,1, 12,9,1, + 0,0,0, 0,0,1, 0,1,0, 0,2,0, 0,6,0, 0,9,1, 0,10,0, 0,11,0, 0,12,0, 1,0,1, 1,9,1, 2,0,1, 2,9,1, 6,0,1, 6,9,1, 9,0,0, 9,1,0, 9,2,0, 9,6,0, 9,10,0, 9,11,0, 9,12,0, 10,0,1, 10,9,1, 11,0,1, 11,9,1, 12,0,1, 12,9,1, // Length and number of words of that length 3, 20, // Coordinates where words start and direction (0 = horizontal) - 0,5,1, 1,5,1, 2,5,1, 3,4,0, 3,8,0, 4,3,1, 4,7,1, 5,0,0, 5,1,0, 5,2,0, 5,10,0, 5,11,0, 5,12,0, 7,4,0, 7,8,0, 8,3,1, 8,7,1, 10,5,1, 11,5,1, 12,5,1, + 0,5,1, 1,5,1, 2,5,1, 3,4,0, 3,8,0, 4,3,1, 4,7,1, 5,0,0, 5,1,0, 5,2,0, 5,10,0, 5,11,0, 5,12,0, 7,4,0, 7,8,0, 8,3,1, 8,7,1, 10,5,1, 11,5,1, 12,5,1, // End marker 0 }; const int* grids[] = { - &g0[0], &g1[0], &g2[0], &g3[0], &g4[0], &g5[0], &g6[0], &g7[0], &g8[0], - &g9[0], &g10[0], &g11[0], &g12[0], &g13[0], &g14[0], &g15[0], &g16[0], - &g17[0], &g18[0], &g19[0], &g20[0], &g21[0], &g22[0], &g23[0], &g24[0], - &g25[0], &g26[0], &g27[0], &g28[0], &g29[0], &g30[0], &g31[0], &g32[0], - &g33[0], &g34[0], &g35[0], &g36[0], &g37[0], &g38[0], &g39[0], &g40[0], - &g41[0], &g42[0], &g43[0], &g44[0], &g45[0], &g46[0], &g47[0], &g48[0], + &g0[0], &g1[0], &g2[0], &g3[0], &g4[0], &g5[0], &g6[0], &g7[0], &g8[0], + &g9[0], &g10[0], &g11[0], &g12[0], &g13[0], &g14[0], &g15[0], &g16[0], + &g17[0], &g18[0], &g19[0], &g20[0], &g21[0], &g22[0], &g23[0], &g24[0], + &g25[0], &g26[0], &g27[0], &g28[0], &g29[0], &g30[0], &g31[0], &g32[0], + &g33[0], &g34[0], &g35[0], &g36[0], &g37[0], &g38[0], &g39[0], &g40[0], + &g41[0], &g42[0], &g43[0], &g44[0], &g45[0], &g46[0], &g47[0], &g48[0], &g49[0], &g50[0], &g51[0], &g52[0], &g53[0], &g54[0], &g55[0], &g56[0], &g57[0], &g58[0], &g59[0], &g60[0], &g61[0], &g62[0], &g63[0], &g64[0], &g65[0], &g66[0], &g67[0], &g68[0], &g69[0], &g70[0], &g71[0] diff --git a/examples/crowded-chess.cpp b/examples/crowded-chess.cpp index 8847866b1b..410026a68d 100755 --- a/examples/crowded-chess.cpp +++ b/examples/crowded-chess.cpp @@ -236,7 +236,7 @@ class CrowdedChess : public Script { /// The model of the problem CrowdedChess(const SizeOptions& opt) - : Script(opt), + : Script(opt), n(opt.size()), s(*this, n*n, 0, PMAX-1), queens(*this, n, 0, n-1), @@ -255,33 +255,33 @@ class CrowdedChess : public Script { // Basic model // *********************** - count(*this, s, E, IRT_EQ, e, opt.icl()); - count(*this, s, Q, IRT_EQ, q, opt.icl()); - count(*this, s, R, IRT_EQ, r, opt.icl()); - count(*this, s, B, IRT_EQ, b, opt.icl()); - count(*this, s, K, IRT_EQ, k, opt.icl()); + count(*this, s, E, IRT_EQ, e, opt.ipl()); + count(*this, s, Q, IRT_EQ, q, opt.ipl()); + count(*this, s, R, IRT_EQ, r, opt.ipl()); + count(*this, s, B, IRT_EQ, b, opt.ipl()); + count(*this, s, K, IRT_EQ, k, opt.ipl()); // Collect rows and columns for handling rooks and queens for (int i = 0; i < n; ++i) { IntVarArgs aa = m.row(i), bb = m.col(i); - count(*this, aa, Q, IRT_EQ, 1, opt.icl()); - count(*this, bb, Q, IRT_EQ, 1, opt.icl()); - count(*this, aa, R, IRT_EQ, 1, opt.icl()); - count(*this, bb, R, IRT_EQ, 1, opt.icl()); + count(*this, aa, Q, IRT_EQ, 1, opt.ipl()); + count(*this, bb, Q, IRT_EQ, 1, opt.ipl()); + count(*this, aa, R, IRT_EQ, 1, opt.ipl()); + count(*this, bb, R, IRT_EQ, 1, opt.ipl()); // Connect (queens|rooks)[i] to the row it is in - element(*this, aa, queens[i], Q, ICL_DOM); - element(*this, aa, rooks[i], R, ICL_DOM); + element(*this, aa, queens[i], Q, IPL_DOM); + element(*this, aa, rooks[i], R, IPL_DOM); } // N-queens constraints - distinct(*this, queens, ICL_DOM); - distinct(*this, IntArgs::create(n,0,1), queens, ICL_DOM); - distinct(*this, IntArgs::create(n,0,-1), queens, ICL_DOM); + distinct(*this, queens, IPL_DOM); + distinct(*this, IntArgs::create(n,0,1), queens, IPL_DOM); + distinct(*this, IntArgs::create(n,0,-1), queens, IPL_DOM); // N-rooks constraints - distinct(*this, rooks, ICL_DOM); + distinct(*this, rooks, IPL_DOM); // Collect diagonals for handling queens and bishops for (int l = n; l--; ) { @@ -294,22 +294,22 @@ class CrowdedChess : public Script { d4[i] = m((n-1)-i, i+il); } - count(*this, d1, Q, IRT_LQ, 1, opt.icl()); - count(*this, d2, Q, IRT_LQ, 1, opt.icl()); - count(*this, d3, Q, IRT_LQ, 1, opt.icl()); - count(*this, d4, Q, IRT_LQ, 1, opt.icl()); + count(*this, d1, Q, IRT_LQ, 1, opt.ipl()); + count(*this, d2, Q, IRT_LQ, 1, opt.ipl()); + count(*this, d3, Q, IRT_LQ, 1, opt.ipl()); + count(*this, d4, Q, IRT_LQ, 1, opt.ipl()); if (opt.propagation() == PROP_DECOMPOSE) { - count(*this, d1, B, IRT_LQ, 1, opt.icl()); - count(*this, d2, B, IRT_LQ, 1, opt.icl()); - count(*this, d3, B, IRT_LQ, 1, opt.icl()); - count(*this, d4, B, IRT_LQ, 1, opt.icl()); + count(*this, d1, B, IRT_LQ, 1, opt.ipl()); + count(*this, d2, B, IRT_LQ, 1, opt.ipl()); + count(*this, d3, B, IRT_LQ, 1, opt.ipl()); + count(*this, d4, B, IRT_LQ, 1, opt.ipl()); } } if (opt.propagation() == PROP_TUPLE_SET) { IntVarArgs b(s.size()); for (int i = s.size(); i--; ) b[i] = channel(*this, expr(*this, (s[i] == B))); - extensional(*this, b, bishops, EPK_DEF, opt.icl()); + extensional(*this, b, bishops, opt.ipl()); } // Handle knigths @@ -409,7 +409,7 @@ main(int argc, char* argv[]) { opt.propagation(CrowdedChess::PROP_DECOMPOSE, "decompose", "Use decomposed propagation for bishops-placement"); - opt.icl(ICL_DOM); + opt.ipl(IPL_DOM); opt.size(8); opt.parse(argc,argv); if (opt.size() < 5) { diff --git a/examples/descartes-folium.cpp b/examples/descartes-folium.cpp index aeb5b221e4..5abefb95d3 100644 --- a/examples/descartes-folium.cpp +++ b/examples/descartes-folium.cpp @@ -49,18 +49,18 @@ using namespace Gecode; * \f[ * x^3 + y^3 - 3axy = 0 * \f] - * + * * A technique to solve it, is to write \f$y=px\f$ and solve for * \f$x\f$ and \f$y\f$ in terms of \f$p\f$. By setting * \f$a=1\f$, it yields to the paramatric equation: - * + * * \f[ * x^3 + y^3 - 3xy = 0 * \f] * \f[ * x=\frac{3p}{1+p^3},\quad y=\frac{3p^2}{1+p^3} * \f] - * + * * The parameter \f$p\f$ is related to the position on the curve * and is constrained to get different solutions for \f$x\f$ and * \f$y\f$. To get reasonable interval starting sizes, \f$p\f$ @@ -77,8 +77,12 @@ class DescartesFolium : public FloatMaximizeScript { double step; public: /// Actual model - DescartesFolium(const Options& opt) + DescartesFolium(const Options& opt) : FloatMaximizeScript(opt), f(*this,3,-20,20) { + + if (opt.trace() != 0) + trace(*this, f, opt.trace()); + // Post equation FloatVar p = f[0]; FloatVar x = f[1]; @@ -91,13 +95,13 @@ class DescartesFolium : public FloatMaximizeScript { branch(*this,p,FLOAT_VAL_SPLIT_MIN()); } /// Constructor for cloning \a p - DescartesFolium(bool share, DescartesFolium& p) + DescartesFolium(bool share, DescartesFolium& p) : FloatMaximizeScript(share,p) { f.update(*this,share,p.f); } /// Copy during cloning - virtual Space* copy(bool share) { - return new DescartesFolium(share,*this); + virtual Space* copy(bool share) { + return new DescartesFolium(share,*this); } /// Cost function virtual FloatVar cost(void) const { diff --git a/examples/dominating-queens.cpp b/examples/dominating-queens.cpp index f3625df646..bf2e90cdac 100755 --- a/examples/dominating-queens.cpp +++ b/examples/dominating-queens.cpp @@ -49,7 +49,7 @@ using namespace Gecode; * * The model is taken from: C. Bessiere, E. Hebrard, B. Hnich, * Z. Kiziltan, and T. Walsh, Filtering Algorithms for the NValue - * Constraint, Constraints, 11(4), 271-293, 2006. + * Constraint, Constraints, 11(4), 271-293, 2006. * * \ingroup Example * @@ -118,7 +118,7 @@ class DominatingQueens : public IntMinimizeScript { } /// Constructor for cloning \a s - DominatingQueens(bool share, DominatingQueens& s) + DominatingQueens(bool share, DominatingQueens& s) : IntMinimizeScript(share,s), n(s.n) { b.update(*this, share, s.b); q.update(*this, share, s.q); diff --git a/examples/domino.cpp b/examples/domino.cpp index aca4208cb1..24e3edcc72 100644 --- a/examples/domino.cpp +++ b/examples/domino.cpp @@ -90,7 +90,7 @@ class Domino : public Script { /// Actual model Domino(const SizeOptions& opt) - : Script(opt), + : Script(opt), spec(specs[opt.size()]), width(spec[0]), height(spec[1]), x(*this, (width+1)*height, 0, 28) { @@ -130,7 +130,7 @@ class Domino : public Script { // in the next row. IntVar diff(*this, possibleDiffs); abs(*this, expr(*this, p1[dominoCount]-p2[dominoCount]), - diff, ICL_DOM); + diff, IPL_DOM); // If the piece is symmetrical, order the locations if (i == j) diff --git a/examples/donald.cpp b/examples/donald.cpp index 75fd571e16..5ee7d03998 100644 --- a/examples/donald.cpp +++ b/examples/donald.cpp @@ -71,25 +71,25 @@ class Donald : public Script { rel(*this, g, IRT_NQ, 0); rel(*this, r, IRT_NQ, 0); - distinct(*this, le, opt.icl()); + distinct(*this, le, opt.ipl()); switch (opt.model()) { case MODEL_SINGLE: rel(*this, 100000*d+10000*o+1000*n+100*a+10*l+d + 100000*g+10000*e+1000*r+100*a+10*l+d == 100000*r+10000*o+1000*b+100*e+10*r+t, - opt.icl()); + opt.ipl()); break; case MODEL_CARRY: { IntVar c0(*this,0,1), c1(*this,0,1), c2(*this,0,1), c3(*this,0,1), c4(*this,0,1); - rel(*this, d+d == t+10*c0, opt.icl()); - rel(*this, c0+l+l == r+10*c1, opt.icl()); - rel(*this, c1+a+a == e+10*c2, opt.icl()); - rel(*this, c2+n+r == b+10*c3, opt.icl()); - rel(*this, c3+o+e == o+10*c4, opt.icl()); - rel(*this, c4+d+g == r, opt.icl()); + rel(*this, d+d == t+10*c0, opt.ipl()); + rel(*this, c0+l+l == r+10*c1, opt.ipl()); + rel(*this, c1+a+a == e+10*c2, opt.ipl()); + rel(*this, c2+n+r == b+10*c3, opt.ipl()); + rel(*this, c3+o+e == o+10*c4, opt.ipl()); + rel(*this, c4+d+g == r, opt.ipl()); } break; default: GECODE_NEVER; diff --git a/examples/efpa.cpp b/examples/efpa.cpp index 5f6570a036..1e3e759d5a 100644 --- a/examples/efpa.cpp +++ b/examples/efpa.cpp @@ -63,7 +63,7 @@ class EFPAOptions : public Options { _q("-q", "number of symbols", q0 ), _l("-l", "sets of symbols per sequence (lambda)", lambda0), _d("-d", "Hamming distance between sequences", d0 ), - _permutation("-permutation", "use permutation constraints if d=4", + _permutation("-permutation", "use permutation constraints if d=4", false) { // Add options @@ -129,7 +129,7 @@ class EFPA : public Script { public: /// Actual model EFPA(const EFPAOptions& opt) - : Script(opt), + : Script(opt), v(opt.v()), q(opt.q()), l(opt.l()), @@ -151,9 +151,9 @@ class EFPA : public Script { for (int i = q; i--; ) values[i] = i+1; IntSet cardinality(l, l); for (int i = v; i--; ) - count(*this, cm.row(i), cardinality, values, opt.icl()); + count(*this, cm.row(i), cardinality, values, opt.ipl()); } - + // Difference variables { int nseqi = 0; @@ -210,13 +210,13 @@ class EFPA : public Script { for (int r2 = r1+1; r2 < v; ++r2) { IntVarArgs row1 = cm.row(r1); IntVarArgs row2 = cm.row(r2); - // Perm is the + // Perm is the IntVarArgs perm(d); for (int i = d; i--; ) perm[i] = IntVar(*this, 0, n-1); // cform is the cycle-form of the permutation IntVar cform(*this, 0, 1); BoolVar cformb = channel(*this, cform); - + /* Permutation mapping*/ // Values from row1... IntVarArgs _p(2*d); @@ -253,7 +253,7 @@ class EFPA : public Script { rel(*this, (!p1b[i] && !p2b[i] && !p3b[i] && !p4b[i]) == (row1[i] == row2[i])); } - + /* Constraints for fixing the permutation */ // Common non-equality constraints - derangements rel(*this, perm[0], IRT_NQ, perm[1]); @@ -289,7 +289,7 @@ class EFPA : public Script { } /// Constructor for cloning \a s - EFPA(bool share, EFPA& s) + EFPA(bool share, EFPA& s) : Script(share,s), v(s.v), q(s.q), @@ -314,7 +314,7 @@ class EFPA : public Script { int main(int argc, char* argv[]) { EFPAOptions opt("Equidistant Frequency Permutation Arrays"); - opt.icl(ICL_DOM); + opt.ipl(IPL_DOM); opt.parse(argc,argv); Script::run(opt); diff --git a/examples/eq20.cpp b/examples/eq20.cpp index cb9e26fce7..5da3978fa6 100644 --- a/examples/eq20.cpp +++ b/examples/eq20.cpp @@ -87,7 +87,7 @@ class Eq20 : public Script { for (int i = e_n; i--; ) { IntArgs c(x_n, eqs[i][1],eqs[i][2],eqs[i][3],eqs[i][4], eqs[i][5],eqs[i][6],eqs[i][7]); - linear(*this, c, x, IRT_EQ, eqs[i][0], opt.icl()); + linear(*this, c, x, IRT_EQ, eqs[i][0], opt.ipl()); } branch(*this, x, INT_VAR_NONE(), INT_VAL_MIN()); } diff --git a/examples/golden-spiral.cpp b/examples/golden-spiral.cpp index 55ada7f351..2ce441a31d 100644 --- a/examples/golden-spiral.cpp +++ b/examples/golden-spiral.cpp @@ -56,11 +56,11 @@ using namespace Gecode; * \f[ * \operatorname{abs}(b) = \frac{\operatorname{ln}(\phi)}{\frac{\pi}{2}} * \f] - * + * * To get cartesian coordinates, it can be solved for \f$x\f$ * and \f$y\f$ in terms of \f$r\f$ and \f$\theta\f$. * By setting \f$a=1\f$, it yields to the equation: - * + * * \f[ * r = e^{0.30649\times\theta} * \f] @@ -68,10 +68,10 @@ using namespace Gecode; * \f[ * x=r\operatorname{cos}(\theta), \quad y=r\operatorname{sin}(\theta) * \f] - * + * * The tuple \f$(r,\theta)\f$ is related to the position for * \f$x\f$ and \f$y\f$ on the curve. \f$r\f$ and \f$\theta\f$ - * are positive numbers. + * are positive numbers. * * To get reasonable interval starting sizes, \f$x\f$ and \f$y\f$ * are restricted to \f$[-20;20]\f$. @@ -84,7 +84,7 @@ class GoldenSpiral : public FloatMaximizeScript { FloatVarArray f; public: /// Actual model - GoldenSpiral(const Options& opt) + GoldenSpiral(const Options& opt) : FloatMaximizeScript(opt), f(*this,4,-20,20) { // Post equation FloatVar theta = f[0]; @@ -100,13 +100,13 @@ class GoldenSpiral : public FloatMaximizeScript { branch(*this,theta,FLOAT_VAL_SPLIT_MIN()); } /// Constructor for cloning \a p - GoldenSpiral(bool share, GoldenSpiral& p) + GoldenSpiral(bool share, GoldenSpiral& p) : FloatMaximizeScript(share,p) { f.update(*this,share,p.f); } /// Copy during cloning - virtual Space* copy(bool share) { - return new GoldenSpiral(share,*this); + virtual Space* copy(bool share) { + return new GoldenSpiral(share,*this); } /// Cost function virtual FloatVar cost(void) const { diff --git a/examples/golf.cpp b/examples/golf.cpp index 8cc39259d1..b79b3e2bf8 100755 --- a/examples/golf.cpp +++ b/examples/golf.cpp @@ -92,8 +92,8 @@ class Golf : public Script { SetVarArray groups; /// Actual model - Golf(const GolfOptions& opt) - : Script(opt), + Golf(const GolfOptions& opt) + : Script(opt), g(opt.g()), s(opt.s()), w(opt.w()), groups(*this,g*w,IntSet::empty,0,g*s-1,s,s) { Matrix schedule(groups,g,w); diff --git a/examples/golomb-ruler.cpp b/examples/golomb-ruler.cpp index d001f8aa7d..63cfe65b8d 100644 --- a/examples/golomb-ruler.cpp +++ b/examples/golomb-ruler.cpp @@ -94,7 +94,7 @@ class GolombRuler : public IntMinimizeScript { rel(*this, d[k] = expr(*this, m[j]-m[i]), IRT_GQ, (j-i)*(j-i+1)/2); - distinct(*this, d, opt.icl()); + distinct(*this, d, opt.ipl()); // Symmetry breaking if (n > 2) @@ -134,7 +134,7 @@ main(int argc, char* argv[]) { SizeOptions opt("GolombRuler"); opt.solutions(0); opt.size(10); - opt.icl(ICL_BND); + opt.ipl(IPL_BND); opt.parse(argc,argv); if (opt.size() > 0) IntMinimizeScript::run(opt); diff --git a/examples/graph-color.cpp b/examples/graph-color.cpp index 16313a5039..3397dcc51f 100755 --- a/examples/graph-color.cpp +++ b/examples/graph-color.cpp @@ -356,7 +356,7 @@ class GraphColor : public IntMinimizeScript { IntVarArgs x(n); c++; for (int i = n; i--; c++) x[i] = v[*c]; - distinct(*this, x, opt.icl()); + distinct(*this, x, opt.ipl()); if (opt.model() == MODEL_CLIQUE) rel(*this, m, IRT_GQ, n-1); } @@ -446,7 +446,7 @@ class GraphColor : public IntMinimizeScript { int main(int argc, char* argv[]) { SizeOptions opt("GraphColor"); - opt.icl(ICL_DOM); + opt.ipl(IPL_DOM); opt.iterations(20); opt.solutions(0); opt.model(GraphColor::MODEL_NONE); diff --git a/examples/grocery.cpp b/examples/grocery.cpp index abec20a5a4..31dcdde884 100755 --- a/examples/grocery.cpp +++ b/examples/grocery.cpp @@ -67,15 +67,15 @@ class Grocery : public Script { static const int p = 711 * 100 * 100 * 100; public: /// The actual model - Grocery(const Options& opt) + Grocery(const Options& opt) : Script(opt), abcd(*this,4,0,s) { IntVar a(abcd[0]), b(abcd[1]), c(abcd[2]), d(abcd[3]); // The sum of all variables is s - rel(*this, a+b+c+d == s, opt.icl()); + rel(*this, a+b+c+d == s, opt.ipl()); // The product of all variables is s (corrected by scale factor) - rel(*this, (a*b)*(c*d) == p, opt.icl()); + rel(*this, (a*b)*(c*d) == p, opt.ipl()); // Break symmetries: order the variables rel(*this, abcd, IRT_LQ); diff --git a/examples/hamming.cpp b/examples/hamming.cpp index 39406dd160..11edc5a014 100644 --- a/examples/hamming.cpp +++ b/examples/hamming.cpp @@ -55,25 +55,25 @@ class HammingOptions : public Options { Driver::UnsignedIntOption _distance; /// Number of symbols Driver::UnsignedIntOption _size; - + public: /// Initialize options for example with name \a s HammingOptions(const char* s, unsigned int bits0, unsigned int distance0, unsigned int size0) - : Options(s), - _bits("-bits","word size in bits",bits0), + : Options(s), + _bits("-bits","word size in bits",bits0), _distance("-distance","minimum distance",distance0), _size("-size","number of symbols",size0) { add(_bits); add(_distance); add(_size); } - + /// Return number of bits unsigned int bits(void) const { return _bits.value(); } /// Return minimum distance unsigned int distance(void) const { return _distance.value(); } /// Return number of symbols unsigned int size(void) const { return _size.value(); } - + }; /** @@ -94,9 +94,14 @@ class Hamming : public Script { public: /// Actual model Hamming(const HammingOptions& opt) : - Script(opt), + Script(opt), x(*this,opt.size(),IntSet::empty,1,opt.bits()) { + + if (opt.trace() != 0) + trace(*this, x, opt.trace()); + SetVarArgs cx(x.size()); + for (int i=x.size(); i--;) cx[i] = expr(*this, -x[i]); diff --git a/examples/kakuro.cpp b/examples/kakuro.cpp index 3d45e76418..db7e467664 100755 --- a/examples/kakuro.cpp +++ b/examples/kakuro.cpp @@ -497,10 +497,10 @@ class Kakuro : public Script { int n=x.size(); if (opt.model() == MODEL_DECOMPOSE) { if (n < 8) - linear(*this, x, IRT_EQ, c, opt.icl()); + linear(*this, x, IRT_EQ, c, opt.ipl()); else if (n == 8) rel(*this, x, IRT_NQ, 9*(9+1)/2 - c); - distinct(*this, x, opt.icl()); + distinct(*this, x, opt.ipl()); } else { switch (n) { case 0: @@ -534,7 +534,7 @@ class Kakuro : public Script { return; } } - distinct(*this, x, opt.icl()); + distinct(*this, x, opt.ipl()); } } /// The actual problem @@ -614,7 +614,7 @@ main(int argc, char* argv[]) { "decompose","decompose distinct and linear constraints"); opt.model(Kakuro::MODEL_COMBINE, "combine","combine distinct and linear constraints"); - opt.icl(ICL_DOM); + opt.ipl(IPL_DOM); opt.parse(argc,argv); if (opt.size() >= n_examples) { std::cerr << "Error: size must be between 0 and " diff --git a/examples/knights.cpp b/examples/knights.cpp index c2631df92e..7806ed86cf 100644 --- a/examples/knights.cpp +++ b/examples/knights.cpp @@ -72,7 +72,7 @@ class Warnsdorff : public Brancher { int pos; /// Value of variable int val; - /** Initialize choice for brancher \a b, position \a pos0, + /** Initialize choice for brancher \a b, position \a pos0, * and value \a val0. */ Choice(const Brancher& b, int pos0, int val0) @@ -87,12 +87,12 @@ class Warnsdorff : public Brancher { e << pos << val; } }; - + /// Construct brancher - Warnsdorff(Home home, ViewArray& xv) + Warnsdorff(Home home, ViewArray& xv) : Brancher(home), x(xv), start(0) {} /// Copy constructor - Warnsdorff(Space& home, bool share, Warnsdorff& b) + Warnsdorff(Space& home, bool share, Warnsdorff& b) : Brancher(home, share, b), start(b.start) { x.update(home, share, b.x); } @@ -101,7 +101,7 @@ class Warnsdorff : public Brancher { virtual bool status(const Space&) const { // A path to follow can be at most x.size() long for (int n=x.size(); n--; ) { - if (!x[start].assigned()) + if (!x[start].assigned()) return true; // Follow path of assigned variables start = x[start].val(); @@ -131,16 +131,16 @@ class Warnsdorff : public Brancher { return new Choice(*this, pos, val); } /// Perform commit for choice \a _c and alternative \a a - virtual ExecStatus commit(Space& home, const Gecode::Choice& _c, + virtual ExecStatus commit(Space& home, const Gecode::Choice& _c, unsigned int a) { const Choice& c = static_cast(_c); if (a == 0) return me_failed(x[c.pos].eq(home, c.val)) ? ES_FAILED : ES_OK; - else + else return me_failed(x[c.pos].nq(home, c.val)) ? ES_FAILED : ES_OK; } /// Print explanation - virtual void print(const Space&, const Gecode::Choice& _c, + virtual void print(const Space&, const Gecode::Choice& _c, unsigned int a, std::ostream& o) const { const Choice& c = static_cast(_c); @@ -153,9 +153,9 @@ class Warnsdorff : public Brancher { return new (home) Warnsdorff(home, share, *this); } /// Post brancher - static BrancherHandle post(Home home, const IntVarArgs& x) { + static void post(Home home, const IntVarArgs& x) { ViewArray xv(home, x); - return *new (home) Warnsdorff(home, xv); + (void) new (home) Warnsdorff(home, xv); } /// Delete brancher and return its size virtual size_t dispose(Space&) { @@ -273,8 +273,8 @@ class KnightsReified : public Knights { rel(*this, jump[f(0,0)], IRT_EQ, 0); rel(*this, jump[f(1,2)], IRT_EQ, 1); - distinct(*this, jump, opt.icl()); - channel(*this, succ, pred, opt.icl()); + distinct(*this, jump, opt.ipl()); + channel(*this, succ, pred, opt.ipl()); for (int f = 0; f < nn; f++) { IntSet ds = neighbors(f); @@ -314,7 +314,7 @@ class KnightsCircuit : public Knights { // Fix the first move rel(*this, succ[0], IRT_EQ, f(1,2)); - circuit(*this, succ, opt.icl()); + circuit(*this, succ, opt.ipl()); for (int f = 0; f < n*n; f++) dom(*this, succ[f], neighbors(f)); @@ -350,7 +350,7 @@ class KnightsInspector : public Gist::Inspector { /// Inspect space \a s virtual void inspect(const Space& s) { const Knights& k = static_cast(s); - + if (!scene) initialize(); QList itemList = scene->items(); @@ -362,7 +362,7 @@ class KnightsInspector : public Gist::Inspector { for (int i=0; iaddRect(i*unit,j*unit,unit,unit); - + QPen pen(Qt::black, 2); if (!k.succ[i*k.n+j].assigned()) { pen.setColor(Qt::red); @@ -376,12 +376,12 @@ class KnightsInspector : public Gist::Inspector { kx*unit+unit/2,ky*unit+unit/2, pen); } - + } } - mw->show(); + mw->show(); } - + /// Set up main window void initialize(void) { mw = new QMainWindow(); @@ -397,7 +397,7 @@ class KnightsInspector : public Gist::Inspector { mw, SLOT(close())); mw->addAction(closeWindow); } - + /// Name of the inspector virtual std::string name(void) { return "Board"; } /// Finalize inspector diff --git a/examples/langford-number.cpp b/examples/langford-number.cpp index c6bf7b2f42..0eea4f7c7e 100644 --- a/examples/langford-number.cpp +++ b/examples/langford-number.cpp @@ -118,7 +118,7 @@ class LangfordNumber : public Script { for (int j=0; j values for (int i=0; i m(x, n, n); for (int i = n; i--; ) { - linear(*this, m.row(i), IRT_EQ, s, opt.icl()); - linear(*this, m.col(i), IRT_EQ, s, opt.icl()); + linear(*this, m.row(i), IRT_EQ, s, opt.ipl()); + linear(*this, m.col(i), IRT_EQ, s, opt.ipl()); } // Both diagonals must have sum s { @@ -88,12 +88,12 @@ class MagicSquare : public Script { d1y[i] = m(i,i); d2y[i] = m(n-i-1,i); } - linear(*this, d1y, IRT_EQ, s, opt.icl()); - linear(*this, d2y, IRT_EQ, s, opt.icl()); + linear(*this, d1y, IRT_EQ, s, opt.ipl()); + linear(*this, d2y, IRT_EQ, s, opt.ipl()); } // All fields must be distinct - distinct(*this, x, opt.icl()); + distinct(*this, x, opt.ipl()); // Break some (few) symmetries rel(*this, m(0,0), IRT_GR, m(0,n-1)); diff --git a/examples/money.cpp b/examples/money.cpp index 2247f02b5f..de0a138383 100644 --- a/examples/money.cpp +++ b/examples/money.cpp @@ -68,26 +68,29 @@ class Money : public Script { s(le[0]), e(le[1]), n(le[2]), d(le[3]), m(le[4]), o(le[5]), r(le[6]), y(le[7]); + if (opt.trace() != 0) + trace(*this, le, opt.trace()); + rel(*this, s, IRT_NQ, 0); rel(*this, m, IRT_NQ, 0); - distinct(*this, le, opt.icl()); + distinct(*this, le, opt.ipl()); switch (opt.model()) { case MODEL_SINGLE: rel(*this, 1000*s+100*e+10*n+d + 1000*m+100*o+10*r+e == 10000*m+1000*o+100*n+10*e+y, - opt.icl()); + opt.ipl()); break; case MODEL_CARRY: { IntVar c0(*this,0,1), c1(*this,0,1), c2(*this,0,1), c3(*this,0,1); - rel(*this, d+e == y+10*c0, opt.icl()); - rel(*this, c0+n+r == e+10*c1, opt.icl()); - rel(*this, c1+e+o == n+10*c2, opt.icl()); - rel(*this, c2+s+m == o+10*c3, opt.icl()); - rel(*this, c3 == m, opt.icl()); + rel(*this, d+e == y+10*c0, opt.ipl()); + rel(*this, c0+n+r == e+10*c1, opt.ipl()); + rel(*this, c1+e+o == n+10*c2, opt.ipl()); + rel(*this, c2+s+m == o+10*c3, opt.ipl()); + rel(*this, c3 == m, opt.ipl()); } break; default: GECODE_NEVER; diff --git a/examples/multi-bin-packing.cpp b/examples/multi-bin-packing.cpp index 4f924dc5af..1a5d5be5f9 100644 --- a/examples/multi-bin-packing.cpp +++ b/examples/multi-bin-packing.cpp @@ -111,7 +111,7 @@ class MultiBinPacking : public Script { /// Specification const Spec spec; /// Bin for each item - IntVarArray bin; + IntVarArray bin; /// Load for each bin IntVarArray load; public: @@ -131,11 +131,11 @@ class MultiBinPacking : public Script { SYMMETRY_MAX_CONFLICT ///< Use a maximal conflict set of items }; /// Actual model - MultiBinPacking(const InstanceOptions& opt) + MultiBinPacking(const InstanceOptions& opt) : Script(opt), spec(opt.instance()), - bin(*this, spec.items(), 0, spec.bins()-1), - load(*this, spec.bins()*spec.dimension(), 0, Int::Limits::max) - { + bin(*this, spec.items(), 0, spec.bins()-1), + load(*this, spec.bins()*spec.dimension(), 0, Int::Limits::max) + { switch (opt.model()) { case MODEL_SINGLE: @@ -164,16 +164,16 @@ class MultiBinPacking : public Script { IntArgs c(spec.dimension()); for (int k=0; k cols*height()) { for (int w=0; w(spec.n*spec.m); // Earliest possible tasks - + bool stopCROSH = false; int maxIterations; @@ -185,7 +185,7 @@ class OpenShop : public IntMinimizeScript { if (cmax > maxmakespan) break; } - + maxmakespan = std::min(maxmakespan,cmax); if (iteration++ > maxIterations) stopCROSH = true; // Iterate a couple of times @@ -220,7 +220,7 @@ class OpenShop : public IntMinimizeScript { rel(*this, b[k++] == (start(m,j1) + dur(m,j1) > start(m,j0))); } - + for (int j=0; j(opt); return 0; diff --git a/examples/partition.cpp b/examples/partition.cpp index 56e7c67293..7924009f89 100755 --- a/examples/partition.cpp +++ b/examples/partition.cpp @@ -55,7 +55,7 @@ class Partition : public Script { public: /// Actual model Partition(const SizeOptions& opt) - : Script(opt), + : Script(opt), x(*this,opt.size(),1,2*opt.size()), y(*this,opt.size(),1,2*opt.size()) { const int n = opt.size(); @@ -70,7 +70,7 @@ class Partition : public Script { for (int i = n; i--; ) { xy[i] = x[i]; xy[n+i] = y[i]; } - distinct(*this, xy, opt.icl()); + distinct(*this, xy, opt.ipl()); IntArgs c(2*n); for (int i = n; i--; ) { @@ -136,7 +136,7 @@ int main(int argc, char* argv[]) { SizeOptions opt("Partition"); opt.size(32); - opt.icl(ICL_BND); + opt.ipl(IPL_BND); opt.parse(argc,argv); Script::run(opt); return 0; diff --git a/examples/perfect-square.cpp b/examples/perfect-square.cpp index 8e842c9f61..e34866abc2 100755 --- a/examples/perfect-square.cpp +++ b/examples/perfect-square.cpp @@ -200,7 +200,7 @@ class PerfectSquare : public Script { }; /// Actual model PerfectSquare(const SizeOptions& opt) - : Script(opt), + : Script(opt), x(*this,specs[opt.size()][0],0,specs[opt.size()][1]-1), y(*this,specs[opt.size()][0],0,specs[opt.size()][1]-1) { diff --git a/examples/photo.cpp b/examples/photo.cpp index 9fb14ac4b3..15e8349dd5 100644 --- a/examples/photo.cpp +++ b/examples/photo.cpp @@ -41,30 +41,31 @@ using namespace Gecode; -/// Specifications for the photo example +// Instances +extern const int* pi[]; +extern const int n_pi; + +/// Specifications for photo example class PhotoSpec { +protected: + /// Array of data + const int* data; public: - const int n_names; ///< Number of people on picture - const int n_prefs; ///< Number of preferences - const int* prefs; ///< Array of preferences - PhotoSpec(const int n_n, const int n_p, const int* p) - : n_names(n_n), n_prefs(n_p), prefs(p) {} -}; - -/// Preferences for small example -const int s_prefs[] = { - 0,2, 1,4, 2,3, 2,4, 3,0, 4,3, 4,0, 4,1 -}; -/// Small Photo example -const PhotoSpec p_small(5, 8, s_prefs); - -/// Preferences for large example -const int l_prefs[] = { - 0,2, 0,4, 0,7, 1,4, 1,8, 2,3, 2,4, 3,0, 3,4, - 4,5, 4,0, 5,0, 5,8, 6,2, 6,7, 7,8, 7,6 + /// Initialize + PhotoSpec(int i) : data(pi[i]) {} + /// Return number of people + int people(void) const { + return data[0]; + } + /// Return number of preferences + int preferences(void) const { + return data[1]; + } + /// Access preference \a p with position \a i + int preference(int p, int i) const { + return data[2+2*p+i]; + } }; -/// Large Photo example -const PhotoSpec p_large(9,17, l_prefs); /** * \brief %Example: Placing people on a photo @@ -82,48 +83,69 @@ class Photo : public IntMinimizeScript { /// Photo specification const PhotoSpec& spec; /// Person's position on photo - IntVarArray pos; + IntVarArray pos; /// Number of violated preferences - IntVar violations; - + IntVar violations; + /// Random number generator for LNS + Rnd rnd; + /// Relaxation probability + double p; public: /// Branching to use for model enum { - BRANCH_NONE, ///< Choose variables from left to right - BRANCH_DEGREE ///< Choose variable with largest degree + BRANCH_NONE, ///< Choose variables from left to right + BRANCH_DEGREE, ///< Choose variable with largest degree + BRANCH_AFC_SIZE ///< Choose variable with largest afc over size }; /// Actual model Photo(const SizeOptions& opt) : IntMinimizeScript(opt), - spec(opt.size() == 0 ? p_small : p_large), - pos(*this,spec.n_names, 0, spec.n_names-1), - violations(*this,0,spec.n_prefs) + spec(opt.size()), + pos(*this,spec.people(), 0, spec.people()-1), + violations(*this,0,spec.preferences()), + rnd(opt.seed()), p(opt.relax()) { // Map preferences to violation - BoolVarArgs viol(spec.n_prefs); - for (int i=0; i 1); } rel(*this, violations == sum(viol)); - distinct(*this, pos, opt.icl()); + distinct(*this, pos, opt.ipl()); // Break some symmetries rel(*this, pos[0] < pos[1]); - if (opt.branching() == BRANCH_NONE) { + switch (opt.branching()) { + case BRANCH_NONE: branch(*this, pos, INT_VAR_NONE(), INT_VAL_MIN()); - } else { + break; + case BRANCH_DEGREE: branch(*this, pos, tiebreak(INT_VAR_DEGREE_MAX(),INT_VAR_SIZE_MIN()), INT_VAL_MIN()); + break; + case BRANCH_AFC_SIZE: + branch(*this, pos, INT_VAR_AFC_SIZE_MAX(opt.decay()), INT_VAL_MIN()); + break; + } + } + /// Slave function for restarts + bool slave(const MetaInfo& mi) { + if ((mi.type() == MetaInfo::RESTART) && + (mi.restart() > 0) && (p > 0.0)) { + const Photo& l = static_cast(*mi.last()); + relax(*this, pos, l.pos, rnd, p); + return false; + } else { + return true; } } - /// Constructor for cloning \a s Photo(bool share, Photo& s) : - IntMinimizeScript(share,s), spec(s.spec) { + IntMinimizeScript(share,s), spec(s.spec), rnd(s.rnd), p(s.p) { pos.update(*this, share, s.pos); violations.update(*this, share, s.violations); } @@ -153,15 +175,14138 @@ main(int argc, char* argv[]) { opt.solutions(0); opt.size(1); opt.iterations(10); - opt.icl(ICL_BND); + opt.ipl(IPL_BND); + opt.relax(0.7); + opt.time(10 * 1000); opt.branching(Photo::BRANCH_DEGREE); - opt.branching(Photo::BRANCH_NONE, "none"); + opt.branching(Photo::BRANCH_NONE, "none"); opt.branching(Photo::BRANCH_DEGREE, "degree"); + opt.branching(Photo::BRANCH_AFC_SIZE, "afc"); opt.parse(argc,argv); + if (opt.size() >= n_pi) { + std::cerr << "Error: size must be between 0 and " << n_pi - 1 + << std::endl; + return 1; + } IntMinimizeScript::run(opt); return 0; } +/// Small Photo example +const int small[] = { + /// Number of people on picture + 5, + /// Number of preferences + 8, + /// Array of preferences + 0,2, 1,4, 2,3, 2,4, 3,0, 4,3, 4,0, 4,1 +}; -// STATISTICS: example-any +/// Large Photo example +const int large[] = { + /// Number of people on picture + 9, + /// Number of preferences + 17, + /// Array of preferences + 0,2, 0,4, 0,7, 1,4, 1,8, 2,3, 2,4, 3,0, 3,4, + 4,5, 4,0, 5,0, 5,8, 6,2, 6,7, 7,8, 7,6 +}; + +/* + * The following instances have been randomly generated for + * given number of persons \a p: + * - the number of preferences is chosen uniformly between 1 and p*p/4. + * - the preferences are chosen uniformly without duplicates. + */ + +const int p_10_0[] = { + /// Number of people on picture + 10, + /// Number of preferences + 12, + /// Array of preferences + 2,9, 8,0, 6,7, 6,5, 9,3, 2,3, 6,2, 2,5, + 3,6, 0,1, 1,9, 4,8 +}; +const int p_10_1[] = { + /// Number of people on picture + 10, + /// Number of preferences + 18, + /// Array of preferences + 3,6, 9,3, 6,9, 7,9, 1,1, 0,1, 7,5, 9,2, + 6,1, 5,7, 2,2, 8,4, 5,2, 1,9, 5,8, 4,5, + 3,4, 0,9 +}; +const int p_10_2[] = { + /// Number of people on picture + 10, + /// Number of preferences + 15, + /// Array of preferences + 5,6, 7,8, 0,6, 5,8, 8,2, 1,9, 2,1, 9,8, + 7,2, 7,7, 7,1, 2,7, 5,0, 8,1, 3,8 +}; +const int p_10_3[] = { + /// Number of people on picture + 10, + /// Number of preferences + 25, + /// Array of preferences + 9,3, 0,3, 7,5, 7,0, 9,2, 5,3, 9,7, 4,7, + 7,4, 3,1, 3,7, 7,2, 6,8, 1,6, 8,6, 9,4, + 9,8, 5,1, 2,0, 8,3, 9,5, 3,8, 5,7, 6,4, + 2,9 +}; +const int p_10_4[] = { + /// Number of people on picture + 10, + /// Number of preferences + 4, + /// Array of preferences + 7,3, 2,8, 1,0, 4,2 +}; +const int p_10_5[] = { + /// Number of people on picture + 10, + /// Number of preferences + 12, + /// Array of preferences + 3,8, 3,3, 1,2, 5,4, 4,6, 8,8, 2,7, 0,8, + 3,9, 3,6, 2,2, 2,5 +}; +const int p_10_6[] = { + /// Number of people on picture + 10, + /// Number of preferences + 1, + /// Array of preferences + 1,4 +}; +const int p_10_7[] = { + /// Number of people on picture + 10, + /// Number of preferences + 8, + /// Array of preferences + 5,3, 7,0, 6,7, 5,4, 9,0, 9,3, 7,9, 2,6 +}; +const int p_10_8[] = { + /// Number of people on picture + 10, + /// Number of preferences + 10, + /// Array of preferences + 5,4, 4,9, 4,3, 6,4, 2,2, 9,4, 3,4, 0,8, + 0,6, 3,9 +}; +const int p_10_9[] = { + /// Number of people on picture + 10, + /// Number of preferences + 8, + /// Array of preferences + 0,1, 5,7, 4,7, 5,6, 2,9, 0,9, 3,8, 8,3 +}; +const int p_10_10[] = { + /// Number of people on picture + 10, + /// Number of preferences + 17, + /// Array of preferences + 0,8, 0,7, 2,3, 9,2, 5,4, 4,4, 0,0, 3,8, + 8,9, 6,0, 8,1, 3,4, 5,0, 2,2, 9,0, 0,6, + 6,3 +}; +const int p_10_11[] = { + /// Number of people on picture + 10, + /// Number of preferences + 2, + /// Array of preferences + 5,7, 8,8 +}; +const int p_10_12[] = { + /// Number of people on picture + 10, + /// Number of preferences + 24, + /// Array of preferences + 6,3, 6,8, 0,8, 1,6, 9,0, 5,9, 4,3, 3,4, + 7,1, 7,2, 2,6, 6,5, 3,6, 2,8, 2,0, 5,8, + 1,5, 2,4, 2,7, 8,4, 8,1, 5,5, 4,2, 3,7 +}; +const int p_10_13[] = { + /// Number of people on picture + 10, + /// Number of preferences + 24, + /// Array of preferences + 2,7, 9,0, 3,1, 6,9, 4,1, 1,0, 7,5, 2,2, + 8,8, 4,0, 6,8, 9,5, 5,1, 6,1, 8,4, 1,5, + 0,2, 9,8, 4,2, 2,9, 5,3, 3,6, 5,2, 9,3 +}; +const int p_10_14[] = { + /// Number of people on picture + 10, + /// Number of preferences + 4, + /// Array of preferences + 3,2, 8,3, 2,3, 4,0 +}; +const int p_10_15[] = { + /// Number of people on picture + 10, + /// Number of preferences + 19, + /// Array of preferences + 0,1, 9,6, 3,3, 2,7, 0,7, 4,1, 2,0, 6,6, + 8,3, 3,1, 1,1, 7,2, 3,0, 4,7, 6,4, 8,0, + 8,5, 8,2, 5,7 +}; +const int p_10_16[] = { + /// Number of people on picture + 10, + /// Number of preferences + 11, + /// Array of preferences + 1,6, 0,7, 2,2, 4,9, 8,3, 3,6, 5,2, 0,9, + 7,4, 6,2, 8,8 +}; +const int p_10_17[] = { + /// Number of people on picture + 10, + /// Number of preferences + 17, + /// Array of preferences + 5,8, 4,1, 5,5, 7,0, 7,3, 2,5, 4,3, 3,7, + 9,4, 0,9, 7,8, 9,9, 6,8, 2,2, 0,0, 6,1, + 7,9 +}; +const int p_10_18[] = { + /// Number of people on picture + 10, + /// Number of preferences + 5, + /// Array of preferences + 4,9, 6,8, 1,2, 2,7, 6,6 +}; +const int p_10_19[] = { + /// Number of people on picture + 10, + /// Number of preferences + 22, + /// Array of preferences + 9,3, 1,3, 4,8, 3,9, 5,9, 3,1, 8,5, 0,7, + 1,8, 2,6, 9,9, 8,8, 1,6, 9,4, 2,2, 6,9, + 9,8, 8,1, 3,0, 9,1, 2,1, 5,6 +}; + +const int p_20_0[] = { + /// Number of people on picture + 20, + /// Number of preferences + 78, + /// Array of preferences + 5, 2, 15, 8, 12, 4, 10,18, 19, 4, 7,10, 4,10, 14,10, + 8, 8, 7, 0, 1,12, 9,10, 16, 5, 15, 3, 6, 6, 0, 7, + 9,19, 0, 6, 2, 2, 9,17, 15, 5, 4, 7, 6, 1, 13, 2, + 14,18, 18,18, 16,17, 19, 8, 17,16, 14,13, 15, 0, 18, 7, + 19,15, 8, 1, 6, 5, 3, 8, 4, 0, 11,19, 9,11, 6,17, + 15, 2, 0,19, 6, 0, 11, 2, 10, 1, 4, 9, 4,16, 2,15, + 1,14, 5,17, 15, 9, 4, 1, 17,11, 1,13, 10, 8, 2, 7, + 4, 4, 2,16, 10, 4, 5, 1, 0, 5, 3, 4, 2,18, 9, 4, + 16, 4, 14,16, 17, 1, 17,12, 3, 3, 9, 8, 12, 9, 0,14, + 18, 5, 8, 9, 7, 1, 15,14, 19,18, 2, 0 +}; +const int p_20_1[] = { + /// Number of people on picture + 20, + /// Number of preferences + 54, + /// Array of preferences + 4,14, 14,13, 18, 6, 11,10, 7, 2, 16, 1, 10,18, 4,19, + 0, 8, 6, 6, 6, 2, 1,14, 5,18, 1, 5, 13, 5, 18, 2, + 16,11, 19,13, 8, 4, 16,19, 6,16, 11,18, 19, 3, 7, 6, + 1,13, 18,10, 6,11, 9, 5, 19,19, 7, 9, 12,16, 8, 0, + 0,17, 11, 3, 14, 9, 12,10, 7,12, 15, 4, 3, 8, 14,10, + 8, 3, 9, 9, 4, 2, 14, 5, 0,14, 10,13, 5, 0, 10, 5, + 12,19, 1,12, 18,14, 4,11, 15, 3, 6,18 +}; +const int p_20_2[] = { + /// Number of people on picture + 20, + /// Number of preferences + 26, + /// Array of preferences + 12, 9, 8,19, 12, 0, 4, 4, 2,10, 13, 7, 12,13, 9,15, + 10,19, 1, 2, 15, 8, 16, 7, 18, 7, 4,11, 1, 6, 13,12, + 5, 0, 14,19, 3,17, 10, 9, 11, 1, 6,15, 8, 1, 16,18, + 7, 1, 14,18 +}; +const int p_20_3[] = { + /// Number of people on picture + 20, + /// Number of preferences + 51, + /// Array of preferences + 18,12, 2,11, 8, 5, 12,17, 14, 8, 1, 6, 9, 5, 5, 5, + 11, 3, 13,17, 9,19, 4, 0, 0, 2, 1,19, 3,12, 1, 8, + 13, 2, 14, 1, 14, 3, 0, 6, 12, 0, 16, 2, 4, 4, 8,14, + 11, 8, 9, 7, 11,10, 1,11, 4, 5, 8,11, 18, 0, 3, 9, + 14,18, 11,16, 13,11, 18,18, 18, 2, 9, 2, 8, 1, 10, 9, + 7,19, 2, 5, 3, 8, 0,11, 15, 4, 12, 9, 8,15, 10,16, + 17,16, 8,17, 12,16 +}; +const int p_20_4[] = { + /// Number of people on picture + 20, + /// Number of preferences + 23, + /// Array of preferences + 16, 2, 19, 1, 15, 1, 16,17, 13, 1, 13, 7, 17,16, 15,19, + 2,18, 15, 7, 3, 5, 8, 9, 6,12, 16, 7, 6,15, 0, 0, + 5,15, 5, 0, 3, 8, 14, 1, 15,13, 11,19, 1,17 +}; +const int p_20_5[] = { + /// Number of people on picture + 20, + /// Number of preferences + 32, + /// Array of preferences + 5, 7, 15, 3, 16, 6, 5,15, 1,10, 0, 1, 0, 6, 10, 1, + 3, 4, 0,12, 2, 1, 4,13, 19,15, 11, 1, 17, 5, 2, 0, + 0, 4, 9,16, 17,13, 4, 1, 9,13, 0,16, 15,19, 4, 3, + 8,12, 9,12, 0, 7, 7,15, 5, 6, 12, 1, 19, 2, 4,16 +}; +const int p_20_6[] = { + /// Number of people on picture + 20, + /// Number of preferences + 21, + /// Array of preferences + 5, 9, 7,14, 19, 6, 1,18, 5, 8, 18, 9, 12,14, 17, 8, + 10, 2, 2, 4, 18,12, 5,19, 15,12, 12, 8, 2,13, 0,15, + 5,13, 11,16, 16,16, 15, 9, 18,17 +}; +const int p_20_7[] = { + /// Number of people on picture + 20, + /// Number of preferences + 90, + /// Array of preferences + 18, 0, 11, 6, 12, 8, 1,14, 9,10, 0,16, 7,19, 9, 4, + 8, 7, 5, 6, 13,17, 11, 2, 1,10, 15, 9, 1, 9, 6,15, + 18,17, 14,14, 11,14, 7, 0, 2, 9, 18,13, 12, 3, 14, 4, + 2,19, 15, 3, 6,12, 15, 4, 7,12, 14, 1, 7, 4, 6, 2, + 4,19, 18,16, 10, 9, 6, 3, 17,15, 1,17, 15, 5, 18,10, + 13,12, 5, 9, 10,13, 3,15, 0,17, 10, 8, 5,13, 7,11, + 12,15, 8, 3, 16, 8, 3, 3, 19,18, 19, 1, 4,12, 0,11, + 17, 6, 14, 8, 11, 7, 19, 7, 4, 4, 3,17, 15, 7, 9, 6, + 1,18, 3,14, 2,14, 18,12, 8, 4, 3, 6, 5, 7, 0,15, + 9, 2, 17,11, 0, 9, 16, 9, 11, 0, 12, 1, 10,10, 5,14, + 18, 6, 8,12, 0,18, 10,11, 16,12, 11, 3, 11, 9, 6, 7, + 17,18, 12,17 +}; +const int p_20_8[] = { + /// Number of people on picture + 20, + /// Number of preferences + 20, + /// Array of preferences + 15,13, 16,14, 13, 2, 18,12, 3,11, 3,18, 8, 0, 9,19, + 17,19, 1, 3, 15,10, 19, 5, 19,17, 4,13, 15,15, 9, 4, + 16, 2, 8,11, 5,12, 6,15 +}; +const int p_20_9[] = { + /// Number of people on picture + 20, + /// Number of preferences + 26, + /// Array of preferences + 16,15, 14, 9, 8,17, 2,11, 5, 0, 9,14, 10,19, 8, 2, + 1, 9, 10, 3, 15,12, 10,18, 10,10, 3,15, 18,10, 1, 2, + 7, 1, 6, 9, 18,17, 19, 0, 8,11, 19,10, 2,12, 12,19, + 15, 6, 15,15 +}; +const int p_20_10[] = { + /// Number of people on picture + 20, + /// Number of preferences + 46, + /// Array of preferences + 3,15, 15, 9, 8, 4, 0,12, 0, 8, 11, 2, 13, 7, 2, 7, + 7, 1, 13,12, 3,11, 14, 4, 7, 4, 1, 1, 10, 6, 4, 4, + 15, 4, 17, 3, 15,18, 9, 9, 19, 3, 9,17, 7,17, 3,14, + 12, 4, 14, 9, 16,14, 18,13, 2, 5, 17,14, 8,11, 11, 7, + 10, 5, 6,15, 7,13, 1, 8, 13,10, 5,13, 17,17, 3, 0, + 15,19, 0,16, 5,11, 12,14, 13, 5, 17, 4 +}; +const int p_20_11[] = { + /// Number of people on picture + 20, + /// Number of preferences + 45, + /// Array of preferences + 11, 9, 16, 6, 1,15, 9, 2, 11, 7, 9,13, 17,16, 17,19, + 11,11, 2,16, 11,19, 3, 8, 7, 0, 1, 6, 15,12, 3, 2, + 4,18, 12,17, 17,17, 16, 5, 6, 7, 19,19, 3, 5, 12,18, + 19, 4, 11,17, 3, 0, 2,18, 6, 0, 2,19, 5,18, 8,11, + 9, 5, 16,18, 16,19, 2,11, 7,13, 2,12, 6,10, 19,13, + 14, 4, 9,14, 15,19, 0,15, 18, 8 +}; +const int p_20_12[] = { + /// Number of people on picture + 20, + /// Number of preferences + 40, + /// Array of preferences + 7, 4, 7, 0, 12,13, 16, 9, 10, 5, 7,12, 13,12, 19, 7, + 18, 0, 18, 9, 4, 0, 3,12, 1, 3, 16,15, 17, 9, 7, 2, + 9,15, 9, 5, 14, 3, 16, 0, 5, 8, 19, 0, 19,10, 18,15, + 7,19, 18,19, 19,18, 4, 2, 6,11, 7, 3, 9,12, 14, 7, + 17,15, 18,14, 10,14, 3, 7, 9, 8, 19,15, 4, 8, 17, 6 +}; +const int p_20_13[] = { + /// Number of people on picture + 20, + /// Number of preferences + 71, + /// Array of preferences + 18,13, 16,14, 18,18, 6, 6, 13,19, 19,11, 4,13, 18, 4, + 18, 1, 10, 2, 10,18, 12, 5, 17, 2, 18, 8, 10,12, 8,11, + 0,16, 15, 0, 9, 4, 19, 8, 11, 0, 9, 6, 4,19, 15, 8, + 2,14, 10, 3, 14, 4, 9,15, 2,16, 12,18, 17,13, 15,19, + 9,17, 13,16, 9, 7, 0,18, 17,18, 16, 4, 18,11, 12, 9, + 4, 7, 10, 8, 1, 6, 8, 1, 12,13, 16, 5, 3, 9, 6,12, + 11, 5, 14, 6, 15,12, 10, 1, 6, 9, 7,15, 5, 9, 2, 9, + 1, 2, 9, 1, 3, 0, 5,17, 15,15, 18, 2, 4, 5, 2,19, + 1, 5, 11, 8, 16, 7, 5,10, 7, 1, 7, 0, 5, 5 +}; +const int p_20_14[] = { + /// Number of people on picture + 20, + /// Number of preferences + 7, + /// Array of preferences + 17, 9, 13,11, 13,10, 14,12, 16,16, 6,15, 6,17 +}; +const int p_20_15[] = { + /// Number of people on picture + 20, + /// Number of preferences + 60, + /// Array of preferences + 9, 2, 13,18, 8,14, 14,12, 6, 5, 6, 2, 10, 6, 3, 6, + 4, 5, 16,17, 17,11, 6,12, 15,14, 7, 5, 4,12, 4, 4, + 9,16, 8, 5, 18, 5, 15,10, 16, 9, 4,14, 18,15, 2,10, + 14, 9, 5,18, 1,12, 10, 5, 1,18, 7,14, 12, 3, 7,12, + 12, 7, 2, 4, 9,17, 13, 0, 8,12, 7,11, 3, 1, 19,17, + 10, 8, 15, 3, 13, 7, 1,17, 0,13, 1, 6, 14,19, 9,15, + 9,11, 7, 3, 8, 8, 14,17, 19,11, 14, 4, 14,14, 14,13, + 16, 5, 4, 6, 7, 4, 9, 1 +}; +const int p_20_16[] = { + /// Number of people on picture + 20, + /// Number of preferences + 24, + /// Array of preferences + 13,16, 13, 6, 18,13, 2, 1, 2, 5, 16, 3, 10,18, 13,12, + 8,18, 7,16, 2,13, 11, 6, 17,15, 0, 5, 8,19, 12,10, + 5,14, 14,16, 0,18, 12, 0, 8,13, 2,10, 1, 3, 8, 5 +}; +const int p_20_17[] = { + /// Number of people on picture + 20, + /// Number of preferences + 23, + /// Array of preferences + 8, 7, 2,11, 4, 3, 17, 7, 15,12, 6,10, 9,10, 5, 7, + 5,16, 15, 9, 1,13, 19, 4, 8, 3, 13, 9, 4, 2, 7, 8, + 7, 9, 13, 7, 9, 8, 11, 2, 16, 1, 5, 6, 18, 8 +}; +const int p_20_18[] = { + /// Number of people on picture + 20, + /// Number of preferences + 65, + /// Array of preferences + 12, 7, 4,16, 6, 7, 13, 6, 16, 4, 9, 0, 17, 0, 3,10, + 6,14, 19,17, 13,11, 2,17, 7, 7, 6, 0, 3, 4, 0,10, + 7, 1, 3,17, 7,10, 18,14, 6,19, 18, 1, 5, 7, 0, 4, + 15,10, 16,16, 8,16, 9,13, 19,14, 13,14, 19, 2, 1, 7, + 9, 1, 16,19, 8, 4, 4, 8, 3,16, 11,16, 14,18, 14,14, + 3, 2, 5, 4, 10, 1, 11,12, 13,13, 13, 2, 0,12, 11, 3, + 19, 7, 0, 8, 12,15, 13, 4, 6,10, 2, 4, 11, 7, 8, 6, + 5,14, 10,14, 14,12, 14,19, 11, 9, 5,11, 12, 1, 3,11, + 17,15 +}; +const int p_20_19[] = { + /// Number of people on picture + 20, + /// Number of preferences + 72, + /// Array of preferences + 3, 1, 3,18, 19, 0, 19,16, 4,14, 11, 0, 15,12, 19, 7, + 18, 9, 14,12, 7,18, 17,12, 12, 0, 4, 2, 10,13, 2,19, + 18, 3, 10,15, 17,18, 4,13, 6,16, 8, 9, 16,17, 9, 8, + 2, 9, 5,16, 13, 0, 1, 5, 0, 2, 6, 9, 5,14, 1, 0, + 19,14, 19, 2, 12,10, 7,19, 12, 6, 0,17, 5,18, 2,18, + 4, 0, 0, 0, 10, 7, 11, 1, 2,10, 8,16, 0, 1, 18,13, + 11, 7, 0, 4, 6,12, 15,10, 4, 3, 8,13, 14,15, 6,11, + 9, 5, 7,10, 3, 7, 5, 4, 7, 2, 0, 3, 14,10, 7, 3, + 18, 7, 12, 7, 9, 0, 17, 8, 11, 8, 1,10, 8,15, 18,18 +}; + +const int p_30_0[] = { + /// Number of people on picture + 30, + /// Number of preferences + 48, + /// Array of preferences + 9,19, 3,10, 2, 8, 24,22, 6,27, 0,24, 29,18, 9, 1, + 7,14, 11,24, 17, 7, 11,18, 7,21, 2, 3, 5,13, 5, 5, + 22, 3, 16,12, 26, 8, 24, 6, 9,18, 20,12, 8,29, 12, 1, + 1,14, 8,25, 18,21, 29, 1, 18, 3, 24, 5, 2, 4, 22,13, + 23,28, 6, 9, 15,14, 17, 3, 21,13, 2,12, 25, 6, 26,19, + 29,28, 6, 5, 24, 3, 2, 9, 13,10, 3,21, 18,14, 29,15 +}; +const int p_30_1[] = { + /// Number of people on picture + 30, + /// Number of preferences + 71, + /// Array of preferences + 18,17, 14,27, 23, 5, 21, 2, 18, 6, 21, 3, 11,14, 13,18, + 14, 5, 10, 7, 25, 7, 29,22, 16,18, 18,12, 11,11, 24,16, + 1,22, 26,28, 9, 8, 1,26, 20, 0, 23, 3, 0,23, 20,27, + 29, 0, 23,10, 28,10, 6,23, 22,26, 23,27, 28, 0, 19, 1, + 25, 9, 21,21, 6,10, 17,29, 10, 3, 23, 2, 20, 6, 24,25, + 8,18, 2, 6, 2,18, 9,19, 21,19, 21, 9, 14, 2, 18,23, + 6, 8, 0, 9, 24, 4, 11,27, 13, 7, 20,18, 1,20, 19,22, + 14,13, 11,25, 16, 4, 13,14, 0,12, 15,10, 19, 0, 18,19, + 11, 2, 17, 9, 22,22, 24,27, 27,17, 10,29, 16, 6 +}; +const int p_30_2[] = { + /// Number of people on picture + 30, + /// Number of preferences + 173, + /// Array of preferences + 24,22, 24,13, 6, 7, 7,29, 16, 3, 16,15, 17,15, 25, 0, + 7,18, 19,11, 27,16, 21,19, 5,23, 21,16, 27,14, 7,20, + 15, 6, 8,19, 24,19, 10,25, 20,17, 29,11, 25,16, 17,24, + 16,24, 28, 9, 10,22, 22,28, 13,24, 5, 5, 9, 1, 18,28, + 29, 4, 1,18, 3,13, 15,12, 18,20, 23, 1, 3, 8, 8,20, + 6,23, 29, 1, 4, 6, 20,29, 6,18, 25,13, 22,12, 26,17, + 17,27, 28,20, 7,17, 21,28, 26,24, 2,22, 11,28, 2,16, + 20,28, 11,12, 9, 7, 15,16, 7,19, 4,21, 1,24, 13,11, + 0, 6, 0, 0, 6,22, 2, 7, 0,20, 6,29, 28,17, 7,25, + 16, 9, 25, 9, 22,25, 13, 0, 14,22, 23,27, 2, 1, 9,21, + 13,18, 6,20, 22,16, 0,12, 29,29, 3,18, 24,10, 9,18, + 7,22, 3,25, 25, 4, 26, 1, 26,25, 22,24, 4,25, 26,13, + 11,21, 4, 2, 27,19, 29,17, 10,26, 22, 7, 10, 2, 8,15, + 22,23, 14, 0, 23,17, 0, 4, 8,11, 19,22, 19, 7, 16,19, + 9,19, 5,10, 16, 8, 15,15, 26,27, 14, 1, 5,19, 1,14, + 14, 5, 20,20, 18,22, 7,12, 21,21, 17,12, 12, 9, 12,15, + 7, 2, 24, 0, 17,11, 0, 7, 28,16, 9,17, 18,15, 11, 1, + 26,26, 9, 5, 26, 7, 4,12, 17,29, 6,12, 19,27, 17,22, + 2,21, 16,10, 4, 8, 5, 2, 27,23, 0,24, 26,20, 27, 6, + 17, 0, 19,20, 11,18, 15,19, 1,20, 7,28, 15,27, 15,24, + 8, 9, 20, 0, 12,20, 6,27, 23,24, 13, 9, 10, 6, 24, 8, + 15, 4, 28, 0, 5, 7, 21, 4, 20,18 +}; +const int p_30_3[] = { + /// Number of people on picture + 30, + /// Number of preferences + 99, + /// Array of preferences + 25, 4, 28, 3, 27,21, 10,15, 9, 1, 7,12, 3,11, 20, 4, + 24,13, 29,28, 26,16, 23,28, 10,19, 0,19, 26,20, 23, 3, + 28,11, 19,19, 15, 8, 1,16, 27,14, 9,17, 8,13, 3, 0, + 13,20, 10, 2, 23,29, 8, 6, 16, 2, 11, 1, 4,15, 25,14, + 18, 4, 14, 4, 16,26, 5, 7, 21,25, 14,13, 7,25, 14,20, + 19,24, 16,10, 10,26, 24,23, 26,19, 23,17, 13, 3, 0,29, + 12,20, 2,24, 18, 1, 11,26, 3,24, 7, 8, 6, 6, 10,21, + 7,18, 0,13, 4,12, 7,20, 3,17, 23,20, 4,27, 29, 2, + 22,23, 24,26, 10,13, 27,27, 6,25, 0,26, 15, 0, 27, 4, + 13,18, 8,21, 2,25, 22,10, 11,25, 13,23, 17,19, 28,18, + 0, 9, 19, 9, 14,24, 26,17, 29,21, 10,22, 12,14, 29, 1, + 12,25, 25,18, 24, 7, 21,18, 18, 8, 4, 8, 16,24, 23, 9, + 25,17, 8, 5, 22, 6 +}; +const int p_30_4[] = { + /// Number of people on picture + 30, + /// Number of preferences + 66, + /// Array of preferences + 19,28, 8,15, 13,20, 7, 7, 3,12, 27, 2, 22,19, 26, 6, + 20, 9, 22,14, 29,26, 6,29, 11, 7, 23, 4, 1,14, 22,23, + 17, 2, 14,29, 19,11, 15, 2, 20,21, 9,17, 27, 9, 5,24, + 1,20, 10, 7, 21,29, 24,16, 24,24, 4,22, 25, 1, 10,27, + 7,25, 12, 0, 25,15, 27,16, 28,12, 25, 9, 0,25, 5,12, + 5,10, 21, 0, 8,28, 9,20, 20,13, 10,26, 6,11, 12,15, + 0,18, 1, 5, 22, 2, 21,13, 9,13, 16,13, 25, 5, 25,29, + 13, 6, 22, 8, 17, 1, 8,19, 13,14, 12, 1, 19, 9, 16, 4, + 5,13, 10,11 +}; +const int p_30_5[] = { + /// Number of people on picture + 30, + /// Number of preferences + 152, + /// Array of preferences + 6, 1, 10,27, 2, 2, 29, 4, 19,20, 1,11, 9, 5, 24,17, + 27,23, 10, 9, 4, 6, 22,10, 24,19, 1,19, 22, 4, 22,13, + 25,20, 10,26, 13,13, 28, 5, 6,24, 15,12, 15, 6, 0,12, + 19,25, 11,26, 7,23, 18,19, 29,17, 28,21, 16, 6, 6,23, + 24, 6, 18, 0, 22,29, 19,24, 11,29, 11,13, 18,27, 12, 2, + 28,17, 28,16, 18,23, 10,12, 0,28, 21, 2, 24,22, 29,27, + 9, 8, 8,20, 2,20, 20,18, 26, 5, 8,10, 27, 1, 11,24, + 26,13, 11,20, 10,13, 10,20, 7, 4, 13,27, 25, 0, 8,15, + 21,28, 13, 0, 12,16, 25,19, 3, 0, 20, 0, 6, 7, 8,12, + 10,17, 18,15, 11,10, 5,19, 0, 9, 7,13, 13,20, 21, 7, + 29, 3, 28,28, 9,16, 8, 7, 9,24, 3,21, 24,20, 2,22, + 11, 9, 26,10, 6,19, 23,14, 27,12, 21,23, 25,13, 22,25, + 21, 4, 12,10, 3,14, 14,16, 9,28, 7,21, 16, 5, 4,28, + 19, 8, 20,24, 9,10, 27,11, 21,26, 26,16, 17,23, 25, 8, + 6,10, 16,15, 5,28, 1,22, 27,17, 7,10, 0,19, 14,14, + 28, 7, 23,15, 8,22, 23,25, 5, 7, 26,11, 14,12, 20,21, + 10,22, 6,27, 0,23, 5,20, 23,23, 0, 1, 29,29, 3, 5, + 18,14, 8,18, 1, 5, 15,11, 22, 3, 4,17, 21,10, 0, 0, + 9,25, 29,25, 22,11, 4, 5, 20,14, 18, 9, 3,15, 2,19 +}; +const int p_30_6[] = { + /// Number of people on picture + 30, + /// Number of preferences + 175, + /// Array of preferences + 18,20, 17,19, 26,10, 25,21, 1,11, 17,16, 0, 3, 6,11, + 19, 5, 13,19, 0,16, 12,14, 2,11, 4, 8, 17, 0, 16,16, + 18, 7, 8,17, 3,28, 5,27, 5,26, 5, 4, 20, 8, 27,10, + 11,15, 7, 6, 16,11, 12,11, 24, 6, 15, 9, 27, 4, 15, 3, + 24,25, 21,24, 0, 0, 21,26, 13,16, 21, 0, 29,11, 23, 2, + 18,10, 15,19, 15, 1, 17,27, 10,23, 15,25, 25,26, 10,17, + 15,15, 21,21, 9, 7, 12,25, 11,22, 17,24, 19,28, 26,24, + 23,17, 10,18, 11, 9, 1,15, 5,20, 28,25, 12,15, 6,17, + 8,27, 25,22, 17,28, 4,23, 20, 5, 12, 0, 11, 1, 7,19, + 22,15, 10,25, 11,16, 5, 5, 25, 5, 3, 6, 3,21, 2,22, + 9,29, 22, 9, 12, 6, 19,11, 9,18, 16, 6, 22, 1, 17, 3, + 5,23, 21, 6, 2, 8, 13, 1, 24, 4, 15,26, 14, 7, 6,13, + 22,25, 6,14, 10, 4, 20,11, 7, 2, 26,28, 1,14, 17, 1, + 22,26, 10,15, 20,17, 25, 9, 1,27, 29,20, 2,24, 10, 2, + 14,24, 17,18, 14,16, 14,19, 3,18, 9,16, 26,22, 6,19, + 11,10, 25,18, 16,19, 23,12, 3, 0, 2,26, 2,27, 6, 2, + 19,19, 14, 5, 14, 0, 25,27, 1, 9, 19,27, 13,18, 26, 5, + 5,24, 13,20, 13, 6, 18,23, 1,25, 15,22, 4, 0, 23,22, + 18, 5, 8,14, 24,17, 10,11, 8,25, 2, 4, 25,14, 27, 6, + 24, 5, 10, 0, 14,17, 8,20, 20,24, 6,22, 11,19, 7,26, + 24, 2, 15,20, 23,18, 16,24, 26, 6, 17, 6, 20,13, 14, 8, + 8,29, 1,19, 16, 1, 19,12, 29, 3, 18,18, 16, 0 +}; +const int p_30_7[] = { + /// Number of people on picture + 30, + /// Number of preferences + 194, + /// Array of preferences + 14,14, 15,12, 15,11, 19,17, 16,19, 14,29, 8, 3, 21, 8, + 28,16, 18,29, 10,24, 15,22, 24, 4, 3,13, 20, 5, 1, 0, + 27, 1, 20, 9, 2, 2, 1,15, 15, 3, 23,22, 16,17, 22, 8, + 6, 8, 5,17, 29,25, 18,17, 18,15, 21,29, 20, 3, 10,27, + 1, 5, 29,15, 28, 5, 15,15, 6, 1, 11,21, 18,23, 8,26, + 10, 7, 9, 0, 6,15, 29,20, 9, 6, 4,10, 18, 0, 10, 1, + 11, 1, 20,29, 20,23, 15, 9, 1,25, 9,20, 2,16, 7,18, + 1,20, 5,22, 0, 9, 9,18, 27,27, 8,29, 2,23, 9,16, + 4,29, 26, 1, 0, 2, 4,26, 12,28, 16,28, 6,11, 22,28, + 23,26, 14,28, 6,16, 11, 2, 6, 7, 3,29, 12,17, 13,26, + 17,18, 19,18, 12,18, 6,25, 7,17, 16,12, 19,25, 19, 4, + 2, 7, 9,12, 29,12, 11,19, 8,28, 17,23, 8, 5, 16, 4, + 13,20, 5,28, 14, 8, 18,11, 4,18, 22,24, 14, 7, 9, 7, + 1,26, 7,12, 29,21, 23, 3, 27,13, 15, 7, 0,17, 3, 8, + 2, 3, 21, 7, 29,24, 1,29, 7,27, 17,24, 5,19, 15, 6, + 27, 7, 25, 1, 4,15, 17,28, 17,21, 16, 0, 27, 5, 24,11, + 17, 6, 0, 8, 7,14, 21, 1, 21,25, 27, 3, 0,13, 18, 9, + 26, 9, 5,29, 5,16, 7,20, 17, 8, 7,22, 0, 3, 28, 6, + 21,13, 4,13, 2,10, 10,18, 5, 1, 29, 2, 28,11, 17,15, + 0,18, 26,22, 20,11, 17,27, 26, 5, 0,29, 12, 0, 26,29, + 2,13, 21, 0, 9,27, 13,14, 27, 0, 19,10, 2,11, 4,16, + 24, 0, 27,17, 19,27, 11,25, 14,21, 18,12, 12,14, 12,10, + 13,21, 7,25, 19,29, 21,11, 27,20, 2, 1, 9, 2, 15,21, + 11, 4, 6, 5, 18, 6, 8, 7, 7, 4, 20,13, 27,11, 19, 0, + 28, 2, 24,10 +}; +const int p_30_8[] = { + /// Number of people on picture + 30, + /// Number of preferences + 5, + /// Array of preferences + 5,23, 11,16, 20,16, 22,11, 23, 2 +}; +const int p_30_9[] = { + /// Number of people on picture + 30, + /// Number of preferences + 110, + /// Array of preferences + 11,24, 6, 3, 23, 9, 1,14, 20,29, 26,10, 4,25, 4,17, + 7,23, 5,21, 15,22, 5,12, 5,16, 18,21, 1,10, 12, 6, + 16,21, 26,17, 14,15, 20,27, 4, 5, 7, 5, 27, 6, 1,13, + 1,28, 4,14, 12,18, 3,15, 21,19, 26,25, 7,27, 27,20, + 4,23, 21,20, 26,12, 9,21, 6,19, 11,21, 7, 2, 6,13, + 23,10, 27,21, 17,12, 14, 3, 9, 0, 14,18, 18, 6, 17, 5, + 3,20, 28, 7, 13,21, 23,18, 5,15, 13,24, 3,11, 9, 4, + 15, 2, 12,27, 18,27, 4, 0, 22, 3, 1,22, 17,10, 6,25, + 1, 0, 23,24, 11, 9, 29,16, 17, 9, 12,24, 18,26, 11,13, + 8, 5, 6,27, 24, 3, 23,16, 13, 4, 10,12, 23,11, 26, 1, + 8, 8, 28, 1, 17, 1, 29,21, 23, 8, 4, 8, 20,28, 8,22, + 1,20, 1, 6, 14, 0, 15, 4, 13,20, 19, 1, 12,21, 15,18, + 17, 7, 18,14, 18,17, 5,14, 17,25, 6,11, 20,24, 1, 1, + 20,21, 13,22, 22, 8, 16, 4, 22,25, 9,20 +}; +const int p_30_10[] = { + /// Number of people on picture + 30, + /// Number of preferences + 221, + /// Array of preferences + 29, 7, 28, 0, 6, 0, 2,23, 12,18, 9,11, 18, 1, 11,19, + 8, 2, 19, 3, 26, 1, 28,20, 16,14, 22, 8, 13, 4, 26,13, + 15,16, 11,25, 4, 7, 6,19, 15, 1, 2, 9, 25,26, 14,12, + 21, 5, 20, 6, 24,20, 1,28, 13,16, 27,28, 21, 2, 17,23, + 7,28, 25,10, 29, 3, 12, 4, 23,23, 23, 6, 1, 8, 16,21, + 12,25, 12,28, 2,27, 25,25, 1,20, 0,28, 8,21, 0,26, + 21, 9, 5,12, 25,29, 3,19, 10,19, 11,16, 25,19, 0, 5, + 14,19, 4,13, 9, 9, 10, 5, 17,17, 17,18, 20,15, 21,28, + 5,27, 28,16, 7,11, 9, 8, 7,26, 27,20, 24,27, 23,17, + 0, 0, 26,19, 18,13, 23,14, 1, 3, 17,22, 21, 3, 7, 1, + 24, 2, 3,26, 27, 1, 5, 1, 27, 2, 29,19, 14,17, 28, 9, + 22,15, 15, 5, 6,21, 19,14, 10,13, 5, 0, 1,16, 14,25, + 1,25, 4,24, 20,23, 5, 8, 22, 5, 18,12, 6,26, 18, 4, + 10,12, 3, 5, 14,16, 20,26, 19,28, 11,22, 27,21, 9, 0, + 24,16, 26,26, 20, 0, 19,22, 13,19, 13,25, 5,21, 20,12, + 7,23, 11,10, 25,11, 24,19, 20, 5, 29,13, 16,27, 7, 2, + 9, 4, 12,27, 9,22, 24,25, 29,15, 24, 6, 1,29, 4,20, + 11,24, 27, 3, 26,21, 23, 2, 13, 1, 10, 0, 14,24, 11, 8, + 25, 4, 24,18, 2,25, 8, 3, 4,28, 8,27, 10,28, 29,25, + 2,11, 7,25, 13, 2, 10, 7, 13,17, 28, 4, 15,19, 22, 4, + 4,22, 4,27, 16,25, 13,23, 3,17, 19,26, 2,13, 2,16, + 26,17, 4,16, 13,29, 10,21, 6,16, 15,24, 29,14, 13,13, + 21,14, 2,19, 26,10, 28, 2, 3, 1, 1,24, 5, 7, 1, 9, + 17, 7, 3,27, 1,19, 22,14, 9,10, 1, 5, 12,24, 23,24, + 19, 2, 3,21, 6,25, 8, 6, 27, 7, 16,12, 26,22, 12,16, + 26,16, 0,13, 14, 5, 15, 9, 17,27, 4,19, 7,27, 21,11, + 2,20, 13,24, 23,28, 3,10, 24,22, 20, 9, 14, 0, 23, 4, + 19, 5, 0,25, 28,21, 25,16, 7,24 +}; +const int p_30_11[] = { + /// Number of people on picture + 30, + /// Number of preferences + 177, + /// Array of preferences + 9,11, 15, 2, 11,21, 19, 1, 6, 7, 2,15, 25, 8, 18, 7, + 26,27, 16, 5, 13,21, 28,20, 23, 6, 6, 4, 14,18, 3,26, + 23, 4, 1,13, 18,15, 21,18, 0,17, 20,15, 4, 8, 14,20, + 21,17, 8,28, 27, 8, 26, 8, 5,22, 22,22, 10,28, 14,23, + 11,27, 26,12, 17, 2, 9, 5, 4, 9, 21,23, 15,21, 26,11, + 29,21, 19,19, 2, 2, 18, 6, 5,13, 25,21, 11, 5, 24,18, + 13,25, 14,29, 18,12, 15,27, 16,24, 6,16, 8,29, 17,11, + 12, 8, 6,29, 12,18, 9,23, 27,22, 4,17, 1, 1, 28,29, + 27, 2, 27,12, 13,19, 7,20, 27,16, 14,22, 16,29, 18,21, + 20,14, 20,16, 28,17, 13,11, 14,10, 18, 0, 10,25, 25, 1, + 7,22, 23,23, 29,22, 14, 0, 14,11, 20, 0, 21,13, 5,28, + 29,20, 1,21, 19, 8, 5, 3, 21,25, 10, 0, 14,21, 28, 4, + 10, 3, 6,24, 4,27, 6,22, 4, 2, 5,27, 29,23, 25, 0, + 1,24, 14,26, 28, 3, 28,12, 26,21, 7, 0, 18,28, 2,16, + 5, 7, 18,24, 18,10, 2, 9, 4,15, 4,16, 3,10, 16,27, + 12,17, 15,25, 5,29, 2, 6, 9,10, 26, 6, 24, 7, 18, 9, + 11,22, 10, 5, 24,16, 18,25, 8,22, 15,11, 12,27, 10,19, + 29,10, 29,27, 26, 9, 4,12, 20,17, 0,15, 0,23, 23,12, + 10,21, 23,20, 4,14, 20, 9, 12,22, 27,23, 25,15, 17, 7, + 3,17, 17,14, 2,26, 29,17, 8, 6, 11,14, 15, 0, 11, 2, + 1, 6, 19,25, 19,15, 6, 3, 29,26, 8,12, 0,29, 5, 8, + 8,26, 23,14, 22, 1, 16, 2, 12,29, 13,24, 6, 1, 1, 8, + 25,12 +}; +const int p_30_12[] = { + /// Number of people on picture + 30, + /// Number of preferences + 213, + /// Array of preferences + 20,23, 1,15, 4,15, 10,23, 9,10, 4, 9, 18,14, 10, 7, + 9,26, 5,11, 2,15, 17, 7, 8,29, 7,27, 3, 3, 4,12, + 2,18, 17,28, 7, 6, 26, 7, 0,12, 10, 0, 28,19, 3,12, + 9,27, 10,16, 23,21, 11,11, 14, 2, 13,13, 21, 1, 27,27, + 26,14, 14, 8, 23, 2, 23,23, 20, 6, 5, 7, 24,26, 3,24, + 12,19, 11,22, 1, 1, 5, 4, 26,26, 18,20, 4, 6, 14,11, + 28,18, 0,16, 15,10, 8, 3, 18,15, 15, 2, 23,16, 13, 7, + 10,13, 29,25, 1,17, 25,10, 28,12, 9, 4, 5, 3, 28,28, + 24,27, 10,20, 15,26, 13,18, 3,19, 27,13, 7,24, 6, 5, + 3, 8, 27, 4, 26,23, 13,21, 16, 9, 13,23, 4,19, 11, 3, + 27, 7, 6, 6, 6, 4, 4,18, 16, 3, 28,17, 23,19, 10,19, + 24,11, 26,16, 0, 3, 19,26, 19,24, 11,28, 24,17, 10,11, + 18, 3, 14,29, 25,21, 16, 5, 7,15, 2, 7, 1,21, 4,20, + 28, 3, 28,29, 11, 5, 9, 9, 1,29, 7,20, 26,24, 11,10, + 27, 0, 8,17, 24, 1, 23,15, 19,29, 24,16, 0, 2, 25, 2, + 19,27, 0,13, 24, 6, 18, 0, 21,21, 27,28, 10, 2, 26,19, + 10,24, 11,19, 1, 5, 25, 5, 5,22, 12,25, 18,24, 28, 6, + 2,29, 11,14, 20,25, 13,10, 16,13, 15,28, 7, 5, 29,17, + 23,14, 17, 0, 22, 9, 3,23, 20,11, 19, 1, 6,28, 0,10, + 5,29, 3,28, 3,22, 27,17, 9,17, 2,13, 17,26, 0,24, + 4,26, 17, 9, 23,27, 2, 9, 10,28, 19,21, 26, 4, 22, 6, + 5, 2, 14,24, 25, 3, 0, 0, 5,25, 17,23, 22,10, 4,27, + 13,27, 27,23, 17,15, 2,14, 19,20, 6, 0, 11,21, 29,15, + 24,29, 3,10, 18,29, 24,28, 16,24, 8,22, 20,10, 26,10, + 24, 9, 0,21, 16,20, 4,24, 16,29, 18,21, 28, 7, 8, 8, + 10,14, 4, 3, 3, 5, 6, 9, 14,25, 26,27, 21,22, 1,23, + 15,12, 22, 7, 17,17, 21, 3, 24,23 +}; +const int p_30_13[] = { + /// Number of people on picture + 30, + /// Number of preferences + 82, + /// Array of preferences + 27, 9, 7, 4, 27, 0, 18,21, 29, 2, 14,12, 22, 2, 4,25, + 10,27, 17,20, 7,23, 9, 9, 26, 5, 5,22, 27, 1, 18, 5, + 5,15, 6, 5, 18,13, 1,12, 6,22, 11,28, 27,11, 14,16, + 23, 6, 4,28, 28,24, 19,13, 11,26, 19, 0, 27, 6, 12,29, + 20,21, 21, 8, 20,27, 9,27, 28, 8, 1, 4, 9,15, 5, 1, + 27,25, 4,10, 27,26, 13, 0, 5,10, 13,29, 19,17, 4, 0, + 5, 5, 10,21, 5,13, 11,15, 8,18, 29, 5, 27,17, 2,24, + 11, 0, 14,11, 15,28, 14, 4, 16,22, 24, 3, 24,18, 9,17, + 8, 8, 12,22, 3, 2, 1,25, 13,24, 24,14, 3, 6, 18,23, + 0,21, 6,28, 26,12, 7,19, 16, 8, 7,13, 25,16, 17,14, + 19,29, 23,18 +}; +const int p_30_14[] = { + /// Number of people on picture + 30, + /// Number of preferences + 51, + /// Array of preferences + 18,12, 28,11, 22,25, 10,22, 24,20, 26,23, 21, 9, 19,20, + 5, 5, 15,24, 10,17, 17,17, 29,13, 22,14, 17,18, 11, 6, + 20, 1, 3,28, 23, 3, 12,14, 8,22, 7, 4, 29,20, 21, 4, + 0,14, 21,26, 29,29, 17, 9, 9,12, 28,26, 29, 0, 26, 2, + 4,29, 12,12, 7, 2, 9, 1, 21,21, 12, 4, 13, 3, 24,13, + 24,27, 3, 7, 13, 8, 22,12, 5,12, 20,11, 1,21, 18,10, + 26,24, 28,18, 27,20 +}; +const int p_30_15[] = { + /// Number of people on picture + 30, + /// Number of preferences + 130, + /// Array of preferences + 6, 1, 13,14, 28,13, 29,27, 18,26, 28,16, 13, 3, 10, 7, + 3,21, 3,26, 11,13, 3,27, 0,22, 3,28, 25,13, 7,11, + 21,18, 4,25, 0,16, 8,17, 11, 5, 8,14, 28,24, 11,14, + 29,11, 26, 4, 12,23, 2,19, 29,14, 4,22, 21,19, 0, 0, + 10,12, 19,23, 13,24, 11, 4, 16, 8, 3, 6, 27,17, 0, 6, + 15, 4, 12, 8, 0,29, 26,17, 14,26, 10,29, 28, 5, 10,21, + 5,18, 11,21, 19, 6, 11, 0, 8,27, 13,21, 12,24, 8, 0, + 23,10, 3, 3, 22, 7, 5, 9, 24,15, 10,17, 13,19, 0,10, + 13,12, 7,15, 3,15, 20,14, 7,22, 16,17, 17,17, 7,20, + 18, 9, 10,25, 21,25, 7, 3, 12, 5, 10, 6, 15,20, 5,14, + 19,20, 23,27, 22,13, 28,26, 25,25, 0,14, 24,25, 4, 5, + 14,15, 28,28, 10,23, 17, 2, 1,14, 20,13, 14,22, 3,11, + 18, 1, 2,14, 9,18, 18,25, 24, 0, 24,24, 18, 3, 10,26, + 27,14, 27, 4, 10, 1, 17,29, 20, 6, 20, 1, 22,17, 20,24, + 2, 2, 0,28, 23,14, 24,19, 5,16, 19,19, 7, 7, 1, 9, + 13,22, 17,13, 19,17, 25, 3, 8,22, 13,10, 15,24, 24,17, + 10,20, 4,26 +}; +const int p_30_16[] = { + /// Number of people on picture + 30, + /// Number of preferences + 175, + /// Array of preferences + 12,15, 19,23, 15,17, 18,21, 19,19, 29,29, 17,24, 15, 7, + 6,16, 0,20, 16,11, 15,22, 16,20, 19, 1, 26,16, 11,22, + 11,19, 19, 3, 25, 9, 17, 6, 25, 8, 24, 8, 7,22, 19,16, + 2,20, 11,16, 10, 1, 22,27, 27, 6, 9,22, 0,15, 12, 2, + 21,26, 27,15, 1, 8, 9,27, 26, 2, 26, 8, 23, 1, 14,23, + 27, 8, 11,27, 17,15, 5,14, 9, 7, 21,11, 16,24, 16,12, + 23, 2, 4,15, 9,19, 27,19, 23,10, 13, 0, 16,17, 9, 6, + 27,28, 26, 5, 7,29, 0,12, 16,25, 22,20, 25,24, 10, 2, + 20, 3, 28,26, 21,15, 9,16, 20, 4, 19,29, 18,22, 0,25, + 25,11, 25, 4, 22, 4, 22, 2, 1, 9, 22, 7, 23,13, 27,20, + 24,24, 4,21, 22,19, 13,20, 15,28, 10,10, 20, 5, 10, 4, + 24, 2, 2,11, 6, 4, 18,20, 8, 0, 15, 1, 18,27, 0,18, + 5,16, 28,17, 13,23, 15,14, 20,18, 18, 0, 29,14, 17, 4, + 16,28, 20, 8, 14, 5, 10, 9, 13,10, 29, 5, 15,23, 5,29, + 10,15, 8,16, 6,12, 1, 3, 18,11, 9,25, 13, 7, 12,29, + 2, 2, 24,15, 0, 8, 13,15, 8,17, 13,12, 20, 9, 23,28, + 10, 6, 11, 2, 23, 4, 4, 3, 26, 9, 16,18, 14,24, 10,21, + 0,24, 29,10, 21, 0, 10, 0, 16,14, 6,17, 8,18, 29,12, + 21, 3, 22,14, 20,26, 3,12, 7,18, 21, 6, 10,26, 25,19, + 7,13, 13, 8, 15, 4, 7,27, 28,20, 7, 2, 21,17, 17,28, + 26,17, 18,29, 14,16, 28, 1, 10,12, 10,14, 26, 7, 13, 5, + 26,26, 1,21, 20,23, 4,20, 12,25, 12,12, 14,22 +}; +const int p_30_17[] = { + /// Number of people on picture + 30, + /// Number of preferences + 167, + /// Array of preferences + 14, 5, 4,18, 21,13, 15,26, 13,26, 19, 6, 17,17, 26, 2, + 2,25, 26, 4, 22,13, 21,10, 17, 1, 17,22, 16, 3, 9,26, + 25,22, 6,28, 2,12, 7, 6, 8,11, 18, 3, 28,23, 2,21, + 19,13, 9,13, 2,29, 21, 6, 18, 9, 8,26, 10,18, 19, 0, + 17,16, 7,24, 17,25, 28,25, 3, 5, 2, 7, 3,12, 19,14, + 27,29, 26,23, 20,19, 3,29, 21, 1, 25,13, 1,13, 18,14, + 14,11, 14, 8, 19,20, 12,20, 17,28, 25, 7, 22, 5, 11,17, + 22, 2, 8, 5, 22,21, 7,23, 19,15, 4,29, 4,11, 23,28, + 0, 0, 23,13, 19,27, 29,13, 18,18, 12, 1, 26,27, 4,19, + 18,12, 15, 0, 5, 9, 23,29, 21, 3, 15,14, 1,22, 21,12, + 0, 7, 18,10, 19, 1, 11,21, 8,20, 9,18, 17,24, 0,25, + 1, 6, 24, 2, 5, 1, 7,26, 22,28, 22, 6, 26,16, 27, 0, + 19,18, 6, 0, 16,23, 7,15, 5, 4, 25,10, 9, 5, 23,16, + 18,20, 16,14, 9, 8, 28,19, 29,19, 15,19, 5,27, 12,13, + 2, 6, 27,13, 3,17, 16, 4, 8, 0, 23,17, 28, 3, 8,13, + 29,25, 14,13, 22,14, 22, 3, 26,13, 29,22, 27, 9, 17,19, + 16, 6, 23,12, 2,19, 11,28, 27,20, 10,20, 18, 8, 12, 5, + 19, 5, 26,22, 3, 3, 17, 4, 13,23, 7,25, 13,27, 10, 8, + 11,12, 25, 2, 11,15, 5,23, 18,11, 29, 5, 0,29, 15, 4, + 16,26, 26, 8, 1,21, 8,23, 26, 6, 2,27, 23,11, 5,22, + 24,28, 21,20, 24,12, 26, 9, 9,14, 1,23, 21, 4 +}; +const int p_30_18[] = { + /// Number of people on picture + 30, + /// Number of preferences + 87, + /// Array of preferences + 27,10, 4,18, 11, 0, 16, 0, 5,14, 6,20, 7,13, 21, 7, + 27,21, 10,25, 23, 1, 22, 8, 26,27, 20,23, 23,21, 12,23, + 25,11, 23, 8, 9,17, 18, 4, 28,26, 2, 2, 0,21, 25,10, + 29,21, 18,19, 0, 3, 3,25, 0, 7, 2, 6, 11, 1, 13,18, + 9,26, 27,18, 22, 0, 27, 6, 13, 0, 25,22, 13,22, 26, 0, + 17,12, 6,21, 22,10, 24,13, 1,13, 3,28, 25,12, 17, 3, + 21, 5, 29, 5, 29, 4, 5,24, 1,27, 2,25, 4,20, 25,16, + 6,10, 0,17, 5, 9, 6, 8, 15,18, 12, 1, 22,17, 23,14, + 21, 8, 21,27, 13,28, 24, 0, 0,13, 0,23, 24, 2, 19,12, + 20,17, 24,19, 0, 4, 0,25, 1,21, 11, 6, 0, 0, 27,25, + 8,10, 12,29, 21,26, 15,17, 2, 1, 1,29, 13,21 +}; +const int p_30_19[] = { + /// Number of people on picture + 30, + /// Number of preferences + 146, + /// Array of preferences + 28,21, 9,28, 24,13, 23, 3, 28,13, 23,11, 10,25, 13,23, + 14,23, 21,15, 21,28, 1,23, 22,22, 3, 1, 16,28, 3,28, + 0,20, 5,10, 15,12, 27,19, 25,14, 19,25, 11,17, 10,21, + 15, 4, 6,28, 28,17, 7,21, 2,11, 14,22, 26,19, 20, 6, + 25,11, 15,10, 11, 8, 3, 4, 27,29, 19, 1, 19, 3, 4, 7, + 28, 7, 10,18, 14,20, 20,24, 10, 6, 18,21, 4,29, 2,12, + 7,11, 15, 6, 17, 4, 3,29, 23,24, 5,22, 2,22, 0,21, + 1,13, 3,23, 16, 0, 6,27, 16,29, 29,29, 26,21, 1,19, + 20,10, 10, 0, 29,10, 11,21, 26,29, 19,11, 13,11, 29, 4, + 29,27, 16, 8, 17, 0, 22,13, 24, 1, 29,20, 1,22, 7,27, + 29,12, 18,19, 1,12, 28,16, 9,15, 22,12, 19, 4, 6,13, + 8,28, 4,14, 28,10, 5,26, 1,25, 27,10, 18, 8, 2,26, + 19,14, 14,14, 21,13, 26, 1, 12,28, 13, 7, 17,22, 15, 2, + 5,11, 14,17, 14, 5, 22, 3, 6,16, 13,27, 24,26, 1, 1, + 2, 9, 13, 8, 12,13, 24, 7, 10,13, 4,22, 18,20, 24, 2, + 26,23, 12, 3, 2,24, 6,19, 7,15, 25,28, 9,16, 12,18, + 29, 3, 1, 2, 23,14, 0, 3, 26,26, 28,27, 21,20, 20, 4, + 8, 6, 24,25, 6, 7, 1, 0, 26,17, 25, 1, 8,13, 2, 6, + 9,21, 8, 8 +}; + +const int p_40_0[] = { + /// Number of people on picture + 40, + /// Number of preferences + 223, + /// Array of preferences + 18,26, 32,31, 38,31, 8,33, 36,15, 8,23, 34, 6, 33,19, + 38,11, 18, 9, 31,37, 30, 0, 33,22, 37,19, 26,30, 24,19, + 29,29, 13,18, 12,18, 35,30, 34,35, 2, 9, 31, 9, 21,19, + 24,26, 20,20, 30,14, 27,36, 6,16, 38,23, 7,21, 29,20, + 35,34, 15,39, 8,31, 10,21, 34, 5, 23,38, 34,23, 31,20, + 12, 8, 7,22, 4,37, 27,10, 31,31, 31,10, 7,15, 29,16, + 35,36, 4,30, 3,39, 3,32, 18, 2, 17,35, 9,15, 21,16, + 9,19, 10,23, 37, 1, 13,36, 13,12, 39, 9, 19, 3, 1,32, + 26, 8, 14,23, 35,13, 24,37, 5, 9, 18, 6, 13,21, 32, 2, + 2, 7, 29,36, 19, 9, 11,23, 17,15, 39, 8, 27,29, 12,35, + 12, 7, 8,10, 39,30, 29,25, 11,15, 7,28, 33,21, 24,32, + 36,35, 26,14, 0, 4, 37,28, 37,12, 9, 2, 9,17, 7,35, + 1, 1, 9,34, 8,17, 6,10, 22,34, 35,25, 32, 1, 12,38, + 1,24, 5,28, 11,10, 0,31, 36, 7, 19,10, 16, 8, 24,11, + 5, 3, 1,11, 27, 3, 5, 4, 23, 9, 29, 8, 28, 6, 1,36, + 1,27, 37,35, 10, 8, 5,10, 27, 9, 3,19, 9,31, 4,28, + 38,19, 15,36, 29, 9, 25,31, 23, 6, 13,30, 14,17, 4, 1, + 0,35, 33,29, 13,34, 28, 0, 2, 3, 8, 1, 19,28, 38,13, + 8,38, 35,29, 32,28, 22,38, 16, 2, 18,17, 32,34, 8,14, + 35,32, 8,26, 10,34, 26, 1, 10,27, 0,32, 14, 0, 31,32, + 2, 0, 14, 4, 25,21, 8,37, 27,32, 25, 6, 22,16, 30,20, + 7,29, 3,38, 25,35, 32, 9, 2,28, 5,19, 38,30, 39,16, + 1, 8, 25,14, 4, 4, 24, 3, 21,36, 14,19, 32, 4, 9,22, + 6, 5, 31,27, 35,24, 22, 0, 5,39, 31,35, 4,17, 32,14, + 24,33, 11,22, 21,25, 15,31, 24,17, 19,23, 39,33, 25,27, + 12,29, 10,20, 35,10, 36,16, 18,11, 37,32, 2,10, 3, 7, + 3, 0, 7,37, 10,29, 2,17, 22,13, 2,37, 28,27, 17,21, + 20,34, 7,33, 9,38, 36, 2, 32,39, 12,32, 5,15 +}; +const int p_40_1[] = { + /// Number of people on picture + 40, + /// Number of preferences + 229, + /// Array of preferences + 32,21, 37,10, 23,34, 28, 9, 6, 1, 9, 0, 35,39, 34, 6, + 36,28, 3, 3, 13,22, 24,21, 36,25, 10,28, 29,22, 34,14, + 15, 5, 12,20, 5, 3, 11,15, 34,39, 13,23, 22,25, 4,33, + 13,25, 31,29, 25,20, 14, 4, 23,17, 11,33, 29,25, 20,24, + 17,29, 26,27, 35,29, 38,31, 7,37, 13,29, 21,11, 15,26, + 35,20, 18, 9, 39, 7, 25, 5, 17, 1, 14, 9, 30,31, 7,15, + 32, 9, 38,26, 23,38, 38,32, 8,35, 32,39, 0,39, 28,36, + 32, 6, 8, 3, 21, 2, 38,11, 9,37, 34,36, 27,28, 27,21, + 5,11, 26,23, 4, 2, 0,37, 34, 8, 30,21, 29,32, 33, 0, + 19,11, 11,31, 31,19, 4, 1, 18,37, 21,17, 22, 9, 3,31, + 31,15, 0, 6, 7,20, 20, 0, 5,24, 9, 9, 2,22, 26,11, + 5, 5, 16, 4, 27,32, 23,13, 38,39, 5,33, 17, 8, 27, 8, + 16,35, 11,35, 34,29, 28, 5, 21, 0, 39,29, 14,20, 11, 7, + 13,36, 20,11, 18, 7, 14,28, 18,29, 22,29, 0,26, 17,31, + 28,11, 19,22, 2,23, 6,30, 39,21, 37,26, 35, 4, 32,10, + 11,30, 34, 3, 3,35, 24,12, 8,23, 32, 4, 24,31, 12,23, + 38,15, 20,16, 37,24, 19,34, 1,38, 3,27, 20,33, 19,35, + 37,39, 34,25, 7, 5, 11,22, 38, 2, 3,30, 30,38, 24, 0, + 13,34, 21,28, 1, 4, 15,16, 2,15, 22,15, 15, 1, 9,30, + 18,16, 9, 8, 23, 2, 1, 1, 10, 2, 29, 2, 34, 0, 19, 7, + 3,17, 13,39, 31,39, 28,37, 16,18, 29, 7, 30, 5, 7,24, + 1, 3, 15, 3, 31, 3, 8,25, 14,24, 15,24, 1,34, 20,10, + 24,33, 4,21, 8,22, 9, 6, 17,21, 37, 0, 14,38, 5,30, + 10, 6, 15,13, 11, 0, 25,34, 38,30, 1,15, 9, 2, 34,20, + 13, 4, 0,34, 21,14, 13,35, 12,32, 28,39, 33,14, 20,20, + 27,23, 22,26, 13,16, 9,16, 31,24, 35,14, 12, 6, 38,28, + 36,11, 6,16, 26, 4, 22, 1, 39,28, 9,19, 28,12, 6,25, + 13, 7, 6,37, 32, 3, 27,18, 8,36, 6,23, 35,16, 10,29, + 26,12, 6,11, 26,35, 23,28, 34,22 +}; +const int p_40_2[] = { + /// Number of people on picture + 40, + /// Number of preferences + 345, + /// Array of preferences + 3,24, 16,28, 27,36, 31,12, 0,16, 19,32, 39, 4, 38, 0, + 36,17, 2,20, 36,37, 22,32, 32,12, 28,21, 34,35, 13,31, + 16, 9, 15,32, 39,27, 34,36, 23, 3, 5,16, 11, 9, 5, 4, + 29,15, 25,13, 33,25, 35,36, 38, 4, 37,20, 10,12, 9, 0, + 26,29, 23,36, 0,14, 14,24, 3,28, 19,11, 6,14, 25, 4, + 31, 0, 36,38, 4,10, 7, 4, 4,38, 21,35, 37,16, 39, 9, + 27,24, 11, 8, 8, 8, 20,31, 24,36, 30,36, 21, 5, 3,18, + 26,24, 15,37, 12, 0, 11,25, 28,18, 25,19, 7, 3, 3,17, + 4, 7, 25,25, 7,19, 33,12, 38,14, 23, 4, 9, 8, 19,38, + 12,25, 17,39, 29,16, 16,33, 21,34, 6,11, 38,31, 26,36, + 7, 2, 32,31, 12,16, 29,25, 36, 4, 17, 1, 1,39, 15, 8, + 17,31, 37,38, 37,32, 30,30, 2, 1, 9,24, 1,20, 37,28, + 32,32, 8,15, 7,34, 31, 8, 8, 9, 11,35, 18,34, 23, 2, + 31,14, 13, 1, 28, 3, 14, 5, 25,32, 6,36, 23,33, 17,24, + 29,33, 0, 4, 0, 7, 31, 1, 28,32, 1,21, 30,25, 17,26, + 25,16, 9,15, 4,23, 31,32, 5,20, 16,21, 38,12, 32,33, + 36,14, 8,21, 15, 3, 24,19, 17,28, 24,11, 4,25, 1,29, + 21,36, 35, 1, 35,12, 23, 8, 7, 6, 22,25, 38,29, 20,15, + 22, 8, 27,11, 35,21, 13, 0, 21,31, 14,32, 6, 1, 20,29, + 39,24, 16, 8, 11,13, 38,23, 10, 8, 25, 9, 21,18, 3, 3, + 12,18, 19,19, 11,16, 19,26, 33, 8, 36,30, 22, 9, 0,34, + 21,22, 33, 0, 1,18, 39,38, 3, 9, 22,11, 3, 0, 23,26, + 3,20, 15, 0, 32, 4, 22,24, 10,30, 37,26, 17,27, 33, 2, + 0, 1, 17,17, 14,23, 3,36, 36, 2, 11,36, 21, 7, 26,33, + 14,25, 0,36, 6,30, 15, 5, 36,18, 6,26, 18,13, 34, 7, + 34, 0, 1, 5, 34,34, 20, 7, 0,18, 9,31, 39,16, 8,31, + 24,14, 36,26, 31, 4, 9,25, 27,10, 28,20, 21, 2, 1,17, + 2,16, 38,32, 8,13, 24, 1, 36,15, 16, 2, 5, 2, 21,11, + 15,10, 27,21, 27,12, 21,37, 30, 5, 8,37, 27,37, 8,12, + 36,24, 38,15, 5,36, 9, 3, 16,25, 29,37, 1, 7, 16,17, + 24,18, 26,15, 16,20, 19, 2, 32,36, 10,37, 12,26, 9,20, + 2,31, 7,23, 28,16, 18,31, 14,33, 31,15, 3,19, 37, 5, + 30,18, 9,34, 34,37, 11,34, 20,38, 12,30, 4, 1, 18, 5, + 18,29, 7, 1, 15,13, 29,35, 8,36, 2,36, 32,26, 8,23, + 30,37, 6,34, 5,19, 6,12, 14,26, 26, 7, 18,26, 7, 8, + 16,23, 9,35, 10,20, 26,16, 9,38, 13,18, 12, 9, 32, 7, + 23,39, 7,25, 32,11, 4, 4, 2,22, 10,23, 15,12, 16,24, + 2,35, 8,20, 39,11, 35,14, 25,30, 9,21, 35, 4, 39,33, + 7,17, 34, 3, 17,10, 1, 9, 29,38, 4,16, 22,14, 18,14, + 14,34, 33, 6, 11, 2, 28, 0, 37,34, 39,22, 20,32, 7,18, + 14,20, 10,14, 36, 5, 20, 0, 23, 1, 23,38, 18,18, 29,29, + 22,38, 2,25, 35,26, 1,16, 11,31, 13,36, 15,21, 17,14, + 3, 2, 2,17, 27, 8, 6,13, 0,23, 1,10, 37,17, 12,15, + 8,17 +}; +const int p_40_3[] = { + /// Number of people on picture + 40, + /// Number of preferences + 87, + /// Array of preferences + 11,20, 16,33, 10,20, 18,27, 7,33, 15,36, 35,32, 36, 1, + 1,20, 39,39, 19,12, 38,21, 39,23, 25, 4, 8,30, 23,32, + 14,28, 10,10, 30,27, 13,36, 32,11, 22,17, 19,23, 16, 4, + 26,15, 37,16, 28,23, 36, 3, 37,35, 9, 4, 25,26, 30,21, + 17,15, 8,27, 3,20, 36,36, 23,36, 18,14, 27,29, 22,25, + 13, 8, 20,21, 23, 1, 2,15, 4,11, 25,31, 24, 5, 3,14, + 19,29, 11,25, 20,20, 29,15, 1, 4, 34,24, 35,25, 26,18, + 39,33, 29, 2, 33, 8, 34,21, 3,22, 31,34, 25, 1, 39,37, + 9,31, 13,14, 36,29, 37, 2, 34,32, 11, 2, 10,15, 34,34, + 3, 2, 6, 2, 15,12, 11,34, 16,17, 6,39, 19,34, 7,22, + 32,34, 8,17, 39,21, 5,35, 9,25, 34,25, 19,28 +}; +const int p_40_4[] = { + /// Number of people on picture + 40, + /// Number of preferences + 208, + /// Array of preferences + 39,31, 17, 2, 6,27, 13, 5, 12,24, 12, 2, 27,29, 32,31, + 21,29, 21, 5, 3,37, 30,15, 2,31, 18,34, 38,25, 0,26, + 20,34, 8,22, 25, 4, 24,38, 34, 0, 1,14, 6, 0, 19,22, + 27,14, 20, 1, 6,25, 5,37, 18,22, 29,29, 13,25, 7,22, + 22,20, 28,14, 20,27, 37,33, 34,34, 20, 3, 21,35, 11,20, + 9,35, 31,17, 23, 3, 6,14, 26,19, 2,21, 13,30, 26,36, + 13,37, 10,26, 26,14, 18, 0, 7, 4, 24, 1, 6, 4, 38,16, + 30, 9, 10,29, 24,35, 26,24, 39, 0, 7, 9, 6,34, 30,32, + 3, 6, 11, 5, 8,36, 9,39, 14,33, 35,33, 14,18, 27, 7, + 31, 2, 16, 7, 33, 0, 39, 2, 2,18, 23,28, 8, 7, 35,36, + 20,37, 20, 6, 21,28, 27, 1, 32,29, 3,24, 27,15, 27,34, + 32,19, 23,15, 10,39, 10,32, 12,12, 23,13, 37,12, 36,10, + 11,18, 4,27, 24,15, 18,38, 24, 3, 7,28, 33,17, 19,38, + 4,30, 29,17, 37,19, 10, 3, 19,30, 26,11, 27,39, 19,18, + 31,19, 39, 1, 8, 1, 10, 9, 6, 7, 25, 9, 38,32, 14,15, + 11,25, 3,32, 0,32, 33,31, 30,23, 16,13, 18,32, 35, 3, + 35,25, 26,22, 33,18, 27,33, 3, 4, 19,39, 30,19, 18,20, + 28, 5, 33, 9, 27,16, 14,25, 2, 9, 1,24, 21,20, 38,20, + 28,22, 19,26, 32,17, 4,12, 16,28, 38, 2, 14,34, 36,23, + 7,27, 1,29, 36,39, 11,16, 1, 7, 10,16, 28,32, 6,37, + 21,26, 24,32, 3,25, 19,24, 6,16, 14,26, 38,35, 23,25, + 27, 3, 3,20, 8,37, 0,10, 38,23, 11,19, 24,21, 1,22, + 6,28, 9,16, 17, 4, 17, 3, 38,24, 12,27, 27,17, 18,24, + 39,18, 37, 6, 21,32, 36,26, 15,27, 18,15, 29,12, 34,11, + 35, 6, 0,35, 13,16, 5,35, 19, 9, 29,36, 17,38, 1,19, + 9, 0, 10,21, 18, 5, 19,36, 37,39, 19,31, 14,37, 2,28 +}; +const int p_40_5[] = { + /// Number of people on picture + 40, + /// Number of preferences + 335, + /// Array of preferences + 33,13, 27,38, 32,29, 22,17, 8,28, 22,27, 25,14, 32, 4, + 2, 0, 11,22, 7,22, 8, 3, 18,25, 37,19, 5,16, 1,39, + 11,10, 3, 7, 31,27, 17,29, 23, 4, 11,14, 29,25, 2,37, + 31,19, 39,14, 26,12, 9, 7, 11,12, 23, 1, 35,28, 1,29, + 24, 7, 5,25, 5,17, 32,26, 1,16, 17,13, 28,34, 8,37, + 3,12, 33,30, 20, 5, 22,12, 33,12, 19,37, 7,13, 13,29, + 15,24, 34,22, 34,17, 33,28, 19,25, 5,14, 36, 4, 12,35, + 2,35, 19,24, 5,24, 36,18, 37,18, 39,31, 32,38, 28, 8, + 2,26, 29,35, 10,28, 30,29, 11, 4, 19, 7, 4,16, 5, 0, + 36, 0, 9,11, 12,28, 12, 2, 0,26, 18,37, 16,13, 15,21, + 22,31, 4,19, 17,10, 11, 6, 37,29, 19,11, 15,22, 20, 9, + 24,23, 39,17, 29,34, 12,12, 32,30, 8,16, 9,38, 26,27, + 28, 2, 38, 5, 13, 9, 17,26, 8, 8, 39,36, 38, 3, 22,30, + 19,18, 0,19, 38,10, 15,19, 1,21, 36,17, 14,29, 27, 0, + 6, 4, 21,19, 2,31, 38, 9, 22,34, 16,12, 23,39, 1,33, + 31,28, 15,26, 25,31, 3, 9, 31,33, 19,39, 28,15, 26,18, + 36, 5, 20,35, 9,35, 16,34, 22, 8, 14,39, 23,30, 31,21, + 24,31, 19,20, 33,25, 33, 9, 6,25, 14,34, 23,26, 21,29, + 23,17, 33,24, 14,31, 12,20, 37,13, 27, 6, 22, 2, 28,27, + 36, 7, 8,27, 27,39, 11,24, 27, 9, 25,15, 22,39, 30,25, + 35,34, 18,28, 12,36, 6,33, 35,29, 39,10, 38, 1, 10,13, + 17,22, 4,33, 1,14, 10, 7, 15, 5, 29,39, 9,39, 16, 2, + 25,13, 18,23, 38,23, 36,16, 35,35, 6,16, 10,21, 17,25, + 39,24, 32,14, 24,26, 20, 7, 20, 1, 26,34, 2,25, 19,32, + 30, 9, 26,39, 16,10, 20, 8, 33,11, 26, 6, 18,20, 10,31, + 20,30, 12,29, 39, 8, 17,23, 33, 0, 29,14, 17,15, 7, 5, + 9, 2, 18,24, 39,21, 24,27, 17,18, 20,10, 27,10, 36, 8, + 27, 8, 27,31, 15,12, 15, 4, 14, 6, 18, 0, 16, 8, 6,34, + 8,35, 9,17, 34,39, 38,29, 21,12, 4,32, 15,20, 11,32, + 21, 5, 32,31, 39,33, 21,31, 29,26, 4,39, 0,23, 33, 6, + 11,37, 34, 9, 13,38, 39,13, 6,13, 8,23, 11,39, 16,27, + 17,12, 17, 8, 23, 7, 23,24, 4,25, 0,35, 35,19, 24,37, + 27,21, 29,20, 22, 6, 14,38, 25, 9, 26,37, 22,22, 14, 2, + 12,13, 7,32, 34, 3, 9, 6, 32,13, 17,16, 15, 6, 19,16, + 28,33, 11,30, 37,32, 7,12, 9,36, 15,29, 33,20, 16,20, + 28, 7, 19,17, 5, 8, 20,22, 34,15, 25,16, 18,33, 37,28, + 8,29, 13,20, 16, 7, 0,22, 16,18, 29,31, 11,36, 3,27, + 39,19, 8, 9, 0,27, 35,38, 35,31, 1,20, 34,12, 32, 2, + 26, 5, 9,33, 38, 2, 21,13, 26,31, 28,29, 39, 5, 29,32, + 24,18, 23, 5, 17,20, 25, 4, 37,39, 12, 9, 30,35, 9,22, + 27, 1, 16,30, 3,34, 27,19, 28,10, 16,38, 28,20, 10,34, + 2, 9, 25,11, 19,34, 5,22, 10,39, 27,11, 12,34 +}; +const int p_40_6[] = { + /// Number of people on picture + 40, + /// Number of preferences + 28, + /// Array of preferences + 31,35, 15, 4, 29, 4, 18, 4, 1,38, 8,38, 25,21, 9,32, + 39,26, 11,19, 23, 8, 30,30, 26,39, 25,11, 13,16, 11,18, + 29,18, 22,22, 6,24, 19, 7, 17,25, 37, 1, 17,32, 18,15, + 38,29, 25,15, 34, 1, 8, 3 +}; +const int p_40_7[] = { + /// Number of people on picture + 40, + /// Number of preferences + 389, + /// Array of preferences + 23,36, 30,13, 23,23, 27,13, 7,26, 39, 1, 36, 0, 6,14, + 4,10, 13, 6, 28,36, 3,34, 37,26, 38,15, 37,27, 33,21, + 25,31, 26,36, 3,25, 34, 7, 4, 0, 30,20, 21,20, 3,36, + 4,28, 22, 1, 1,23, 3,27, 33, 0, 14, 9, 8,33, 37,31, + 34,35, 3,32, 11,11, 18,19, 5, 6, 24,28, 34,14, 5,13, + 21,29, 37,38, 7,14, 37, 5, 24,29, 26,39, 39,35, 35,12, + 11,15, 31,39, 30, 5, 7,17, 24,14, 1, 6, 4,29, 11,30, + 9,16, 18, 3, 24, 8, 28,27, 11,31, 10, 1, 36,31, 37,21, + 13, 4, 15,20, 21,10, 19,25, 37,17, 18, 0, 3, 9, 15,21, + 33,31, 33, 6, 28, 1, 33,34, 14, 0, 3,26, 13,37, 39,38, + 17,39, 4,39, 12,29, 23, 4, 18,32, 17,21, 17, 9, 28, 7, + 9,15, 27,21, 37,29, 32, 8, 5,21, 38,22, 22,11, 38,37, + 6, 7, 26,21, 14,23, 22,26, 5,37, 31, 1, 21,34, 27,28, + 15,29, 35,39, 1,12, 21,16, 30,36, 25,10, 22,33, 1,34, + 8, 2, 29,32, 26,12, 21, 0, 23,30, 1,30, 6,33, 31,35, + 19,11, 36,19, 3,21, 8,10, 16,23, 23,31, 1,26, 32,11, + 29,23, 2,29, 1, 4, 21,26, 25, 1, 32,12, 39,18, 37,16, + 26,35, 36, 8, 24, 7, 36,25, 34, 8, 36,15, 30,31, 1,11, + 30,24, 10,30, 7,19, 15,28, 36,33, 8,39, 21,35, 19,17, + 10,37, 7,32, 0,12, 6, 1, 38, 7, 13,18, 18,15, 38,10, + 5, 2, 11,21, 5,17, 28,37, 27,39, 1,20, 13, 1, 8,11, + 39,19, 31, 7, 35,31, 25, 2, 5,19, 26,27, 12, 7, 19,18, + 14,35, 25, 6, 14,20, 22,24, 8,23, 15,34, 37,24, 31,34, + 3,37, 16,10, 27, 2, 31,25, 19,38, 21, 9, 29,22, 17,34, + 33,26, 11,35, 27,15, 14,14, 5, 3, 39, 2, 26,30, 39,27, + 11,13, 20,30, 10, 2, 30,27, 12,32, 9,19, 33, 3, 3,14, + 6,15, 12, 6, 19,29, 14, 5, 38, 6, 33, 1, 4,34, 10,22, + 34,21, 19,21, 13,16, 7, 0, 10,13, 15,37, 6,27, 20,35, + 34,38, 23,17, 7,25, 0,10, 38,35, 4,26, 15, 2, 3,30, + 17,18, 0,35, 23,12, 0, 5, 38,14, 20,26, 7,30, 7,12, + 14,38, 18, 2, 10, 4, 12,35, 12, 8, 34,24, 32,29, 29,20, + 28,38, 30, 7, 36,35, 7,24, 20,22, 38,19, 16,36, 8,35, + 8, 3, 16,12, 31,11, 6,11, 14,33, 2,27, 7,29, 3, 2, + 28,34, 5,26, 19,36, 7, 5, 24,32, 25,17, 12,19, 28,21, + 26, 4, 29,25, 30,18, 13,17, 12, 5, 24, 5, 32,18, 18,11, + 30,34, 9,21, 6,12, 23,37, 27, 4, 10,20, 7,38, 3,11, + 39,32, 1,35, 20, 8, 6,22, 13, 8, 29,21, 1, 1, 6, 8, + 6,32, 21,30, 7, 8, 26,31, 15,31, 10,31, 3,28, 11,27, + 14,34, 17,15, 12,14, 9,31, 4, 6, 18,20, 0,23, 25,20, + 25,28, 38,11, 5,11, 19, 6, 13,39, 25,25, 39, 6, 12,25, + 16, 9, 6,38, 26,25, 7,10, 9,17, 3, 6, 3,18, 16,16, + 23,11, 32,38, 35,15, 37, 2, 25, 0, 1,25, 29,16, 0,17, + 36,30, 1, 2, 27,23, 39,37, 13, 7, 19,31, 12,34, 10,34, + 35,33, 39,30, 24,12, 26, 1, 10,19, 22, 5, 12, 9, 4,13, + 22,20, 35,19, 31,32, 14,26, 21,21, 12,30, 3, 3, 3,38, + 38,31, 8,27, 8,37, 2, 9, 15,39, 13,21, 5,39, 21, 6, + 26,18, 31,18, 30,33, 19,37, 30,37, 2,32, 33,27, 18,16, + 13, 5, 0, 8, 26,11, 38, 1, 13,33, 4, 5, 34,30, 24,15, + 5,29, 16,19, 16,28, 20,28, 15, 6 +}; +const int p_40_8[] = { + /// Number of people on picture + 40, + /// Number of preferences + 124, + /// Array of preferences + 32, 3, 26,27, 35,26, 37,28, 7, 9, 22, 3, 39,24, 11, 8, + 16,24, 4,16, 14, 5, 3, 0, 18,29, 8,11, 37, 3, 5,33, + 21,19, 10,23, 19,31, 38,20, 3,16, 15,12, 30,24, 3,28, + 34,34, 5,26, 10,21, 23,39, 12,17, 23, 5, 31,34, 5,18, + 15,17, 18,33, 11,20, 34,23, 21,30, 13,38, 4,38, 0, 7, + 27,24, 24,30, 10,10, 12, 7, 7,18, 37, 5, 13, 2, 39,22, + 39,34, 23, 4, 5,39, 1,37, 2, 2, 27,26, 11,36, 4,24, + 20,24, 27,36, 7,29, 11, 3, 3,13, 3,20, 14,10, 31,10, + 27, 6, 11,14, 2,36, 14,25, 0,27, 3,30, 14,17, 25,30, + 33, 6, 14,15, 1,19, 1, 2, 38,30, 12, 0, 34,12, 36,18, + 32,37, 34,26, 36,30, 38,11, 39,36, 28, 5, 29,29, 19, 6, + 11,24, 32,14, 0, 2, 20,35, 29,24, 30,32, 36,15, 10,38, + 32,20, 27, 0, 6,25, 9,23, 39,18, 23, 6, 36,33, 31,21, + 10, 9, 14, 1, 30,26, 21,11, 26,11, 19,16, 32,16, 17,29, + 28,24, 37,36, 10, 7, 10, 2, 5,27, 36, 8, 13,24, 28,31, + 31, 1, 16,38, 6,18, 3,27 +}; +const int p_40_9[] = { + /// Number of people on picture + 40, + /// Number of preferences + 15, + /// Array of preferences + 13,18, 23,21, 2,26, 29,31, 26,17, 15, 3, 1,29, 15,16, + 23,39, 13, 2, 33,10, 11,10, 11,19, 12,25, 6, 1 +}; +const int p_40_10[] = { + /// Number of people on picture + 40, + /// Number of preferences + 22, + /// Array of preferences + 11,10, 9,24, 23,15, 11,33, 9,21, 9,35, 4,35, 21,26, + 7,12, 31,37, 35,38, 28,24, 38,10, 37,11, 2, 5, 29,23, + 39,14, 1,33, 30, 1, 23,14, 6,36, 39,18 +}; +const int p_40_11[] = { + /// Number of people on picture + 40, + /// Number of preferences + 319, + /// Array of preferences + 11,20, 23,15, 14,10, 8,22, 23, 9, 32,31, 5,20, 9,37, + 13,31, 37,30, 33,32, 32,12, 6,35, 14,22, 28,38, 6, 1, + 17,36, 14,18, 36, 1, 6, 4, 21, 8, 32,10, 20,34, 39,31, + 35,11, 15,22, 11,30, 11,25, 20,32, 14, 7, 17,14, 11, 6, + 4,10, 13, 0, 18,35, 18, 8, 5,23, 7,22, 25,15, 32, 4, + 22,30, 20,19, 36,15, 34,19, 27,29, 24,20, 35,15, 30,15, + 2,39, 29, 6, 4,11, 12, 6, 0,14, 34, 4, 21,29, 29,15, + 34,14, 16,17, 22,17, 19,39, 18,30, 35,21, 17,20, 7, 9, + 4,30, 15,32, 27, 3, 17, 7, 5, 0, 16, 0, 23,24, 16,34, + 27,26, 31,12, 10,27, 2, 4, 28,22, 35,37, 13,12, 25, 9, + 2,25, 36,27, 10,13, 20,35, 28,29, 13,16, 29,20, 2,17, + 21,14, 30,27, 17,19, 0,16, 8,16, 5,27, 3,13, 34,26, + 13,24, 10,12, 1, 6, 26,21, 18, 3, 19, 2, 33, 2, 21,30, + 31,30, 2,28, 35,17, 37,31, 12, 4, 39,17, 16,28, 6,29, + 30,36, 14,16, 37,25, 21,16, 33, 0, 37, 4, 32, 9, 27,39, + 35,32, 31,13, 1, 5, 38,20, 8, 5, 22,38, 2,21, 9,24, + 9, 0, 3,35, 33,18, 24,18, 8,28, 4,16, 34,13, 18,20, + 10, 2, 9,32, 22,18, 23,19, 16,31, 33, 6, 27,16, 22,29, + 16,33, 38,10, 34,36, 16,13, 12,12, 25,33, 13, 1, 11,38, + 25,37, 9,36, 34, 3, 31,29, 29,31, 5,34, 32,20, 9,11, + 1,22, 0, 4, 5,26, 31, 5, 35,39, 2,12, 1, 0, 5, 2, + 14, 8, 13,13, 17,26, 19,37, 19,19, 18,12, 11,39, 32,39, + 7,19, 5,32, 10,10, 9, 2, 2,27, 4, 8, 21,34, 6,27, + 9,10, 19,10, 11,35, 11,16, 39,19, 19,11, 1,16, 8,34, + 28,14, 18,18, 20,24, 11, 8, 17, 9, 32,32, 23, 8, 5,28, + 6,37, 4, 4, 9,20, 11,14, 37,33, 13,32, 14,37, 16, 7, + 5,35, 0,25, 23,35, 37,39, 38,12, 20,39, 29, 7, 0,33, + 0,24, 25,24, 10,30, 37,36, 22,33, 4,32, 36,19, 4,22, + 33,38, 5,15, 12, 5, 12,16, 17, 4, 6,23, 5,19, 26, 8, + 0,12, 16,22, 1,37, 22, 7, 7,33, 39,25, 19,32, 17,28, + 14,24, 9,30, 23, 7, 17,38, 4,23, 38, 7, 30,33, 12,26, + 37,27, 22, 2, 37,10, 5, 3, 23,13, 1,17, 21, 4, 15,31, + 3,26, 28,37, 26,11, 33, 9, 10, 3, 21,27, 33,31, 15, 6, + 20,21, 35,35, 29,34, 29,35, 22,24, 10,20, 28,13, 33,26, + 39,32, 27, 5, 5,30, 35,38, 33,30, 6,24, 23, 4, 2,34, + 21,21, 34,11, 8,20, 14, 6, 22,13, 4,25, 0,11, 25,22, + 4,29, 34, 2, 4,28, 15,35, 21,20, 3,21, 34,31, 37,21, + 11,22, 12,20, 14,23, 1,34, 17,16, 21,18, 13,39, 6,11, + 27,19, 22,28, 26,27, 17,12, 23,12, 19,16, 24,10, 29,10, + 26, 9, 8, 6, 1, 1, 31,32, 24, 3, 24,34, 31, 0 +}; +const int p_40_12[] = { + /// Number of people on picture + 40, + /// Number of preferences + 188, + /// Array of preferences + 38, 4, 22,35, 13,33, 26,34, 27,26, 17,35, 3,11, 13, 2, + 33, 6, 24,29, 38,24, 38, 0, 30, 1, 7,21, 20,36, 15, 9, + 10,28, 0,32, 20,17, 36,21, 18, 7, 22,23, 29,27, 5,10, + 39,31, 38,19, 1,33, 20, 9, 15,25, 14,23, 10, 1, 13, 4, + 37,28, 34, 2, 15,36, 34,14, 29, 3, 31,20, 9, 6, 9,37, + 6, 2, 6, 1, 32,35, 33,16, 15,14, 18,17, 35,21, 37,27, + 4, 9, 11,26, 36, 8, 29, 1, 34,27, 35,33, 16, 8, 35,20, + 31, 3, 3,19, 38,16, 8, 1, 25,17, 14,37, 9, 5, 7,39, + 28,38, 7,17, 14,34, 16,10, 32, 2, 34,37, 34,36, 29,21, + 7,36, 6,39, 35,16, 32,25, 37,26, 9,20, 2,33, 8, 8, + 18,24, 32,34, 30,18, 28,36, 20,33, 18,30, 3,30, 1,29, + 1,15, 5,22, 24,21, 37,11, 36, 0, 1,19, 3,28, 3, 9, + 30,38, 12, 4, 37,35, 34,39, 14,29, 38, 5, 36,33, 22, 8, + 32,10, 35,27, 8,38, 29,30, 1, 4, 24,15, 6, 7, 35, 1, + 3, 8, 17, 5, 28,33, 0, 5, 0,13, 8,28, 17,10, 6,26, + 32,23, 33,33, 36,24, 15, 7, 24,31, 1,22, 25,18, 36, 6, + 30,20, 22,37, 17, 6, 18,29, 16, 6, 32,31, 38,30, 25,27, + 5,15, 25,16, 5,34, 12,20, 13,31, 32,15, 37,25, 38,36, + 26, 0, 30,34, 27,22, 24,24, 4, 2, 16, 5, 37,38, 2, 7, + 0, 2, 23,31, 10,17, 14,13, 39,10, 19, 7, 10,33, 10,31, + 10,26, 19,16, 34,17, 10,21, 8,22, 15,16, 2,32, 38,26, + 29,25, 2,36, 1,17, 15,12, 27,39, 20,34, 37,33, 32,27, + 5, 0, 13,10, 13,32, 30,21, 1,11, 32, 5, 10,11, 7,19, + 16,37, 17,22, 24, 8, 18, 3 +}; +const int p_40_13[] = { + /// Number of people on picture + 40, + /// Number of preferences + 255, + /// Array of preferences + 24,35, 37,10, 11, 4, 1,11, 20, 9, 25,13, 13, 6, 25,23, + 16, 3, 24,37, 25, 1, 28,17, 36,11, 28, 8, 26,26, 9,32, + 19,22, 0, 7, 3,23, 34,36, 35,39, 7,39, 15,24, 0,39, + 39, 5, 6,14, 13,25, 18,29, 26,18, 34,39, 24,23, 1,16, + 13,11, 32,26, 3, 7, 30,30, 11,32, 15,10, 36,36, 12, 3, + 24, 7, 22,27, 30,37, 38,17, 1,32, 37,24, 4, 9, 34,14, + 26, 2, 17,17, 8,22, 32,28, 16,15, 7, 7, 11,38, 2,37, + 33,18, 27, 9, 20,27, 36,32, 26,25, 1,26, 14,24, 7, 9, + 3, 1, 30, 0, 38,21, 6,24, 12,30, 15,13, 28,35, 20,24, + 36, 4, 2,21, 34,27, 21, 2, 4, 7, 18, 8, 35,20, 17, 4, + 19, 7, 36,29, 16,26, 22, 1, 26,17, 39,25, 29,28, 37,21, + 31,35, 38,16, 16,31, 19,28, 30, 2, 30,24, 25,31, 24,21, + 6,36, 34, 1, 37,22, 17,14, 7,22, 31,38, 25,25, 34,21, + 14, 6, 28,21, 16,38, 38,33, 26,12, 12,12, 5, 4, 37,30, + 23, 1, 0,16, 10,15, 35,37, 2,23, 17,29, 39,10, 39, 3, + 19,27, 25,18, 12,14, 35,34, 1,36, 2,13, 27,30, 26,28, + 34,35, 28,24, 9,18, 38, 2, 6,15, 21, 4, 5, 0, 36,10, + 2,18, 35,19, 27, 7, 2,31, 11, 3, 33,21, 26,36, 2,32, + 3, 6, 30,27, 30,14, 4,34, 6,18, 1,22, 23,20, 21,21, + 21,29, 29,39, 34,29, 7,28, 20,35, 6,12, 38,14, 12,36, + 29,23, 4, 6, 9, 9, 15,17, 6,32, 7,37, 19, 8, 26,32, + 24,19, 33,11, 36, 1, 8,23, 15,30, 3,27, 26, 5, 11,26, + 39,11, 9,17, 36,15, 24, 5, 18,13, 13,10, 11,19, 39,26, + 27, 8, 21,11, 28, 4, 29,31, 27,16, 36, 6, 14,11, 38,22, + 35,27, 18,26, 6,28, 15,15, 10,33, 25,33, 9, 3, 5,24, + 39,13, 32,25, 9,20, 35, 5, 8,38, 35, 9, 9,22, 24, 4, + 28, 5, 20,38, 13,29, 38, 4, 26,14, 10,12, 15,32, 26, 9, + 22,31, 4,22, 11,31, 10, 8, 14,30, 21,16, 4,13, 20,20, + 3,18, 13,30, 26,34, 16,25, 29,38, 21,12, 27, 5, 21,39, + 22,11, 30,26, 30, 1, 3,38, 6, 9, 17,22, 3,11, 20,17, + 18,31, 23,10, 31,10, 28,29, 11,24, 24,14, 34,17, 37,29, + 37,35, 21,33, 12,29, 36,26, 39,22, 21, 1, 29, 6 +}; +const int p_40_14[] = { + /// Number of people on picture + 40, + /// Number of preferences + 213, + /// Array of preferences + 26,28, 1, 6, 17,13, 21, 9, 28, 5, 6,33, 33,35, 11,24, + 19,34, 13, 8, 30,34, 29,31, 34,20, 27,31, 6,24, 19,23, + 18, 8, 11,37, 23,28, 32,13, 36,24, 23, 0, 35,28, 0,17, + 19, 2, 32,35, 32,26, 31,34, 14,31, 7,33, 13,32, 26,10, + 5, 8, 0,27, 8,22, 17, 2, 25, 1, 30,13, 14,39, 29, 6, + 10,18, 21, 6, 10,12, 10,10, 20,37, 8,12, 27,17, 29,16, + 5,35, 18,10, 29,24, 21, 5, 9,18, 36,36, 24,17, 26,24, + 7,30, 18, 2, 14, 4, 38,38, 16,14, 38,33, 39, 3, 16,24, + 10, 2, 32,36, 38,26, 17,11, 18,33, 12,14, 32,24, 30,18, + 23,34, 13,13, 30,22, 22,29, 35,10, 16, 0, 37,10, 34, 3, + 9, 3, 20,10, 12, 4, 23,11, 17,32, 29,27, 6,25, 20,21, + 23,32, 32,11, 33,33, 12,36, 37,22, 20,17, 20,18, 18,36, + 38,34, 0,30, 5,31, 6, 1, 36, 4, 28,37, 26,13, 17, 1, + 22, 6, 38, 0, 27,35, 19,35, 5, 2, 20,20, 9,24, 8,16, + 35,29, 11,19, 14,13, 34,11, 15,29, 7,24, 29,38, 20,23, + 13, 3, 34,36, 24,39, 23,36, 17,26, 30,30, 13,39, 17,30, + 1,36, 14,35, 6,36, 36,10, 9, 2, 25,25, 37,30, 2,27, + 29,30, 14, 5, 29,22, 5, 1, 14,20, 18,22, 6,27, 27,19, + 15,30, 4,38, 19,14, 38, 5, 20,33, 34, 7, 14,11, 5,20, + 18, 0, 12,32, 18,13, 27, 5, 2,35, 10, 5, 26,30, 8,17, + 5, 6, 26,34, 5,27, 17,21, 8, 1, 3,12, 33,18, 25,11, + 21,15, 39,37, 3, 4, 15,25, 19,10, 0, 8, 5,34, 3,23, + 37,28, 0, 5, 4,10, 38,18, 7,12, 10,38, 16,34, 21,39, + 11,11, 35,26, 14,10, 5,15, 20, 3, 18, 9, 30,14, 6,22, + 17, 0, 35,12, 15, 8, 22, 9, 26,17, 1,15, 21, 7, 1,33, + 31,37, 1,18, 7,25, 39, 5, 27,15, 9,21, 38,15, 37,12, + 18,31, 36, 1, 28, 0, 33, 7, 12, 9 +}; +const int p_40_15[] = { + /// Number of people on picture + 40, + /// Number of preferences + 324, + /// Array of preferences + 20,27, 26,33, 9, 9, 34,20, 3,13, 11,14, 16, 6, 16,15, + 17,23, 17,31, 14,39, 1,17, 0,19, 39, 9, 5,20, 17, 9, + 19, 1, 35,17, 5,16, 23, 2, 11,30, 39,14, 35,12, 37, 8, + 25,10, 12, 7, 22,30, 21,29, 2, 4, 13, 5, 37,20, 36, 3, + 16,33, 11, 7, 21,13, 21,36, 30,37, 6,31, 28, 5, 11, 1, + 2, 8, 35,23, 8,26, 28,39, 23,38, 21,34, 29,11, 6,25, + 14,14, 3,10, 5,27, 1,27, 39,25, 33, 9, 5,31, 35, 4, + 6,11, 8,12, 13,23, 6,17, 25, 1, 3,27, 22,11, 33,38, + 15,19, 33,35, 7, 3, 28, 3, 7,23, 20,37, 2,39, 21,25, + 24,26, 5, 7, 34, 4, 23,31, 16, 3, 30,19, 3,30, 35,13, + 29,10, 28,28, 18,20, 12,16, 10,12, 28,26, 29,28, 36,16, + 3,21, 33,27, 19,30, 32,27, 33,25, 28, 9, 12, 6, 26,29, + 6, 5, 1,13, 4,26, 18,21, 29,19, 22,35, 37,27, 19,36, + 4,37, 20,26, 16,28, 1, 0, 2,25, 19,17, 25,15, 8,27, + 20, 0, 38,30, 37, 3, 39,28, 5,30, 32,37, 5,33, 19,20, + 36,37, 0,39, 25,18, 5,18, 35,28, 30,30, 4,10, 30,14, + 38, 5, 39,31, 34,10, 12,31, 33,33, 28,18, 30, 4, 25,14, + 2,22, 11,28, 17, 0, 8,38, 20,20, 8, 5, 6,21, 4,28, + 20,39, 34,26, 18,33, 22,32, 15, 2, 20,19, 2,38, 17,27, + 27, 9, 1,28, 34,21, 2,18, 14,27, 2,20, 22, 3, 22,33, + 20,21, 27, 2, 25, 7, 17,33, 33,32, 11,27, 23,30, 12,20, + 15, 6, 0,15, 35,22, 1,12, 28, 7, 4,11, 39,15, 4,24, + 6, 4, 19,32, 19,16, 16,29, 0,10, 34,28, 28,37, 23, 4, + 11, 4, 0,14, 20,33, 2, 5, 27, 1, 32,19, 39,37, 3,31, + 29,16, 14,29, 18,14, 26, 9, 17,37, 0,20, 12, 3, 35,24, + 19, 2, 2, 6, 0, 9, 4, 7, 25,38, 24,31, 1,20, 9, 6, + 31, 0, 4, 3, 30,21, 3,16, 30,39, 15, 0, 3, 1, 20,36, + 7,35, 39,12, 17,34, 21, 1, 38,34, 29,14, 6,28, 35, 1, + 0,18, 36,21, 36, 4, 21, 0, 17,38, 36,12, 30, 9, 6,10, + 28,14, 34,11, 31,17, 15,38, 1,31, 24,20, 10, 9, 31,24, + 38, 8, 28,27, 27,12, 37,24, 23, 9, 2,30, 2,29, 1,19, + 1, 7, 11, 6, 22,17, 12,17, 2, 7, 35,36, 4,19, 10,39, + 29,21, 32,11, 34,19, 28,21, 16,30, 12, 2, 14, 6, 32,25, + 9,14, 8,36, 28, 0, 11,29, 0,38, 32, 0, 10,33, 10,31, + 9,18, 27, 7, 28, 4, 20, 2, 7,25, 0,23, 16,34, 26, 1, + 8, 6, 4,38, 35, 5, 15,11, 25,13, 0, 8, 14, 0, 34,22, + 0, 1, 33,10, 29,27, 7,31, 39,22, 13,26, 30,25, 6,32, + 36,39, 25,29, 17,17, 16,31, 39, 2, 1,16, 35, 3, 34,15, + 23, 3, 14,31, 33,18, 29, 8, 30,27, 37,11, 29,30, 29, 1, + 7, 1, 17,21, 15,21, 12,22, 39,33, 15,33, 25,34, 35,33, + 16,11, 4, 4, 8, 1, 23,27 +}; +const int p_40_16[] = { + /// Number of people on picture + 40, + /// Number of preferences + 295, + /// Array of preferences + 13, 9, 18,16, 27,38, 9,11, 38,23, 13, 3, 12, 1, 7, 7, + 1,31, 28,36, 0,26, 31,23, 39,34, 27, 1, 30,26, 30,32, + 23,32, 26,31, 13,32, 9,23, 35,28, 1,27, 14,38, 13,15, + 25,24, 38,29, 21, 1, 10, 8, 22,11, 21,28, 23,28, 30, 3, + 11,14, 13, 2, 11,29, 11,19, 9,37, 25,34, 7, 8, 0,31, + 39,37, 34,16, 4, 8, 30,22, 19,38, 20,36, 22,39, 29,37, + 26,14, 1,23, 14,19, 33,32, 26, 3, 22,35, 27, 5, 29,32, + 31, 3, 29, 4, 35, 6, 22,21, 36, 0, 31,34, 16,19, 26,29, + 28,24, 33,15, 18,15, 10,28, 30, 4, 35,11, 9, 5, 24,17, + 28, 4, 22,34, 3,35, 19,20, 25,23, 12,29, 30,25, 4,11, + 31, 1, 20,13, 30,23, 27,24, 9,21, 7,36, 5,10, 21,13, + 14, 9, 34,39, 19,27, 15, 8, 23,19, 33, 8, 17,19, 23, 2, + 36, 1, 19, 2, 18, 6, 37,26, 16,18, 20,15, 39,17, 1,19, + 36,12, 9,35, 11, 7, 18,28, 11,32, 9,13, 33,16, 35, 7, + 5,12, 12,38, 34,21, 32, 8, 34, 4, 17,37, 35,39, 6,18, + 8,37, 5, 4, 31,11, 1,37, 17,17, 39, 6, 2,33, 6,14, + 1,26, 37,36, 20,32, 33, 0, 7,13, 39, 1, 34,37, 37, 0, + 39,24, 28,11, 38,34, 36,39, 12,15, 23,36, 6,31, 14,33, + 7,22, 2,13, 36, 4, 25,27, 37,35, 34,29, 5,21, 1,20, + 23,22, 8,10, 31, 9, 37,30, 15,39, 0,22, 12,13, 4, 3, + 22,27, 12, 4, 15,31, 11,18, 36,29, 4,27, 11,36, 26,22, + 24,35, 14,18, 7, 1, 21,22, 21, 7, 14, 6, 29, 7, 37,32, + 15,24, 7,28, 8, 8, 5,13, 38,32, 3,10, 5, 7, 24, 6, + 20,26, 10, 0, 38, 7, 2,22, 1, 7, 18,26, 34, 5, 13,19, + 5,19, 9,28, 5, 3, 24,28, 38, 5, 30, 7, 8, 1, 30,12, + 28, 3, 8,16, 39,16, 13,18, 13, 5, 13,24, 18,33, 30,11, + 38, 9, 15,30, 19,36, 39,30, 18,32, 4,14, 19,11, 5,35, + 1,24, 4, 7, 36,31, 8,28, 2,12, 14,21, 36,34, 23,37, + 21,17, 11,28, 14, 5, 15, 5, 3, 5, 11,25, 17,31, 17,26, + 39,18, 5,24, 33,31, 3,24, 28,25, 23,12, 19,14, 36,24, + 20,11, 24, 9, 18,29, 17, 1, 4,39, 1,29, 15,11, 28,22, + 34,15, 32, 6, 37,39, 38, 2, 30, 5, 16,37, 37,20, 10, 6, + 27,29, 39,31, 5,16, 1,32, 8,33, 11,20, 29,27, 4,29, + 17,32, 15,35, 17,29, 11, 6, 26,34, 12,23, 3,29, 30,31, + 10, 2, 3,25, 4,19, 32,10, 29, 9, 7,25, 24,26, 10,29, + 31,37, 15, 4, 6, 3, 29,36, 2,11, 6, 4, 8, 6, 39,32, + 27,35, 27, 4, 23,35, 32,26, 25,19, 2, 3, 34, 1 +}; +const int p_40_17[] = { + /// Number of people on picture + 40, + /// Number of preferences + 187, + /// Array of preferences + 18,35, 25,22, 8,14, 21, 2, 16,25, 31, 1, 0,12, 31,30, + 19,19, 23,23, 2,11, 8,27, 25,39, 18, 8, 3, 2, 24,23, + 3,32, 39, 7, 38,28, 28,18, 31,32, 19,15, 24,16, 37,18, + 3, 4, 15,29, 25,34, 36,34, 24,15, 17, 8, 31,37, 32, 8, + 35, 7, 39,13, 15,23, 15,24, 8,19, 22, 9, 9,11, 5,27, + 11, 0, 8, 5, 8,33, 38, 9, 16,36, 19,17, 6,32, 27,20, + 1,16, 26,13, 28,12, 35, 1, 27,10, 20,16, 14, 6, 39,35, + 23,11, 0,10, 25,20, 3,18, 0,26, 28,14, 28, 1, 6,34, + 6,38, 26,36, 17,33, 11,21, 7, 7, 36,12, 6, 7, 28, 5, + 37, 2, 10,33, 27, 8, 19, 1, 2,39, 16,28, 29,25, 7,17, + 16, 6, 38,12, 30, 4, 19,29, 17,15, 14,10, 4, 1, 31,35, + 22, 2, 6,15, 35, 2, 1, 8, 26,14, 29,30, 34,13, 19,24, + 12,14, 3, 0, 34,17, 23,20, 35,26, 1,35, 12, 6, 27, 1, + 16, 2, 22, 3, 21,38, 23,37, 25,29, 10,24, 21, 3, 17,17, + 5, 1, 10,28, 4,26, 6,23, 24, 3, 1,36, 6,11, 19, 5, + 7,12, 13, 6, 27,12, 19,31, 12,17, 25, 8, 30, 9, 23,27, + 8,34, 35,14, 19, 2, 28,15, 12,29, 31, 9, 28, 2, 39,34, + 34,28, 20,13, 21,26, 14,36, 18, 2, 36,22, 32, 6, 9,17, + 15,35, 0, 8, 31,11, 24,38, 39,31, 38, 5, 13,36, 28,20, + 24,27, 26, 2, 30,28, 2,10, 16,19, 38,19, 1, 6, 24,21, + 31,39, 24,24, 20,33, 32,16, 33,37, 23,21, 4,16, 8,37, + 20,25, 32, 2, 5, 4, 2,28, 28,17, 38,27, 15,12, 11,16, + 19,37, 26,10, 37, 7, 9,21, 26,17, 39,38, 16,37, 17, 5, + 16, 4, 23, 2, 34, 4 +}; +const int p_40_18[] = { + /// Number of people on picture + 40, + /// Number of preferences + 98, + /// Array of preferences + 5, 9, 37, 4, 9, 3, 16, 5, 34,29, 1,19, 30, 9, 37, 9, + 8,24, 25,20, 39, 2, 38,39, 17,19, 38,22, 31,37, 2,35, + 1,28, 2,25, 7,17, 27,38, 24,36, 4, 1, 38,23, 11,19, + 6, 8, 36,24, 0, 1, 21,26, 6,16, 34,30, 14, 6, 6,33, + 2,20, 1,33, 22,11, 13,17, 20,27, 20, 7, 35,29, 37, 8, + 29, 0, 5,10, 12, 8, 10,22, 34, 0, 3, 3, 3,31, 27,24, + 27,14, 17, 2, 37,30, 37,23, 7,23, 8,15, 37,12, 9,19, + 11,17, 20, 2, 16, 4, 25, 9, 23, 2, 32,26, 30,23, 14,16, + 10,34, 28,34, 5, 3, 3, 6, 34, 4, 23, 1, 18,10, 31,34, + 28,22, 27,15, 2,38, 20,23, 8,28, 16, 7, 10,11, 29,28, + 39,14, 14,18, 22,12, 10,20, 36,28, 35,18, 28,10, 36, 0, + 36,14, 6,32, 7,35, 9,37, 0,34, 24,18, 8,31, 2,23, + 35, 4, 11, 4 +}; +const int p_40_19[] = { + /// Number of people on picture + 40, + /// Number of preferences + 95, + /// Array of preferences + 36,27, 20,29, 2,39, 18,29, 22,23, 1,17, 24,20, 15,11, + 13,29, 29, 6, 6,17, 25,26, 21,13, 5,15, 17,10, 19,31, + 6,12, 32,16, 3,11, 38,23, 17, 2, 17, 1, 1,28, 37,35, + 30,33, 7,19, 16, 5, 20,31, 27, 9, 30,26, 32,39, 37, 5, + 29,20, 6,37, 2,15, 8,18, 28,18, 30,36, 34,10, 8,22, + 16, 1, 2, 6, 38,38, 32,24, 35,17, 1,18, 28,39, 28, 8, + 27,15, 9,26, 14, 5, 32,30, 25,23, 4,30, 5, 8, 16,35, + 20,18, 22,22, 2,10, 27,31, 14,14, 21,20, 33, 0, 14, 1, + 1,14, 24, 9, 14,38, 35, 8, 28,38, 37,17, 3, 7, 0,34, + 1, 0, 3, 2, 0, 7, 33, 4, 30,20, 34,24, 1,33, 24,14, + 1, 1, 4,35, 3, 4, 28,37, 15,22, 12,29, 37,11, 19,17, + 6,33, 11,33, 5,31, 23, 7, 33,14, 36, 0, 17,21 +}; + +const int p_50_0[] = { + /// Number of people on picture + 50, + /// Number of preferences + 174, + /// Array of preferences + 8,31, 20,47, 46, 7, 18,39, 29,30, 27, 2, 30,45, 20,25, + 2,12, 34,33, 33,23, 48,23, 29,39, 29,31, 44,46, 33,37, + 22,41, 14,16, 31,38, 2,14, 45,29, 33,48, 27,46, 28,19, + 13,45, 19,41, 38,30, 24,10, 10,28, 21,13, 39, 5, 4,47, + 25,37, 10,19, 44,39, 48,32, 37,10, 46, 1, 35,23, 24,29, + 34, 8, 48,26, 31,26, 10,44, 16,41, 46, 9, 9,23, 41,13, + 11,21, 32, 8, 17, 4, 2, 5, 17, 8, 9, 2, 30,41, 33,47, + 21, 1, 46,29, 6,15, 46, 5, 36,31, 29, 7, 14,47, 38,34, + 25,29, 0,12, 18, 2, 36, 0, 15,29, 27,15, 17,30, 38,47, + 21,34, 31,29, 4,41, 38,26, 39,40, 31, 9, 29,26, 13,44, + 32,49, 8, 6, 15,21, 27,32, 48, 8, 22,45, 31,12, 32,48, + 9, 4, 0,47, 40,27, 24, 6, 4,37, 19,18, 48,31, 3, 6, + 48,36, 19, 6, 39,27, 31, 1, 15,20, 26,16, 16,33, 10,46, + 47,19, 5,16, 6,30, 21, 3, 29, 0, 18,37, 44,12, 31,24, + 32, 2, 48,30, 14,48, 33, 2, 31,47, 18,49, 26, 5, 25,13, + 2,11, 35,21, 27,25, 16, 4, 26, 4, 14,44, 13,46, 19, 7, + 23,38, 3,35, 3, 5, 17,25, 5,36, 30,39, 17,36, 32,22, + 21,24, 31,48, 2,34, 47,12, 30,11, 35,13, 25,34, 12,42, + 41,36, 29,17, 35,35, 10,18, 48,11, 41,23, 1,37, 36,47, + 27,16, 29,15, 3,21, 19, 0, 27,11, 1, 5, 4,16, 7, 0, + 0,28, 15,26, 47, 6, 7, 8, 18,17, 47,32, 37,23, 28,49, + 48,28, 6, 2, 32,17, 1,36, 2,43, 28, 2 +}; +const int p_50_1[] = { + /// Number of people on picture + 50, + /// Number of preferences + 13, + /// Array of preferences + 22,13, 0,46, 24,14, 14, 5, 41,36, 35, 5, 22,34, 27,12, + 4,10, 8,47, 26, 2, 5,41, 26,24 +}; +const int p_50_2[] = { + /// Number of people on picture + 50, + /// Number of preferences + 407, + /// Array of preferences + 39,37, 48,39, 27,15, 28,11, 20,31, 9,16, 6,40, 0,16, + 20,10, 16,39, 13,17, 14,25, 7,34, 40,28, 13,25, 15,18, + 16,22, 31, 3, 11,21, 47,14, 47,33, 3,42, 2,32, 8,33, + 10,22, 9,45, 6,11, 3,39, 2, 7, 46,44, 6, 0, 33,11, + 15, 6, 49,39, 16,32, 30,17, 19,44, 47,38, 21,15, 27,21, + 46,21, 49,43, 16, 1, 48, 7, 13,26, 12, 9, 31,39, 3,28, + 1,37, 46, 3, 45,26, 43,19, 9, 5, 2,10, 37,41, 36,23, + 20,33, 25, 0, 49,46, 40,42, 9,36, 11,16, 19, 2, 11,20, + 18,27, 18,43, 41,21, 44,31, 25,17, 14,35, 47,39, 44,30, + 5,42, 3,31, 33,40, 39,19, 19,21, 10,38, 20,28, 17,43, + 7,15, 32, 3, 1,12, 21,30, 9,19, 37,24, 46,38, 27,33, + 0,29, 37,25, 26, 9, 23,14, 22,11, 43,42, 13,41, 16,30, + 35,18, 12,24, 47, 5, 10,25, 30,46, 32,40, 2,39, 23,37, + 5,20, 21,22, 3,26, 47,45, 32,10, 33, 8, 22,14, 1,45, + 14, 9, 30, 4, 13,21, 10,18, 0,11, 7, 7, 38,16, 35,17, + 10,19, 17,34, 23,30, 31, 8, 29,35, 19,24, 12, 8, 36, 8, + 1, 1, 23,24, 7,20, 44, 2, 15,42, 0,39, 12,31, 18,15, + 20, 0, 7,18, 10, 6, 14,44, 3,12, 16,43, 24,33, 28, 7, + 13,35, 18,17, 6,39, 42,22, 1,47, 42,24, 8,39, 34,38, + 42,18, 13,36, 15, 3, 8,30, 38,45, 30,38, 34,22, 9, 8, + 46,20, 38,20, 36, 9, 45,21, 25,34, 39,48, 37,44, 6, 3, + 2,14, 6, 1, 39,15, 35,14, 13, 0, 34,15, 42,33, 17,25, + 2,31, 30,12, 19,32, 21,47, 40, 2, 24,30, 0,24, 18,10, + 39,46, 38,14, 1,13, 23,38, 37,43, 31,13, 41,48, 32,44, + 17,29, 4,15, 30,15, 1,35, 37, 4, 25,19, 24,49, 24,44, + 21, 1, 29,24, 16, 5, 22,21, 21,44, 8,23, 44,20, 34,47, + 49,38, 29,20, 8, 0, 23,20, 4,18, 46,25, 49,48, 32,26, + 36, 2, 1,23, 41,49, 21,11, 46, 2, 18, 5, 10, 0, 23,26, + 4,36, 44,48, 35,13, 35, 9, 9,21, 44,13, 2,30, 17, 8, + 35,28, 0,46, 49,34, 25, 2, 4,25, 34,34, 20,38, 48,24, + 17,27, 0,38, 31,47, 1,28, 26, 1, 45,17, 26,43, 4,46, + 16,27, 20, 8, 17,28, 22,19, 45, 0, 10,40, 6,34, 16,21, + 45,37, 34, 9, 35, 8, 0, 8, 27, 2, 13,40, 24,35, 25,39, + 16, 2, 49,23, 22,36, 44,42, 39, 3, 48,13, 19, 9, 15,21, + 36,38, 22,49, 16,23, 40,30, 43,20, 20, 5, 24,29, 26,31, + 40,48, 41,32, 7, 4, 24,38, 30,47, 20,32, 27,38, 21,43, + 23, 3, 35,39, 20, 1, 2,13, 22,20, 16,47, 27,48, 22,27, + 25,24, 23,40, 37,46, 31,30, 31, 7, 18,30, 41,22, 40,39, + 36,37, 48,33, 15,27, 27,16, 16,41, 11,12, 25,25, 15,25, + 0,48, 23,29, 21,46, 24,14, 33,34, 35, 6, 4,33, 21,28, + 48,23, 0,31, 15, 0, 20,35, 33,41, 7, 8, 48,38, 47,29, + 6, 4, 5,22, 27,30, 24,15, 40,45, 24,23, 13,45, 38,28, + 23,22, 45,46, 7,40, 17,46, 39,45, 15,46, 15, 2, 21,36, + 21,27, 43, 5, 20,39, 35,27, 7,39, 3,34, 5, 3, 33, 2, + 4,26, 33,13, 45,13, 36,28, 42,19, 8, 1, 33,48, 5,46, + 39,17, 26,47, 31,16, 24,45, 47,31, 40,13, 31,45, 24,32, + 15,14, 40, 7, 48,41, 45, 6, 46,17, 37,38, 35,48, 11,46, + 38, 1, 3, 6, 22,37, 7,37, 45, 2, 36,43, 27, 6, 33,43, + 30,23, 4,27, 44, 1, 7,22, 25,27, 26, 4, 34, 0, 1,15, + 28,41, 19,36, 19, 0, 13,12, 12,30, 10,42, 49,15, 35,16, + 3,45, 47,49, 25,42, 34,35, 35, 5, 24, 9, 43,47 +}; +const int p_50_3[] = { + /// Number of people on picture + 50, + /// Number of preferences + 416, + /// Array of preferences + 6,26, 15,13, 33,26, 20,38, 46,36, 3, 5, 4,13, 33, 6, + 39,38, 28, 0, 24,23, 37,16, 26, 4, 5, 5, 39,45, 39,32, + 20,23, 21,37, 46,44, 46,26, 31,22, 15, 4, 19,13, 25,12, + 24,29, 15,47, 48,39, 8,14, 22, 6, 16,10, 15,48, 19, 3, + 30,21, 29,40, 34,25, 23, 9, 9,14, 23,47, 44, 3, 22,13, + 26,21, 16,27, 32, 9, 27,11, 44,42, 48, 6, 31,48, 47,25, + 29,30, 48,27, 39,47, 28,11, 14,38, 23,44, 27,32, 49,29, + 44,16, 19,34, 0, 4, 47,14, 3, 2, 24,34, 15,27, 29,45, + 32,21, 10,29, 38,27, 2, 1, 29, 9, 20,15, 37,11, 0, 2, + 22, 7, 33,25, 8,23, 13,40, 46,33, 7,13, 47,44, 19,38, + 40,40, 8,45, 13,43, 22,32, 6,31, 11, 7, 5,37, 39, 6, + 18,48, 30,34, 47,39, 45, 6, 34,12, 42,35, 34,20, 3,30, + 4,49, 45,25, 29,25, 26,28, 41,35, 20,34, 32,27, 48,44, + 16,18, 40,18, 12,38, 32,19, 39,10, 11,33, 47, 4, 47,19, + 9,26, 47,45, 5,35, 23, 5, 30,35, 47,23, 45, 5, 27,40, + 30,45, 18,38, 10,17, 29,17, 35,39, 27,19, 11,18, 46, 7, + 0,28, 7,15, 34, 4, 21,36, 25,26, 14,30, 24,24, 37,17, + 26,42, 13,13, 30,28, 44,40, 10,33, 10,45, 8, 5, 11,40, + 3,17, 35,18, 29,10, 4,47, 25,34, 47,36, 18,12, 12,44, + 19,16, 13, 0, 13,21, 15, 0, 21,46, 6, 2, 22,41, 35,31, + 8, 9, 47,35, 46,24, 20,43, 19,42, 45,44, 42, 2, 13, 2, + 13,47, 14,15, 14, 6, 10,18, 27, 7, 2,18, 11,44, 1, 9, + 26,16, 15,45, 24,45, 28,38, 16, 3, 35,46, 2, 3, 8, 1, + 2,13, 28,44, 20, 5, 48,21, 26,12, 34,43, 30,37, 15,44, + 46, 2, 44,29, 4, 3, 26,49, 27,12, 29, 8, 41, 4, 42,15, + 3,37, 45,41, 40,30, 16,23, 19,27, 32,14, 13,16, 6,11, + 47,11, 5, 6, 36,32, 36,18, 35, 8, 25,18, 16, 6, 20, 0, + 30,48, 16,17, 20,19, 41,25, 41,48, 20,17, 27, 0, 35,38, + 5,31, 14,44, 40, 3, 36, 7, 40,26, 11,12, 19,10, 48,48, + 8,20, 8,26, 29, 4, 28,36, 5,21, 28, 3, 35,36, 39,40, + 13, 6, 37,46, 21,21, 32,16, 31,18, 5,14, 33,27, 18, 0, + 49,40, 4,15, 36,35, 45,23, 12, 4, 24,48, 24,46, 25,27, + 22,47, 17,20, 19, 8, 9,37, 7,33, 14,43, 30,25, 33,21, + 12,48, 21,31, 13,20, 20,39, 17,47, 43,46, 26, 2, 3,10, + 28,35, 28,29, 14,45, 9,22, 18,26, 13,24, 24,28, 22,21, + 27,14, 34,44, 1,17, 0,45, 43, 2, 48,25, 24,16, 21,44, + 22,10, 41,30, 5, 1, 11,42, 25,40, 41,26, 6, 3, 33,49, + 30,23, 25,46, 49, 3, 11,10, 18,15, 34,16, 30,18, 1,37, + 9,33, 22, 9, 11, 8, 25,23, 41,28, 8,10, 41,13, 22,49, + 43,24, 38,39, 26,39, 12,28, 39, 3, 37,42, 35,41, 3,18, + 33,14, 34,10, 26,44, 33,22, 33,43, 27,48, 47,37, 0,38, + 7,12, 18,13, 9,36, 1,40, 12,13, 0, 6, 43,42, 49,26, + 31, 1, 23, 2, 27,23, 36,12, 28,48, 44, 6, 22,15, 21,12, + 15,16, 29,44, 19,40, 43,10, 34,23, 30,31, 16,44, 35,11, + 7,35, 35,30, 49,28, 44,25, 11,11, 28,40, 12, 8, 25,17, + 12, 0, 41,19, 42, 0, 0,20, 3,21, 31,39, 40,29, 15,31, + 2,46, 11,32, 20,10, 27,44, 38,20, 17,31, 12,31, 20,49, + 33,38, 43,41, 4,34, 22,26, 26,31, 39,13, 35,42, 49,24, + 2,31, 26, 5, 1, 6, 31,42, 42,45, 7,41, 47,16, 25,33, + 14,32, 40, 1, 5,34, 32, 6, 28,30, 46,34, 27,10, 42,29, + 38, 6, 27,33, 3,31, 1, 0, 23, 7, 31,10, 49,18, 48, 4, + 16,28, 47,21, 25,25, 12,30, 32,48, 3, 1, 48,15, 20, 4 +}; +const int p_50_4[] = { + /// Number of people on picture + 50, + /// Number of preferences + 146, + /// Array of preferences + 22,28, 9,37, 15,18, 0,30, 2,24, 29,42, 42,42, 41,44, + 23,46, 25,46, 25,36, 36,27, 8,36, 48,15, 12,26, 42, 9, + 36, 9, 44, 7, 4,34, 41,12, 6,46, 38,25, 37, 8, 16,35, + 39,14, 28,10, 34,12, 40,23, 8,46, 13,39, 47, 3, 49,28, + 26,10, 19,18, 36,22, 45, 9, 24,42, 2,43, 10,10, 29,27, + 29,22, 2, 6, 15,42, 9,30, 2,38, 49,41, 17, 6, 15, 1, + 24, 9, 44,44, 37,35, 29,43, 43,45, 27,39, 21,35, 17,48, + 21,22, 39,35, 14,12, 9,43, 41,21, 29,23, 4,19, 17,32, + 29,31, 24,14, 33,19, 13,31, 12,34, 26,36, 42,22, 17,14, + 15,44, 22, 3, 6,28, 47,36, 8,38, 17,30, 20, 2, 27,38, + 21,29, 48, 7, 17,25, 23,13, 33,22, 32, 2, 39, 5, 7,24, + 13,23, 38,39, 44,22, 0,42, 18, 9, 4,10, 26,45, 15,10, + 34,45, 18,19, 45,43, 0, 6, 16, 8, 33,13, 6,25, 45,35, + 22,17, 2,32, 42,46, 35,20, 14,20, 13, 0, 17,19, 25,26, + 3,40, 43,20, 5,20, 47,25, 7,33, 26,29, 12,40, 6,41, + 16,24, 37,11, 21,30, 37,22, 34, 9, 37, 9, 30, 4, 17,36, + 44,31, 45,33, 3,30, 5, 3, 19,40, 0,29, 5, 7, 49, 7, + 48,23, 23,29, 43,30, 1,10, 18, 2, 42,31, 13,44, 5,24, + 3,16, 8,26 +}; +const int p_50_5[] = { + /// Number of people on picture + 50, + /// Number of preferences + 39, + /// Array of preferences + 12,22, 10,22, 16,38, 38,16, 8,34, 22,11, 7,45, 42,48, + 15, 9, 25,23, 0,37, 12,33, 4,47, 8,36, 9,19, 35,39, + 12,24, 37,13, 2,11, 3,14, 19,27, 24,21, 48,12, 47,36, + 8,26, 28,29, 36,35, 21,21, 32,22, 20,39, 29,36, 33, 7, + 29, 2, 42,43, 28,27, 22,26, 20, 4, 43,49, 49,40 +}; +const int p_50_6[] = { + /// Number of people on picture + 50, + /// Number of preferences + 200, + /// Array of preferences + 39,31, 3,23, 10,43, 8,17, 0,31, 21, 3, 1,32, 9,45, + 49,33, 27,26, 41,34, 4,40, 19,21, 16,15, 2,30, 23,19, + 14,18, 36, 8, 35,35, 34, 5, 37, 7, 30,11, 24,22, 10,35, + 12,49, 30,36, 3,22, 3,36, 8,18, 6,28, 41,10, 32, 8, + 49,27, 0,44, 39,39, 25,45, 3,49, 13, 0, 33,39, 9,49, + 13,19, 15,46, 12,43, 19, 5, 37, 5, 42,22, 28,49, 46,26, + 23,11, 24, 6, 27,23, 27,14, 38,38, 43,35, 16,38, 34,46, + 38,22, 43,46, 41,11, 22,16, 6,46, 13,39, 48,39, 15,13, + 36,47, 45,32, 18,43, 47,16, 18, 5, 15,37, 11,47, 32,33, + 24,42, 27,22, 14,31, 41,22, 28,23, 26,35, 4,18, 1,31, + 21,35, 22, 1, 42,39, 28,25, 17,36, 24,38, 35, 6, 46, 0, + 48, 3, 13,49, 42, 3, 13,27, 30,21, 18, 1, 35,28, 31,45, + 16, 6, 19,39, 17,12, 36,27, 48,18, 46,20, 5, 7, 4,38, + 2,49, 19,43, 38,13, 11,24, 23,25, 2,48, 14,22, 30,28, + 43, 8, 25, 5, 16,47, 2,21, 7,35, 23,15, 33,22, 29,23, + 38,43, 32,40, 46,27, 18,24, 25,17, 18,25, 16,11, 36,25, + 39,44, 23,39, 10, 3, 35, 7, 8,16, 0,23, 14,46, 7,18, + 10,15, 1,10, 29,44, 43,41, 20,33, 29, 1, 29,31, 41,42, + 24,45, 9,32, 28,16, 42,28, 6,33, 0, 3, 4,29, 29,40, + 41, 5, 44, 9, 47,12, 2,15, 14,35, 41, 3, 4,12, 22,38, + 32,31, 4,11, 4,10, 41,17, 35,46, 32,10, 42,33, 1,28, + 45,16, 5,12, 21,41, 31,11, 0, 2, 49,28, 29,28, 30,17, + 30,26, 46, 3, 43, 0, 2,14, 48,48, 7,31, 28,17, 5,45, + 26,17, 39,14, 35,22, 4,27, 1, 1, 7, 4, 27, 9, 48,40, + 20,30, 9,29, 24, 2, 12, 2, 9,22, 5,39, 38,34, 1,41 +}; +const int p_50_7[] = { + /// Number of people on picture + 50, + /// Number of preferences + 335, + /// Array of preferences + 30,43, 13, 3, 47,37, 37,24, 36,48, 39, 9, 12,43, 25,44, + 47,19, 15,42, 0,49, 21,43, 5,49, 47,39, 49,13, 15, 4, + 31,15, 15,13, 14,20, 37,25, 46,11, 43, 5, 1,47, 35,43, + 18,12, 10,17, 36, 2, 43,44, 5,46, 7,41, 12,45, 0,20, + 34,44, 41,43, 30,32, 9,33, 23,40, 41, 6, 28,17, 21,27, + 24,35, 21,22, 13,48, 39,48, 40,32, 9,20, 1,23, 28,12, + 1,21, 6,12, 21,19, 27,40, 47,41, 38,38, 45,25, 4, 5, + 37,18, 46,35, 14,35, 45, 5, 39,39, 5,32, 45,41, 19,12, + 43,29, 24,28, 26,17, 10,32, 14, 7, 11,40, 32,17, 49,29, + 7, 2, 1,30, 45,33, 14, 0, 17,36, 31,37, 14,29, 41, 0, + 32,45, 0,42, 3, 0, 41,42, 15,39, 37, 4, 26,32, 43,40, + 14, 2, 33, 6, 11,23, 26,19, 37,40, 35,42, 36,15, 33,42, + 25, 3, 37,42, 23,11, 29,30, 9,24, 32,11, 21,33, 42,18, + 9,27, 26,45, 33,38, 19,25, 26,42, 13,20, 12,25, 47,14, + 11, 4, 15,23, 8,31, 24,44, 10,48, 48,15, 47,33, 2,48, + 22,36, 4,24, 23,17, 0,14, 41,11, 15,24, 19,31, 8,18, + 0,23, 0,18, 29,35, 49,43, 26,44, 2,23, 45,22, 26,29, + 44, 5, 47,29, 28, 1, 11,32, 38,39, 7,46, 17,28, 1,16, + 3,49, 43,12, 33,11, 9,48, 8, 0, 26, 8, 24,25, 9,11, + 49,37, 5,16, 6,39, 22,19, 27,10, 46,39, 3,28, 13,23, + 16, 7, 35,47, 10,13, 27,45, 46,19, 11,28, 38,28, 8,16, + 30,44, 42,26, 31, 4, 15,37, 43,33, 17,43, 9,28, 22, 3, + 29,12, 26,41, 8,24, 12,24, 4,47, 14,21, 23,38, 41,30, + 4,13, 31,20, 41,25, 23,41, 35,32, 30,42, 17,38, 32,21, + 10,14, 14,36, 30, 7, 31,44, 18,33, 1,22, 21, 3, 33,26, + 48,18, 16, 8, 7, 0, 24, 1, 23,15, 43, 1, 15,25, 20,45, + 19, 6, 46,15, 15,29, 11,37, 40, 4, 37,32, 39,22, 44,33, + 1,40, 28,29, 11,49, 22,14, 25,13, 28,24, 49,45, 3,13, + 31,21, 32,37, 5,27, 19,23, 23,46, 7, 5, 40,44, 5,44, + 16,11, 45,36, 10,12, 0,34, 22,26, 27,33, 26,49, 47,44, + 48, 6, 42,11, 16,45, 5,29, 4,42, 25, 2, 29,23, 26,26, + 41,49, 14, 4, 20,36, 40,30, 39,25, 9, 0, 33, 1, 43,49, + 4, 0, 49,31, 23,44, 29, 5, 15,43, 6,46, 26,18, 2,43, + 37,49, 29,29, 2,42, 44,34, 43, 8, 34,10, 4,38, 18, 1, + 8,47, 27,41, 35,20, 27,44, 34,33, 24,29, 38,10, 28,26, + 36,39, 30,24, 1,24, 9,32, 4,14, 23,32, 17,48, 49,24, + 10,29, 16,22, 29,27, 5,15, 43,26, 36,29, 31,12, 10,47, + 41,36, 14,32, 21,23, 27, 3, 45,32, 49,39, 21,41, 47,49, + 14,38, 16, 4, 26,47, 0,39, 33,49, 3,26, 31,28, 19,29, + 22,45, 38,27, 27,17, 17,37, 15,27, 25,11, 2,37, 36,47, + 45,27, 1,20, 22,27, 44, 2, 30,35, 1,43, 44,46, 14,25, + 41,26, 45,48, 17,19, 46, 8, 5, 7, 19,36, 44, 6 +}; +const int p_50_8[] = { + /// Number of people on picture + 50, + /// Number of preferences + 428, + /// Array of preferences + 36, 2, 29,23, 17,34, 22,40, 24,11, 47,34, 43,17, 14,29, + 25,25, 9,42, 24,19, 45,20, 16,41, 40,31, 8, 2, 7, 8, + 0, 7, 37,26, 24, 1, 26, 0, 49,21, 17, 5, 25,17, 19,17, + 48,17, 14,38, 29,28, 18,16, 16,16, 15,45, 37,16, 23,48, + 29, 9, 19,43, 19,40, 47,40, 30,49, 39,18, 12,35, 28,22, + 47,12, 33,48, 19, 5, 29,30, 1,46, 32,26, 27,27, 47, 8, + 31,17, 27, 0, 36,26, 8,38, 39,43, 28,13, 14,39, 26,34, + 28,49, 43,24, 30,17, 46,43, 31, 5, 32,43, 12,42, 12,39, + 27, 7, 15,29, 13,42, 39,23, 32,30, 44, 8, 34,10, 31,10, + 36, 6, 14,35, 26,13, 24, 2, 7,45, 28,14, 36, 7, 46, 9, + 29,26, 35, 6, 18,24, 27, 3, 49,24, 11,25, 29,14, 37,36, + 41,38, 0, 1, 49,49, 15,21, 14, 2, 40,41, 46, 2, 7,11, + 41,29, 39, 3, 33, 7, 27,28, 31,37, 45,16, 17, 9, 41,23, + 25,26, 34,46, 8,17, 47, 7, 2, 3, 42, 9, 11,44, 33, 8, + 9,41, 23, 8, 31,18, 16,14, 46, 7, 43, 3, 32,41, 29,37, + 33, 6, 34,48, 44,49, 28,15, 29,41, 33,37, 38,14, 19,24, + 23,40, 41,36, 41,19, 34,30, 34,14, 31,29, 24,35, 33,10, + 28, 8, 11, 2, 6,39, 1, 6, 18,23, 10,49, 26,21, 5,31, + 10,31, 31,20, 14, 1, 38, 5, 15,26, 9,28, 1,13, 15,32, + 31,42, 18,21, 45,27, 27,29, 10,15, 35,24, 33,25, 2,18, + 0,34, 7,49, 18,47, 18, 7, 43,36, 44,25, 5,49, 14,37, + 34, 5, 20,42, 13, 4, 22,15, 39,21, 0,26, 6, 0, 15,30, + 36,41, 25,11, 4,20, 38,41, 21, 6, 29,31, 48, 5, 31,23, + 42,33, 44,44, 12, 9, 16,27, 49,45, 41,49, 37,14, 30,26, + 15,38, 42, 3, 35,11, 40, 3, 13,36, 10,45, 4,39, 30,23, + 7, 4, 0,31, 21,33, 49,14, 3,47, 43,19, 11,22, 11,32, + 25,12, 49,12, 29,21, 41, 3, 4,25, 42,46, 25,22, 47,45, + 27,23, 38,10, 33,45, 40,32, 1,15, 29,25, 13,29, 5,22, + 30,24, 11,43, 26,15, 8,21, 23,49, 20, 9, 3,38, 49, 4, + 16,40, 29,34, 45, 2, 34,27, 39,15, 5,19, 30, 0, 23,34, + 47,38, 37,18, 25,35, 49,39, 19,15, 44,30, 26,41, 44, 0, + 35, 5, 24,44, 28,10, 4,41, 27,41, 47, 4, 48,48, 48, 3, + 30,42, 46,18, 0,38, 7,12, 20,30, 27, 4, 4,13, 2,42, + 12,14, 22,21, 17,27, 37, 3, 13,41, 48,44, 45,41, 39,37, + 20, 3, 29,12, 25,24, 19,22, 8,40, 15,11, 30,40, 31,22, + 3,17, 8,23, 18, 1, 24,30, 23,14, 6,24, 13,37, 1,35, + 32,11, 7,47, 43,48, 21,18, 3,44, 25,18, 15,17, 3,40, + 8,20, 41,35, 49,28, 35,20, 18,29, 11,16, 48, 9, 39,22, + 36,49, 21, 5, 48,37, 42,23, 45,49, 37,23, 40,46, 7,17, + 22,20, 39,41, 47,32, 12, 3, 35,15, 11,47, 45, 6, 35, 0, + 6,43, 33,34, 40,20, 8,22, 15, 6, 6,12, 4,49, 4, 6, + 2,24, 32,45, 41,34, 11,38, 10,18, 35, 7, 43,11, 34,45, + 6,49, 16,23, 15, 8, 20,40, 2,23, 46,36, 22, 2, 34,32, + 14, 0, 37,31, 20, 4, 16, 2, 36,37, 44,37, 29,17, 31,47, + 18,33, 30,13, 10,30, 5,10, 25,49, 9,44, 10,26, 5, 5, + 48,28, 17,12, 44,11, 27, 2, 23,32, 20, 2, 49,48, 21,13, + 45, 5, 40, 5, 22,43, 3,24, 29,48, 0, 3, 22,32, 27,21, + 27,45, 25,32, 18,36, 1,29, 49,20, 44,23, 42,39, 38,23, + 4,37, 1,36, 4,32, 20, 7, 18,19, 23,12, 31,15, 0,33, + 18, 5, 41,43, 6,45, 46,11, 30,16, 27,30, 14,44, 2,29, + 1, 1, 0,45, 10,38, 35,17, 38,35, 24,36, 35,19, 36,42, + 40,14, 2, 4, 37,37, 9, 8, 21,44, 4,26, 2,49, 48, 4, + 39,34, 42,37, 2,15, 29, 8, 38,30, 34,38, 11,29, 47,23, + 19,47, 39,14, 47,41, 49,18 +}; +const int p_50_9[] = { + /// Number of people on picture + 50, + /// Number of preferences + 192, + /// Array of preferences + 33,11, 13,27, 31, 8, 8,15, 32,20, 34, 4, 11,29, 13, 3, + 20,41, 16,32, 48,37, 44,38, 28,37, 29,36, 20,13, 1,29, + 49, 7, 4,14, 22,33, 33,29, 3,38, 4,42, 18,42, 28,44, + 31,49, 26,35, 34,19, 43,47, 30,36, 4,32, 4,12, 0,11, + 33,24, 15,12, 33,36, 2,22, 37,32, 43,16, 1, 5, 36,49, + 48,32, 40,13, 3,42, 12,10, 32, 7, 12,32, 44,18, 1, 6, + 25,24, 26, 0, 18,12, 24,43, 20, 2, 11,46, 38,29, 49,16, + 32,38, 0,25, 19,49, 45,47, 3,23, 46,27, 45, 1, 0,38, + 34,36, 21, 2, 12,46, 29,27, 9, 5, 11,45, 9,46, 45, 5, + 22,35, 14,17, 8,44, 35,45, 37,12, 22,11, 12, 9, 9,11, + 40, 8, 41, 4, 1,10, 26,49, 22,22, 2,44, 20,18, 47, 5, + 38, 3, 42,11, 39,34, 27,27, 9, 9, 17,30, 40,23, 47,37, + 49,11, 19,37, 9,45, 48, 3, 7, 4, 49,39, 23,23, 49,44, + 13,40, 7, 1, 20, 7, 12,30, 47,19, 47,49, 18, 5, 42, 1, + 4,33, 5,34, 43,30, 26,24, 47,14, 46,31, 24,12, 30,26, + 10,10, 9,48, 30,30, 39,49, 42, 2, 40,46, 3,19, 16, 4, + 33,20, 44,21, 41,17, 0,46, 28,15, 41,27, 8,24, 1,17, + 24,29, 45,18, 13,46, 18,17, 23,47, 36,48, 21,43, 21, 7, + 10,20, 44,28, 28, 4, 29,47, 27,35, 14,22, 19, 6, 32,40, + 0,23, 1,23, 40,12, 48,41, 25,26, 7, 2, 47, 9, 35,31, + 43, 3, 27,10, 27,39, 43,38, 22,12, 19, 8, 36,38, 49,22, + 42, 5, 36,37, 29,18, 32,41, 28,35, 45,46, 37,28, 27,36, + 22,36, 42,45, 28,24, 41,10, 37,18, 11,33, 43, 5, 29,13, + 29,28, 49,40, 39,38, 13,37, 12,42, 32,23, 0,44, 27, 9 +}; +const int p_50_10[] = { + /// Number of people on picture + 50, + /// Number of preferences + 212, + /// Array of preferences + 16,16, 6,28, 23, 5, 23,32, 16,49, 30,27, 23,13, 46,26, + 9,36, 49,12, 42,26, 30,46, 11, 2, 23,23, 14,28, 35,19, + 32,18, 20,43, 5,34, 27, 7, 27,28, 45, 1, 1, 6, 30,30, + 40, 0, 21,23, 8, 5, 27,29, 8,18, 23,20, 29, 4, 12, 7, + 35,47, 5,26, 43, 0, 1,18, 23, 8, 44, 8, 7,11, 48,13, + 7,30, 20, 6, 31, 3, 37,40, 46,23, 13,48, 28,16, 9,20, + 6,35, 41,34, 36,21, 25,14, 12, 5, 2,32, 33,20, 31,16, + 10,35, 39,48, 28,23, 36,27, 44,31, 47,23, 2,15, 29,30, + 18,40, 25,20, 17,38, 35,16, 41,38, 31,22, 3, 0, 48,25, + 8,22, 25,31, 13, 8, 11, 3, 43,48, 12, 1, 14,43, 39,44, + 42,45, 26,16, 11,45, 14,47, 18,34, 9,44, 48,34, 15,32, + 45,24, 35, 0, 13,16, 39,36, 22,38, 43,12, 43,27, 26,13, + 7,45, 44,34, 39,46, 25,22, 31, 0, 45,10, 49,45, 12,34, + 12,44, 45,41, 1,14, 3,28, 27, 8, 27,37, 31,11, 45, 8, + 24, 3, 25,35, 39,31, 30,44, 37, 0, 7,28, 23,19, 42,42, + 20,35, 46,32, 3,15, 44,26, 26,20, 16,23, 42, 5, 11, 6, + 47,17, 33,36, 34, 3, 37,19, 14,16, 7, 8, 18,28, 17,42, + 18,38, 33,21, 21,38, 39,14, 16, 6, 46,11, 30, 4, 44,39, + 27,19, 36,19, 37,20, 29,11, 44,36, 3,34, 11,17, 33,44, + 46,29, 32,23, 45, 6, 21,25, 42,15, 26,34, 3,38, 7,26, + 8,23, 37,41, 49, 7, 9,35, 37,46, 19,33, 26,18, 39, 9, + 22,15, 24,21, 29,25, 10, 6, 30,42, 6,45, 34,33, 37,45, + 4,28, 30,16, 18, 3, 34,36, 43,36, 45,17, 24,43, 45,15, + 11,35, 38, 5, 9,48, 3,49, 34,13, 23,36, 38,35, 14,14, + 49,35, 21,17, 24,16, 15, 0, 6,42, 20,47, 42,24, 24,17, + 35,38, 22,19, 23,33, 8,33, 18,26, 28,35, 5,15, 12,33, + 38, 0, 34,46, 17,13, 19,46 +}; +const int p_50_11[] = { + /// Number of people on picture + 50, + /// Number of preferences + 389, + /// Array of preferences + 25,48, 36, 1, 30,45, 10,17, 49,16, 38,36, 25,16, 15, 0, + 40,36, 47,43, 45, 6, 31,26, 14,32, 41,18, 10,19, 20,12, + 45,49, 3,13, 17,20, 24, 0, 47,48, 7,47, 4,44, 27,26, + 34,12, 37,39, 26, 2, 14,45, 47,15, 10,33, 21,32, 39,21, + 28,18, 43, 3, 16,19, 28,19, 19,49, 5,49, 18,42, 46,16, + 24, 7, 13,26, 21,13, 43,27, 6,32, 25,20, 30,15, 32,14, + 19,16, 36,19, 40,42, 36,28, 29,34, 4,29, 2, 9, 33, 8, + 24,49, 14, 3, 17,36, 14,49, 36,47, 28,23, 5, 1, 22, 2, + 43,13, 42,39, 25,34, 31, 7, 25,40, 13,38, 20,18, 11,34, + 23,34, 20,44, 5, 2, 25,13, 9,20, 41,27, 46,23, 7,18, + 18,46, 22,25, 36,26, 23,12, 23,21, 0,15, 47, 9, 8,33, + 24,32, 35, 5, 11, 5, 31,30, 2,15, 7,48, 18,14, 22, 7, + 41, 6, 22,31, 14,15, 26,10, 12, 6, 45,18, 17,21, 37,14, + 16,42, 44,22, 47,46, 49, 4, 1,42, 26,17, 39,41, 30,24, + 23,19, 19, 5, 15,44, 1,31, 46, 2, 17,28, 47, 1, 40,43, + 10, 0, 20, 9, 45,46, 10,10, 24,40, 25,21, 7,20, 6,49, + 4,14, 41,35, 22,20, 44,30, 6,35, 47,13, 25,35, 49,39, + 9,43, 8,31, 47,47, 12,42, 28,29, 9, 8, 16,21, 9,19, + 15,13, 16,34, 5,48, 17,39, 12,25, 22,15, 30,46, 17,27, + 2,37, 28,30, 18,18, 11,32, 16, 9, 9, 1, 36,49, 31,35, + 13, 8, 7,40, 3,22, 16, 2, 42,28, 12,47, 19,43, 22,43, + 32,17, 36,25, 38,39, 35,43, 45,31, 41,39, 16,35, 47,40, + 29,43, 0,14, 22,29, 46,14, 6,42, 5,24, 30,42, 18,33, + 18, 1, 1,40, 37,35, 14,39, 0, 7, 42,31, 17,34, 16,28, + 10,46, 3, 8, 29,29, 46, 9, 23,33, 4, 8, 19,24, 47,22, + 25,41, 9,16, 32,25, 19,10, 19,13, 4,45, 9,12, 11,26, + 46,41, 11,45, 4,23, 10,42, 19,44, 15,17, 39,30, 28,32, + 9,34, 7, 4, 49,10, 32,29, 7,13, 24,42, 49,43, 43,25, + 21, 7, 35,39, 44, 9, 41,23, 40, 1, 12, 9, 44, 6, 11, 7, + 31,19, 10,20, 7, 3, 37, 0, 19,30, 5,43, 37,17, 9,32, + 16,14, 2,35, 15,19, 29,45, 30, 9, 1,10, 33,47, 15,40, + 34,41, 12,41, 42,29, 43,43, 5,19, 2,19, 35,22, 14,35, + 42,24, 37,28, 8,15, 24,23, 9,10, 22,17, 12, 5, 1, 1, + 5,38, 2,47, 32, 6, 13,43, 7,29, 26,42, 10,40, 20,45, + 13,39, 34,34, 49,11, 31,13, 8,44, 45,13, 11, 8, 11,42, + 49,22, 7,15, 14,24, 47,42, 4,31, 20, 8, 18,35, 48, 3, + 14,29, 28,48, 33,25, 46,49, 20,24, 28,15, 45,19, 18,32, + 6,40, 39, 1, 9,27, 35,26, 24,17, 47,18, 24,39, 12,26, + 38,23, 48,34, 34,27, 12,45, 36,30, 30, 4, 10,38, 47,45, + 18,36, 34,31, 23, 3, 23,26, 24, 3, 29,39, 42,15, 15,27, + 23,15, 39,18, 40,40, 14,26, 40,33, 31,31, 17, 6, 1,26, + 26,37, 24, 1, 41,10, 25,43, 7,45, 41,31, 35, 9, 42,11, + 38,34, 45,43, 22,19, 19,12, 34,14, 2,14, 13,18, 5, 5, + 29,12, 26, 8, 26,34, 42,36, 36,39, 31, 4, 17, 1, 30, 0, + 48,16, 30,29, 0,47, 2,43, 41,45, 23,35, 24,31, 12,28, + 1,49, 26,29, 9,17, 10,45, 20,49, 43,11, 39,35, 46,33, + 26,20, 1,38, 38, 0, 27,12, 45,37, 26, 5, 25,27, 20, 6, + 38,45, 29,13, 1,13, 5,22, 39, 3, 33,32, 42,33, 6,15, + 32,13, 34, 4, 9, 9, 27, 0, 38,25 +}; +const int p_50_12[] = { + /// Number of people on picture + 50, + /// Number of preferences + 107, + /// Array of preferences + 49,27, 11,17, 33, 0, 48,49, 25,27, 14, 8, 6,22, 11,15, + 17,23, 33,27, 4,33, 0,21, 36,28, 2,42, 42,11, 38,13, + 28,13, 9,33, 20,39, 40,38, 25, 6, 21, 3, 28,10, 2,18, + 8,13, 33,23, 49, 3, 7,22, 17, 6, 19,23, 35,33, 3,13, + 36,49, 46,42, 18,10, 38,47, 47,23, 5,10, 22,16, 45, 2, + 27, 2, 32,28, 13,40, 49,28, 15,31, 21,37, 48,46, 25,16, + 37,34, 18, 4, 34,18, 10, 5, 13, 5, 26,43, 15, 0, 12,14, + 24, 4, 10, 8, 3,47, 21,17, 42,49, 11,30, 16,28, 26,26, + 6,26, 18,23, 47,49, 12,10, 0,28, 19, 0, 16,41, 32,36, + 17, 1, 43, 6, 12,16, 24,25, 5, 1, 4,26, 46,49, 46,19, + 39,41, 7,30, 24,20, 41,19, 1,41, 40,24, 7,11, 23,12, + 49,21, 44,46, 25,44, 10,24, 1,42, 25,32, 20, 9, 3,26, + 28,26, 1,46, 4,18, 0,32, 37,33, 3,38, 30, 2, 26,28, + 23,31, 20,21, 31,49 +}; +const int p_50_13[] = { + /// Number of people on picture + 50, + /// Number of preferences + 623, + /// Array of preferences + 7, 2, 21,21, 45,47, 13,25, 46,26, 47,15, 34, 8, 46, 8, + 4,43, 7,12, 31,17, 23,13, 46,20, 28,45, 8,17, 19,18, + 23,39, 35, 6, 45,14, 39,45, 2,30, 21,42, 21,30, 21,20, + 24,24, 22, 2, 38,24, 41,46, 3,35, 16,13, 41,19, 10,31, + 23,36, 40,13, 28,30, 48,25, 33,35, 19,12, 42,48, 14,45, + 25,18, 2,46, 6, 7, 43, 5, 20,15, 42, 6, 49,42, 49,10, + 37, 1, 3, 7, 38,43, 46, 0, 8,33, 4, 3, 47,48, 13,30, + 24,21, 6,41, 15,25, 28,27, 23,25, 38,42, 25, 6, 32, 9, + 35,43, 45, 0, 2,24, 2,41, 31,28, 4,45, 46,28, 9,40, + 16,16, 35,15, 41,28, 31,47, 23,14, 40,29, 43,37, 49,48, + 21,41, 38,45, 30,16, 43, 8, 18,11, 5,42, 9,38, 16,30, + 49,29, 40,42, 14,35, 34,16, 33,23, 15,36, 21,46, 38,25, + 21,32, 2,45, 27,33, 42,35, 21, 7, 47,14, 36,44, 1,45, + 3,25, 15, 3, 33,28, 36,24, 42,43, 13,46, 2,38, 15,35, + 20, 6, 4,19, 38,32, 28, 7, 47,28, 3,40, 15,20, 31,35, + 5,46, 14,34, 0, 5, 4,11, 43,41, 20,36, 34,47, 15, 2, + 14,20, 44,48, 9,21, 3,43, 15,33, 33,19, 22,22, 45,16, + 21,44, 41,40, 49,17, 15,27, 37,40, 7,25, 24, 5, 41,48, + 43, 6, 47,12, 7,48, 5,38, 9, 9, 22,43, 39,19, 17,19, + 5,45, 16,39, 42,36, 3, 4, 36,18, 19, 1, 9,18, 36,26, + 14, 6, 48,27, 5,23, 44, 8, 39,17, 13,11, 43,43, 30,33, + 40,22, 38, 9, 23,10, 40,33, 23, 5, 18, 6, 23,20, 27,20, + 17,20, 36, 7, 48, 3, 35, 8, 33,31, 20,28, 0,34, 23,24, + 38, 6, 27, 2, 22,37, 26,47, 23,15, 15,37, 19, 2, 31,30, + 20, 8, 5,26, 47, 0, 39, 1, 24,28, 25,19, 5,41, 12,48, + 9,42, 9,41, 8,48, 25,24, 23,45, 23,33, 14, 9, 36,39, + 9,17, 33,22, 25,42, 16,49, 34,32, 26,49, 2, 9, 42,45, + 23, 7, 7,18, 34,22, 40, 0, 9,15, 37, 6, 48,17, 19,37, + 17, 6, 21,47, 46,46, 17,12, 29,31, 6,23, 36,27, 28,47, + 27,24, 27,22, 23,29, 29, 2, 45, 8, 18,30, 49,41, 41,30, + 33, 1, 9,20, 38, 0, 20,16, 24, 9, 47, 5, 3,47, 37,18, + 37,12, 33,34, 34,34, 4,15, 3,12, 33, 5, 26,32, 44,35, + 37,23, 37,44, 7,21, 32,14, 49,32, 29,13, 14, 4, 25,14, + 30,36, 10,30, 29,30, 22,24, 20,22, 25,48, 38,16, 23,32, + 19,21, 43,17, 24,47, 46,14, 29, 9, 32,32, 48,45, 11,44, + 22, 1, 8,36, 47, 1, 47,13, 29,17, 37,27, 11,48, 20,13, + 14,25, 17,46, 28,23, 44, 4, 1, 5, 12, 0, 12, 7, 10,45, + 6,30, 13,29, 4,47, 11,31, 36,31, 23, 3, 32,23, 12, 1, + 47,25, 8,29, 32,12, 22,31, 37,22, 14,32, 10, 8, 15,40, + 36, 1, 47,10, 0, 7, 9,45, 10,16, 20,14, 17, 9, 16,46, + 39,23, 41,13, 35, 1, 43,38, 5,44, 8, 0, 42,13, 31,14, + 17,28, 43,46, 41,32, 22,29, 14,42, 31, 3, 6, 4, 13,15, + 12, 4, 4,23, 19,48, 10,25, 25,15, 42,44, 17,29, 34,17, + 12,20, 5,32, 2,34, 23, 0, 47,38, 8,34, 16,10, 35,40, + 3,49, 3,29, 24, 2, 47,41, 9,49, 27,21, 40, 7, 42,41, + 20,18, 7,33, 6,13, 38,49, 20,35, 47,21, 24,26, 16, 2, + 39,41, 6,40, 12,23, 46,22, 28, 0, 11, 7, 43,48, 47, 3, + 44,18, 5,28, 22,10, 12,10, 44,46, 43,36, 45, 2, 9, 4, + 29,28, 27,35, 31,12, 14,11, 42,25, 42,12, 19,11, 48, 6, + 43,33, 39,24, 40,37, 18,47, 15,17, 27,46, 25,20, 14,43, + 12,37, 39, 4, 26, 5, 46, 7, 23,41, 17,13, 26,20, 45,41, + 40,49, 0,10, 4, 8, 27,13, 31,32, 20,29, 20,45, 23,12, + 45,19, 5,34, 42,14, 0,14, 45,43, 2,28, 19,10, 17, 8, + 17,21, 40, 6, 44,34, 24,43, 31,49, 15, 8, 10,29, 30,20, + 8, 6, 1,13, 31,19, 44, 2, 35,29, 25,22, 29,21, 27,27, + 25,11, 38,10, 0, 0, 9,33, 32,37, 31, 2, 34,30, 18, 1, + 37,32, 11,29, 44,41, 41,11, 6,37, 0,15, 22,16, 18, 5, + 7, 6, 39,31, 27,14, 40,47, 34,31, 43,13, 9, 6, 36,47, + 27, 7, 42,17, 37,15, 22,39, 5, 1, 2, 8, 29,14, 42,18, + 27,25, 12,41, 34,21, 22,44, 32,31, 43,45, 16,23, 48,24, + 23,38, 25,37, 18,14, 7,22, 41,29, 34,45, 30, 6, 46,34, + 2,32, 4,44, 17,40, 13,39, 49,15, 9,32, 5,27, 23,11, + 3,41, 44,49, 26,35, 14,49, 40,10, 31,26, 47,45, 46, 4, + 12,34, 13, 5, 5,33, 21,13, 46,15, 30,31, 30,17, 47,20, + 40,36, 11,22, 13,33, 39,35, 17, 7, 14,12, 30, 7, 4,27, + 46,12, 30, 8, 27,11, 28, 6, 18,13, 40,21, 22,30, 32, 4, + 41,16, 38,38, 17,45, 9,26, 6,18, 34,11, 36, 5, 9,27, + 44,23, 33,17, 47,46, 12,44, 32,45, 48,31, 20,32, 18, 3, + 41, 8, 16,42, 43,30, 12,39, 26,41, 32,11, 38,34, 2,16, + 34,25, 38,41, 4,30, 33,15, 26,38, 22,33, 16,47, 32, 0, + 45,38, 20,12, 44, 5, 30,46, 23,43, 20,40, 34, 3, 28,34, + 0,13, 21,23, 35, 0, 26,48, 36,19, 1,11, 13,34, 40,27, + 41,39, 42,49, 28,49, 44,26, 0,21, 15,14, 30,47, 20,11, + 23,17, 49,40, 31,27, 24,29, 49,47, 14,27, 4,40, 47,26, + 12,24, 6,28, 10,36, 12,14, 48,38, 11, 5, 20,44, 47,34, + 5,39, 12, 3, 31, 0, 34,46, 0,43, 31,37, 16,20, 43,35, + 24,11, 45,18, 2,17, 41,20, 37, 5, 21, 3, 5,30, 0,47, + 47, 9, 26,43, 43, 0, 33,48, 34,26, 36,11, 41, 2 +}; +const int p_50_14[] = { + /// Number of people on picture + 50, + /// Number of preferences + 475, + /// Array of preferences + 28,35, 41, 3, 19,47, 2,23, 10,34, 6,38, 2,39, 6,12, + 40, 7, 30, 6, 43, 5, 2,15, 36,13, 13,15, 26,26, 9,47, + 5,26, 49,33, 36,16, 3,42, 7, 5, 41,23, 16, 4, 13,36, + 33,49, 42,44, 31,46, 38,33, 44,38, 35, 9, 18,28, 17,14, + 10,26, 47,36, 31, 4, 3,23, 45,36, 9,40, 48,38, 3,47, + 36,25, 2,27, 39, 6, 33,36, 37,49, 23, 8, 45,46, 28,30, + 30,21, 39, 7, 41,11, 22,26, 20,27, 38,11, 35, 1, 37,40, + 49,13, 29,29, 36, 4, 33,32, 6, 7, 28,21, 35, 7, 13,12, + 34,42, 23,27, 28, 6, 37, 1, 14,12, 35,49, 3, 2, 38,46, + 18, 0, 2,26, 33,23, 46,24, 24,35, 8,24, 3,43, 12, 9, + 35,21, 5,33, 0,36, 41,34, 11,28, 21,40, 5, 0, 47,29, + 16,10, 41,41, 10, 4, 9, 0, 3,25, 3,32, 31, 8, 44,41, + 7, 4, 19,20, 45,39, 35, 6, 2,22, 48, 2, 19,38, 37,24, + 24,40, 40,16, 38,24, 16,48, 0, 2, 46,23, 1, 7, 17,12, + 10,46, 41, 9, 32,14, 25, 2, 8,27, 49,24, 38, 6, 45,19, + 9,43, 5, 4, 28,24, 2,31, 9,28, 35,25, 13,48, 42,43, + 31,34, 32,15, 20,16, 14,49, 36,38, 34,19, 27,27, 36,42, + 41,17, 46,43, 14,47, 8, 4, 24,31, 49,35, 36,48, 45,37, + 33,41, 41,33, 32,48, 7,14, 8,10, 7, 0, 3,27, 39,39, + 25,39, 24,39, 14,32, 1,39, 23,41, 43,24, 34, 4, 38,39, + 35,39, 18,20, 25,42, 4,10, 12, 5, 29,14, 11,29, 24,41, + 11,13, 36,34, 34,32, 4,23, 49,45, 18,32, 27,14, 23,47, + 46,25, 4,45, 32,45, 7,16, 1,27, 9,25, 8,36, 20,30, + 42, 2, 32,30, 9,29, 8,12, 28,36, 32,19, 4,35, 47, 6, + 30, 9, 1,42, 36,28, 42, 9, 27,35, 14,19, 9, 7, 44,21, + 38,43, 0,16, 12,47, 38,10, 9,10, 49,44, 28, 7, 43,27, + 44, 5, 0,22, 11,44, 34,30, 39,49, 48,28, 44,10, 6, 6, + 45,12, 47,25, 1,44, 6,14, 24,26, 21, 0, 38,35, 45,23, + 1,21, 25,17, 16,49, 16,42, 7, 7, 49,47, 36,17, 45,32, + 0,34, 28, 5, 22,10, 43,37, 43,14, 21,11, 42,48, 46, 9, + 37, 0, 11, 4, 40,42, 20,33, 4,30, 39,35, 22,35, 13,25, + 13,14, 23, 6, 11,25, 10,45, 43,45, 7,15, 27,44, 21,48, + 7,23, 17,45, 6,11, 32,25, 43, 8, 1,49, 33,43, 22,28, + 1,18, 27, 1, 21,19, 9,38, 22,34, 19,33, 29,27, 26,38, + 23,30, 46,45, 14, 6, 48, 7, 17,22, 31,36, 26,28, 34,26, + 0,47, 0,43, 3,14, 5,16, 14, 2, 20, 2, 43,15, 16,33, + 18,19, 13,32, 7, 1, 19,18, 7,17, 49,27, 36,47, 25, 7, + 27,22, 13,18, 19,17, 28,40, 38,12, 48,26, 0,37, 35,34, + 1,40, 34, 8, 34, 7, 39,13, 40,31, 39,14, 27, 8, 4,18, + 6, 4, 14, 4, 35,11, 29,28, 36,37, 35,33, 19,27, 22,47, + 48,25, 47,13, 25,11, 30,24, 18,40, 25,28, 48, 3, 3,21, + 4,49, 49, 6, 13, 9, 40,13, 6,37, 41,27, 41,22, 21,32, + 38,32, 16,14, 23,11, 15,11, 10,37, 42,25, 43,42, 9, 8, + 35,44, 20,14, 7, 9, 48,29, 6,48, 16,20, 45, 1, 42,15, + 48, 8, 28,11, 45,18, 8,18, 8,23, 3, 1, 25,16, 19, 1, + 16,15, 19,31, 16,32, 38,48, 4,16, 8,11, 30,38, 33,45, + 15,40, 38,38, 14, 1, 1,41, 22,16, 36,24, 14,44, 3,17, + 9,46, 14,43, 13, 2, 24,17, 3,29, 32,42, 7,45, 30,41, + 9,12, 2,25, 47,31, 21,26, 36,23, 44,29, 22, 5, 49,15, + 22, 4, 20, 9, 2,20, 36, 7, 5,11, 27,15, 18,44, 2, 2, + 33,12, 46,32, 21,10, 12, 6, 35,37, 15,13, 47,22, 37,37, + 1, 2, 41,19, 16,43, 4, 4, 17,21, 14,29, 23,18, 4, 5, + 22,24, 20,19, 24,36, 35,13, 8,21, 31, 2, 12,33, 37,46, + 16,37, 10,23, 48,44, 44,43, 4,25, 37,41, 2,47, 6,10, + 22,12, 46,11, 20, 3, 4,32, 24,32, 8,16, 20,42, 6,30, + 32, 7, 12,42, 25,44, 24,23, 25,35, 13, 5, 37, 5, 33,26, + 44,12, 40,35, 21,33, 47,21, 34,29, 37,43, 7,33, 8, 9, + 47,18, 31,21, 20,18, 27,37, 4,17, 2,44, 7,20, 2, 3, + 39,33, 30,28, 7,36, 48, 0, 17,10, 24,11, 42,35, 4, 6, + 7,38, 2,38, 17,23 +}; +const int p_50_15[] = { + /// Number of people on picture + 50, + /// Number of preferences + 155, + /// Array of preferences + 16, 1, 43,18, 23,37, 11,48, 45,44, 10,41, 4, 0, 20, 4, + 39,24, 39,11, 46,19, 19, 5, 21,48, 8,17, 47,28, 16, 5, + 48,14, 9,45, 48,32, 38,36, 42,45, 47,17, 18,45, 32, 6, + 21,29, 8, 4, 39,30, 24,29, 36,17, 21,42, 35,42, 41,12, + 11, 6, 6,31, 5,10, 32,47, 20,48, 24,12, 35,23, 38,13, + 37,24, 7,36, 31,22, 24,34, 46, 6, 40,14, 35,27, 5, 0, + 13, 0, 9, 7, 48, 4, 24,23, 22,24, 39,22, 34, 0, 6, 0, + 7,31, 23,10, 6, 5, 10,27, 39,44, 27,46, 34, 7, 47, 3, + 45, 7, 27,22, 30,33, 0,38, 38, 1, 2,19, 12,20, 38,21, + 49,31, 45,37, 9,15, 13, 8, 27,42, 1,46, 6,23, 31,44, + 19,38, 49,26, 24,30, 35,12, 24,27, 1,39, 42,37, 44,36, + 34, 1, 25,41, 3,34, 35,29, 37,19, 28, 9, 22, 1, 8,15, + 17,20, 43,46, 45,18, 31,30, 43,49, 30,18, 25,21, 2,11, + 5,12, 42,31, 40, 5, 16,31, 6,19, 13,27, 1,35, 4,21, + 43,15, 9,24, 26,16, 12, 2, 39, 9, 49,11, 43,39, 42,39, + 14,27, 18,33, 32,49, 26,49, 13,33, 27, 4, 41,18, 41, 8, + 18,32, 2,35, 23,42, 15,22, 9,47, 23, 1, 9,42, 3,19, + 17,36, 3, 0, 0, 4, 25,44, 4,45, 45,16, 20,31, 33,14, + 38,23, 39,32, 6,20, 23, 3, 40,49, 41,45, 28,22, 29,47, + 26, 4, 40,38, 18,36 +}; +const int p_50_16[] = { + /// Number of people on picture + 50, + /// Number of preferences + 74, + /// Array of preferences + 33,37, 13,43, 28,12, 42,24, 47,41, 47,13, 20,46, 26,46, + 37,33, 24, 0, 25,40, 42, 9, 8,47, 7,12, 19,37, 19,48, + 44,33, 46,47, 8,15, 14, 0, 34,49, 1,47, 3,43, 18, 2, + 10,47, 8,48, 5, 2, 11, 8, 12, 9, 47,40, 6,27, 17,44, + 8,10, 17, 6, 45, 9, 36,13, 25,24, 38,38, 5, 1, 13,15, + 29, 9, 17, 3, 32,13, 41,20, 19,10, 47, 3, 34,12, 2,27, + 47,17, 31,49, 3,37, 42,23, 10,17, 41,18, 0,12, 23, 9, + 45,32, 9,49, 6, 8, 20,16, 5,23, 34,14, 38,46, 41,15, + 26, 4, 30,26, 6, 5, 49,13, 33,35, 29,12, 16,39, 31,14, + 5,18, 35, 9 +}; +const int p_50_17[] = { + /// Number of people on picture + 50, + /// Number of preferences + 495, + /// Array of preferences + 44,23, 33, 7, 25,39, 8, 7, 26,34, 19,38, 45,11, 15,47, + 12,42, 37,14, 20,42, 19,42, 48,36, 41,41, 36,43, 15,33, + 20,41, 22,30, 18, 1, 27,20, 35,45, 27, 1, 3, 1, 14,42, + 38,45, 38,35, 9,19, 15, 6, 13,22, 11,31, 35,10, 22,27, + 32,38, 40,22, 15,41, 25, 1, 47,24, 16, 0, 48, 5, 24,19, + 46,44, 11,21, 35,44, 10,48, 37,20, 39,46, 1,39, 4,23, + 47, 5, 14, 5, 35,31, 44,11, 29,44, 12,23, 39, 7, 22,29, + 46,13, 46,49, 21, 1, 46,26, 46, 7, 20,49, 22,18, 31,38, + 17, 0, 2,30, 4,34, 11,23, 46,42, 44, 7, 1,16, 29,22, + 45,46, 31, 4, 11,30, 47,30, 29, 1, 33,28, 49,43, 39, 8, + 46,18, 37,27, 43,45, 42,34, 26,45, 30, 0, 11,40, 41,32, + 17,26, 45,49, 24,22, 35,19, 21,17, 8,11, 45,12, 38,41, + 31,29, 23, 9, 1, 4, 13,40, 40,30, 21,31, 38,47, 31,27, + 35, 9, 0, 0, 21,28, 3,36, 30,15, 26,37, 34,13, 2,13, + 23,21, 24,32, 28, 7, 13,25, 49,37, 5,36, 47,16, 20, 9, + 28,27, 4,46, 30,23, 17,40, 19,21, 48,20, 27, 5, 12, 0, + 19,40, 27,36, 1,44, 30,17, 37,40, 19,33, 9,46, 44,24, + 48, 2, 13,34, 19, 3, 41,10, 46, 1, 10,39, 9,21, 32,49, + 10, 1, 7,11, 19,28, 47,45, 49, 1, 44,12, 40,15, 35,35, + 49,27, 19,22, 25,21, 40,10, 16,15, 16,42, 34,18, 16,23, + 46,41, 13,13, 27,41, 17,15, 15,25, 16,16, 22,39, 15,15, + 32,19, 3,46, 16,11, 5,25, 36, 4, 18,27, 19, 4, 24,15, + 46, 6, 8,38, 32,29, 41, 5, 15,49, 24,28, 40,43, 45,20, + 42,27, 12,18, 8,27, 49, 3, 29,39, 48,34, 27, 8, 45, 6, + 43,15, 4,26, 25,26, 33,20, 3,43, 32,28, 40,40, 45, 9, + 7,12, 9,48, 17, 7, 6,13, 41,28, 43, 4, 45,32, 49,14, + 39,14, 45,43, 38, 1, 39,27, 17,13, 18,41, 43,46, 3,29, + 35,28, 45, 2, 17, 1, 9,14, 18,11, 11,12, 0,26, 1, 5, + 23,33, 30,21, 18, 6, 28,29, 11,42, 12,33, 35,27, 45, 1, + 26,22, 37, 9, 23,14, 36, 6, 24,33, 16, 4, 26,36, 49,25, + 30,39, 11, 3, 24,12, 5, 1, 20,45, 5, 9, 24,18, 44,44, + 1, 1, 10,21, 13,42, 34,40, 38,39, 19,26, 36,34, 7,30, + 37,49, 18,12, 36,23, 41,25, 40,47, 42, 8, 25,17, 49,49, + 46,32, 25,12, 29,16, 8,21, 8, 9, 37,15, 32,18, 36,36, + 16, 7, 24,48, 29,26, 31, 1, 20,16, 13,27, 33, 3, 1, 9, + 33,34, 3,34, 43,40, 36, 0, 6,14, 29,24, 21,34, 18,19, + 20,28, 2,20, 29,43, 9,28, 27,15, 13, 9, 13,10, 25,27, + 19,37, 23,37, 14,19, 9,15, 37,31, 34,45, 41,16, 0,27, + 24,34, 24,44, 33, 0, 3, 8, 28, 3, 27,11, 36,35, 4,33, + 46,45, 48,14, 35,24, 15,12, 17,48, 5,31, 34,14, 19,45, + 23,40, 39,11, 29,40, 2,44, 43,21, 20,38, 14, 3, 23,23, + 36, 8, 49,28, 8, 0, 43,48, 28,11, 32,46, 37,38, 43,24, + 27,25, 44,29, 41,20, 0, 2, 4,47, 0,17, 3, 3, 28,10, + 7,44, 44,21, 36,12, 11,44, 27,32, 25,14, 12,48, 2,18, + 20,34, 48, 6, 48,10, 6,39, 42,19, 33,17, 38,21, 20,15, + 18,33, 31,20, 7,42, 12,36, 41, 3, 21,14, 30,26, 49,42, + 4,27, 39,48, 22,20, 20,23, 23, 2, 40,24, 8,28, 30, 6, + 33,43, 10,28, 23,10, 11, 5, 19,15, 48, 4, 1,35, 38,44, + 40, 2, 46, 3, 35,43, 21, 3, 30,10, 26,24, 30,36, 13,32, + 27,30, 3,15, 33,49, 21,46, 21, 5, 30,27, 21,30, 16,20, + 46,22, 22, 2, 25,33, 13, 6, 17, 5, 14,33, 12,35, 25,46, + 23,47, 24,37, 48,28, 38,26, 42, 6, 25,38, 2,43, 48,15, + 37,18, 36,14, 49,10, 5,16, 28,47, 16,41, 21,36, 19,46, + 13,37, 18,13, 30,29, 34,17, 23,32, 18,48, 49,34, 20,20, + 8, 2, 5,41, 12, 7, 3, 2, 24,30, 37,37, 30, 8, 48, 0, + 29,49, 1,31, 6,33, 27,27, 39,22, 35,15, 48,27, 17,36, + 25, 2, 13,26, 37,35, 44,28, 9, 6, 14,17, 23,20, 26,27, + 40,33, 2,15, 39,26, 8,13, 29,37, 22,11, 28,17, 31,49, + 10, 0, 0,10, 22,38, 17,18, 33,10, 48,42, 23,26, 27, 6, + 37, 7, 2, 7, 24,35, 24,42, 15,36, 7,45, 5,24, 14, 2, + 33,22, 43,23, 44,16, 11,33, 36,44, 32, 0, 11,28, 26,33, + 20,10, 24, 1, 23,18, 34,15, 19,10, 44, 5, 17,10 +}; +const int p_50_18[] = { + /// Number of people on picture + 50, + /// Number of preferences + 215, + /// Array of preferences + 29,48, 32,11, 33,36, 33,48, 2,21, 16, 3, 6, 4, 2,36, + 48,36, 39,10, 19, 6, 3,44, 36,47, 39,20, 7,20, 43,12, + 20,22, 49, 8, 18,27, 18,12, 3,33, 10,23, 36,27, 26, 7, + 49,30, 7,41, 5,43, 31, 5, 1,15, 23,37, 47, 8, 33,17, + 26, 9, 8,37, 3,47, 46,30, 32,20, 16,33, 30,40, 4, 8, + 3, 4, 20,16, 8,11, 25,29, 39,40, 40,22, 31,42, 28,11, + 47,45, 24, 2, 32,23, 2,29, 16,26, 45, 6, 12,31, 7,46, + 48,45, 20,14, 17,13, 34,20, 27, 5, 15,24, 30,24, 9,29, + 15, 2, 14,22, 48,37, 28, 9, 5, 5, 25,46, 14,28, 44,40, + 15,36, 17,45, 0,43, 3,26, 20, 2, 4,12, 37,18, 37, 9, + 15,34, 24,18, 2, 8, 37,40, 11,35, 44,22, 12,43, 15,48, + 46,40, 3,19, 25, 0, 48,10, 18,34, 3,39, 20,13, 38,42, + 1,48, 4, 0, 19,49, 2,18, 40,35, 37,10, 12, 5, 43,13, + 40,38, 36,16, 22, 1, 13,35, 46, 4, 13, 1, 25,33, 40,48, + 15,27, 38,37, 14,46, 16, 5, 16,17, 33,46, 49,17, 45,45, + 2, 0, 49,42, 49, 2, 18, 2, 42,45, 42,43, 37, 4, 12, 4, + 33,21, 11,12, 38,45, 32, 6, 14,40, 25,49, 19,39, 6,16, + 30, 1, 12,38, 6,36, 26,39, 21,35, 6,34, 26, 6, 47,33, + 21,45, 13,11, 38, 3, 7,48, 32,40, 45,26, 13,22, 36,31, + 8,27, 42, 7, 31,20, 23,31, 22, 6, 29,11, 14,48, 46,34, + 46,49, 35,26, 9, 5, 48, 0, 13,34, 20,20, 39,48, 15,11, + 11,23, 5,30, 5,48, 38,12, 14, 4, 31,37, 23,49, 47, 0, + 21, 2, 38,24, 11,47, 32,48, 11,46, 11,44, 43, 2, 6,25, + 9,34, 1,16, 0,11, 38,29, 17, 4, 11,21, 16,46, 5, 8, + 14,31, 28,25, 13, 9, 34,46, 47,42, 45, 3, 25,37, 40,31, + 46, 8, 36,25, 21,30, 42, 5, 1,42, 35,20, 21,31, 36, 4, + 31,21, 34,13, 45, 5, 4,28, 6,23, 34,43, 37,37 +}; +const int p_50_19[] = { + /// Number of people on picture + 50, + /// Number of preferences + 103, + /// Array of preferences + 7,40, 4, 4, 36,25, 20,17, 1,24, 6,21, 41,26, 41,48, + 6,18, 39,44, 11,29, 24, 2, 20,14, 33,31, 27,45, 35, 9, + 5,41, 26,34, 9,14, 40,30, 15,32, 38,31, 29,27, 32,44, + 45,30, 20,29, 31,12, 45,38, 22,20, 27,32, 48,22, 4,29, + 33,18, 6,12, 3,21, 49,38, 41,39, 21,48, 44,10, 14, 5, + 11,12, 26,39, 41, 1, 35, 0, 47, 4, 48,49, 19,36, 49,39, + 23,24, 29,16, 40,35, 44,35, 46,31, 15, 8, 43,14, 46,36, + 4,15, 3,27, 39,16, 3,13, 44,25, 23,35, 10,31, 49, 6, + 28, 9, 0,15, 26,37, 14,44, 15,23, 26,49, 0,21, 15,33, + 14, 8, 40,49, 11,43, 17,22, 9,15, 37,41, 4, 1, 3,48, + 14,17, 10, 9, 36,27, 18,46, 31,38, 27,11, 15,49, 12,37, + 41,49, 9, 9, 42,41, 4,33, 25, 9, 3,22, 24, 3, 21,21, + 17,46, 38, 1, 11, 2, 37,14, 3,32, 41,20, 6,25 +}; + +const int p_60_0[] = { + /// Number of people on picture + 60, + /// Number of preferences + 156, + /// Array of preferences + 23, 3, 53,20, 37,16, 56,51, 5,20, 22,26, 44,38, 30,56, + 22, 4, 34,28, 4,20, 30,15, 27, 3, 57,37, 0,32, 9,42, + 54,18, 2, 9, 26,32, 46, 6, 55,41, 41,38, 23,29, 15, 5, + 46,20, 13,18, 29,47, 52,44, 46,17, 0,38, 27,15, 37, 8, + 36,33, 11, 1, 13,43, 37,48, 19,12, 42,31, 22,19, 27,21, + 8,19, 37,10, 53,41, 29,19, 30,47, 44,19, 43, 9, 13, 5, + 18,10, 9,17, 26,14, 11,28, 53,55, 24,51, 29,24, 33,29, + 52,13, 8,32, 29,28, 58, 5, 46,47, 43,10, 53,29, 36,19, + 22,50, 6,46, 2,59, 6,24, 48,11, 12, 6, 37,14, 33,27, + 24,40, 34, 4, 52,33, 48, 3, 56,19, 44,16, 49,53, 3,33, + 17,44, 55,47, 52,22, 10,30, 44,45, 6,25, 47,54, 34,15, + 23,26, 52,45, 41,20, 56,36, 33,23, 41, 0, 56,32, 33, 0, + 54,59, 52, 6, 39,24, 27,32, 8,57, 35, 2, 46, 3, 48,36, + 10,59, 9, 7, 9,52, 46,42, 24,17, 35,36, 50,35, 15,57, + 56, 9, 16, 1, 10,52, 52,50, 42,58, 57,39, 0,25, 12,57, + 17,15, 13,53, 4,38, 23,46, 56,20, 2,17, 23,10, 21,58, + 33,59, 6,22, 31,43, 58,28, 0,19, 20,30, 59, 0, 43,19, + 22, 7, 53,40, 33,42, 34,55, 53,12, 10,27, 48, 5, 58,41, + 34, 7, 49,22, 17,58, 15,56, 3,57, 23,33, 41,44, 12,20, + 7, 5, 51,39, 42,22, 8,37 +}; +const int p_60_1[] = { + /// Number of people on picture + 60, + /// Number of preferences + 673, + /// Array of preferences + 21,56, 6,37, 33,47, 9, 6, 53, 1, 45,53, 32,43, 17,23, + 4,13, 25,27, 35,58, 14,46, 57,59, 12,47, 33,40, 50,40, + 9, 0, 49,12, 16,32, 23,30, 15, 6, 49,48, 29,33, 58,54, + 42,44, 50,58, 21,39, 1,14, 45,36, 42, 5, 4,15, 31,22, + 45,38, 21,46, 22,47, 18,20, 13,33, 47,27, 30,26, 55,35, + 21,37, 40, 0, 24, 0, 3,12, 55,34, 19,47, 37, 6, 4, 8, + 33,15, 21,10, 28,43, 57,31, 51, 3, 25,55, 0,15, 20,39, + 20,26, 7, 8, 52,33, 34,43, 35, 9, 54,40, 53,58, 28,15, + 1, 4, 4,21, 33, 0, 52,27, 20,54, 51,12, 16, 3, 39,24, + 26,10, 58, 1, 19, 1, 38,36, 41,57, 30,32, 24, 3, 16,42, + 1, 7, 23,53, 38,33, 42, 9, 43,25, 38,38, 11,38, 12,13, + 13,24, 5,46, 48,14, 48,44, 58, 3, 29, 8, 42, 1, 12, 7, + 56, 9, 52,47, 11, 8, 55, 1, 30,52, 53, 6, 38,59, 24,49, + 49,19, 19, 7, 9,26, 40,44, 10,51, 16,49, 19,23, 17,40, + 53,27, 4,55, 13,11, 52,13, 33,24, 51,32, 25,15, 12,59, + 40,46, 28,35, 54,51, 29,53, 47,21, 43,47, 20,24, 44,25, + 3, 3, 18,32, 9,32, 11,13, 44,21, 36,49, 15, 9, 25, 3, + 57,21, 7,35, 40,50, 21,50, 52,28, 25,44, 11, 0, 16,12, + 29,42, 53,28, 37, 7, 2,27, 22,54, 20, 3, 31,23, 41,15, + 42, 0, 31,20, 5,20, 25,33, 18,30, 56,18, 49,49, 44,40, + 48,21, 8,57, 57,48, 27,51, 20, 1, 0,24, 19,10, 0,17, + 4,44, 58,20, 23,24, 24,52, 55,24, 1,51, 0,48, 19,52, + 1,21, 35,22, 2,14, 17,48, 38,56, 9,53, 53,56, 5,56, + 1,30, 23,58, 23, 8, 29,13, 7,27, 17,33, 42,43, 9,58, + 57,44, 0,49, 59,36, 14,31, 32,21, 50,37, 2, 7, 45,35, + 32,59, 36,34, 39,28, 51,50, 26,34, 20,35, 57, 7, 40,59, + 2, 1, 2,54, 17,46, 16,14, 24,28, 48,25, 47,29, 55,59, + 52,50, 30,33, 49,43, 4,37, 38,27, 51,28, 23,45, 18,25, + 56,28, 30,40, 13,44, 9,17, 22,12, 28,33, 20,28, 9,52, + 37,50, 4, 2, 58,41, 3,39, 32,30, 33,20, 9,28, 28,42, + 55,44, 27,22, 6,56, 29,10, 10,48, 3,18, 49,31, 22,16, + 44, 0, 24,44, 55,49, 15,49, 27,24, 17,22, 13,36, 16, 2, + 7,17, 8,51, 4, 6, 33,49, 28,11, 56,44, 7, 4, 6,15, + 41,59, 55,46, 4, 1, 55,47, 35, 1, 0, 9, 40,40, 56,12, + 29,37, 34,39, 12,33, 46,28, 1,44, 3, 2, 36,50, 12,29, + 52,12, 21,17, 0,41, 34,47, 21, 8, 22,20, 30,50, 15,29, + 12,56, 36,41, 41,28, 43,53, 56, 3, 27,52, 55, 9, 20,30, + 24,15, 12,49, 19,43, 13, 1, 29,38, 49,32, 8,39, 15,30, + 18,56, 58,49, 44,29, 6, 0, 48,49, 53, 4, 24, 9, 2, 2, + 53,42, 19,54, 50,14, 10,30, 59,51, 32,57, 24,35, 55,54, + 2,28, 38,39, 9,42, 51,48, 26,42, 20,44, 3,48, 6, 9, + 47,43, 16,10, 48,11, 44,23, 40,36, 47,56, 42,15, 23, 5, + 40,32, 43,18, 31,32, 47,22, 51,27, 19,26, 16,52, 15, 8, + 52,39, 35,39, 47,14, 27,14, 45,46, 40,31, 18, 1, 15,32, + 14,16, 0, 3, 22,58, 4,51, 25,49, 47,34, 9,33, 37,58, + 3,41, 7,31, 49,58, 30,28, 43,39, 47, 2, 41,12, 25,29, + 31, 3, 50,36, 46,27, 5,33, 12, 4, 8, 2, 56, 5, 26,38, + 6,41, 43,57, 51, 5, 43,21, 12,15, 27, 0, 7, 9, 20,47, + 33,39, 21,21, 54,13, 58, 5, 46,38, 58, 8, 38, 2, 2,43, + 55,14, 29,45, 48,59, 27,10, 26,29, 30,53, 54,19, 45,34, + 2,11, 57,45, 18,58, 54,26, 6, 3, 25, 1, 48,45, 22,52, + 17,32, 17, 1, 15, 0, 33,41, 51,59, 44,10, 4, 4, 50, 4, + 45,31, 50,49, 3,46, 28,21, 28,47, 33,32, 35,28, 22,21, + 46, 3, 58,59, 24, 6, 9,12, 31,13, 10,58, 47,50, 2,40, + 35,55, 39,44, 46,40, 42,37, 45,56, 13,14, 35,35, 54,25, + 11,44, 31,58, 40,47, 14,37, 21,54, 8,13, 52,54, 37,26, + 34,50, 15,33, 38,46, 37,24, 15,50, 41,27, 26, 0, 45,48, + 45,10, 55,39, 36,23, 7,59, 36,38, 57,27, 30,45, 0,19, + 24,45, 38, 9, 51,11, 36,24, 29,20, 9,49, 31,46, 5,16, + 46,45, 21, 9, 38,42, 47,47, 52,48, 19,32, 22,25, 48,33, + 24,58, 35,33, 13,22, 46, 6, 7,21, 52,43, 6,48, 5,35, + 19,13, 1,57, 1,19, 32, 1, 59,59, 24,48, 48,34, 42,33, + 32,41, 54, 5, 48,42, 42,10, 38,14, 58,23, 23,15, 14,40, + 0,39, 3,51, 25,22, 10,47, 18,18, 51,46, 48,23, 44,57, + 19,35, 51,22, 47,17, 7,55, 36,29, 1,47, 58,55, 29,40, + 34,28, 49, 6, 30,38, 29,17, 36,43, 10, 2, 11,26, 0,50, + 28,16, 17, 2, 19,19, 23,49, 41,53, 34,48, 49,59, 29,15, + 51,15, 32,58, 53,52, 59,38, 25,25, 27,40, 25,20, 56,35, + 3, 8, 58,42, 55,45, 46,53, 22,59, 19,18, 15,40, 58,15, + 36,37, 36,31, 42,26, 52,57, 36, 1, 51,31, 37,15, 31,51, + 42, 4, 54,33, 11,20, 14,41, 2,24, 43,54, 56,57, 34,34, + 13,35, 37,45, 2,55, 25,41, 54,18, 40,58, 4,43, 44,36, + 50,22, 9,16, 23,16, 29,47, 17,49, 36,58, 12,39, 47,35, + 38,21, 26,45, 6,58, 12,36, 26,51, 16,54, 0,21, 28, 0, + 57, 2, 14,58, 44,56, 32,16, 37, 9, 56,13, 2,18, 39,40, + 2,47, 0, 2, 8,16, 55,33, 33, 5, 32,22, 48,55, 33, 2, + 12,23, 32,42, 1,32, 30,14, 43,42, 55,38, 33,45, 53, 7, + 38,51, 23,12, 15, 1, 27,19, 56,40, 8,59, 5,41, 28,13, + 5,27, 37,13, 22, 1, 18,44, 11,28, 21,24, 30,19, 25,10, + 34,24, 8,28, 44,13, 35, 8, 23, 6, 50,48, 33,37, 6,24, + 30,17, 40,43, 26,23, 25,24, 33,33, 52,10, 7, 5, 31,26, + 29, 4, 20,17, 10,36, 18,48, 11,14, 54,16, 16,36, 38,54, + 55,12, 47,58, 3,40, 17,41, 55, 8, 41,55, 54,53, 30,47, + 43,26, 34,42, 20,48, 22,43, 6,40, 51, 8, 46,35, 12,48, + 10,28 +}; +const int p_60_2[] = { + /// Number of people on picture + 60, + /// Number of preferences + 339, + /// Array of preferences + 29, 0, 24,25, 18,49, 41,38, 39, 0, 33, 0, 38,45, 29, 5, + 23,52, 15,44, 9,35, 49,58, 4,15, 54,52, 31,39, 22,15, + 51,13, 46,18, 39, 6, 42,52, 56,52, 9,14, 18,16, 0,56, + 14,10, 31,21, 21,30, 28, 5, 52,23, 16,20, 55, 7, 13, 3, + 43,59, 38, 4, 36,46, 55, 0, 26,49, 12,27, 8,17, 24, 9, + 11, 5, 29,31, 56,56, 38,55, 19,24, 56,38, 17,16, 40,13, + 9,25, 11, 8, 1,17, 42,21, 19,55, 25,23, 40,52, 35,33, + 42,42, 46,11, 53,53, 41, 5, 0,12, 2,55, 7,29, 4,32, + 1,29, 1, 8, 23,18, 41,47, 48,10, 31,23, 42,10, 21,15, + 28, 8, 7, 7, 11,56, 19, 2, 41,11, 15,11, 30,20, 56,42, + 22,27, 36,38, 14,16, 30,27, 2, 2, 15,31, 51,27, 11, 6, + 21, 6, 9,15, 9,32, 22,47, 38,48, 43,29, 27, 4, 9, 0, + 38,11, 2,35, 33,16, 11,20, 0,19, 31, 2, 3, 8, 53,52, + 46,21, 34,13, 25,22, 17,23, 47, 4, 20,52, 29,24, 59,12, + 54,38, 35,51, 55,54, 34,35, 40, 7, 53,22, 43,19, 36,32, + 53,29, 26,19, 49,57, 4,57, 28,49, 52,59, 7,49, 31,52, + 31,31, 11,13, 3,24, 4, 8, 58,25, 35,14, 18,56, 25,54, + 8,51, 57,50, 25,48, 27,35, 11,29, 47,23, 26,55, 26,54, + 7,44, 9,54, 12,37, 33,19, 14,24, 11, 4, 13,41, 53,32, + 21,18, 47,49, 34, 8, 58,11, 42,25, 20,28, 3,44, 37,44, + 52,48, 5,28, 48,24, 24,50, 54,16, 11,23, 56,58, 48,45, + 56,33, 22,16, 17,52, 37,59, 37,49, 13,42, 6, 9, 32,59, + 5,46, 29,20, 48,15, 12,25, 44,56, 43,57, 57,54, 25,30, + 0,39, 55,23, 50,52, 1,20, 31, 0, 53,38, 34,21, 25, 6, + 59, 1, 7,24, 5,44, 57, 0, 0, 0, 13,57, 33,58, 13, 6, + 51,24, 24, 8, 38,32, 27,18, 59,34, 19,25, 50,26, 1,40, + 30,51, 4, 2, 30,13, 52,13, 16, 0, 43,36, 56,27, 53,44, + 20,56, 10,28, 43,16, 3,51, 0,27, 37,31, 18,28, 32,42, + 0,55, 52,39, 30,12, 5,55, 8,24, 2,47, 8,48, 56,15, + 42,58, 52,57, 7,47, 23,25, 17,51, 21,27, 38,16, 18,40, + 2, 9, 20, 2, 17,53, 13,48, 9,45, 42,16, 40,42, 54, 3, + 4,58, 7,19, 0,41, 10,35, 41,20, 1,15, 31, 3, 20,40, + 21,41, 53,58, 33,31, 2,52, 14,19, 43,12, 40,12, 43,41, + 22,34, 17, 8, 42,18, 28,44, 13, 7, 24,43, 39,31, 13, 1, + 57, 9, 53,21, 36,57, 50, 9, 2, 0, 50,35, 46,16, 27,24, + 21,47, 47,32, 9,31, 34,20, 23,19, 53,46, 5,29, 53,20, + 41,45, 57,30, 4,34, 5, 1, 3,21, 45,20, 5,39, 41,15, + 13,10, 21,55, 55,28, 16,28, 15,40, 53,54, 12,58, 27,47, + 46,31, 42,34, 37,29, 39,48, 37,43, 4,46, 7,59, 48, 3, + 53,25, 37,27, 28,34, 1, 6, 30,47, 11, 2, 29,32, 9, 7, + 39,47, 37,13, 24,23, 47,15, 21,11, 50,27, 15,29, 52,29, + 39,10, 0,47, 33,26, 19,31, 49,47, 43,21, 45,56, 37,22, + 46,38, 11,26, 7,21 +}; +const int p_60_3[] = { + /// Number of people on picture + 60, + /// Number of preferences + 749, + /// Array of preferences + 27,12, 31,19, 34, 0, 10,16, 9, 0, 11, 1, 20, 8, 28,32, + 41, 8, 26,33, 1,13, 38,16, 31,53, 23,35, 31, 0, 23,24, + 43,17, 31,27, 10,50, 8,55, 22,53, 20,24, 52, 1, 40,54, + 47,37, 50,19, 4,16, 21, 9, 29,15, 51,58, 24,58, 27, 7, + 27, 0, 7,29, 47,17, 7, 4, 30, 2, 32,26, 7,28, 44,24, + 37,59, 35,17, 26,23, 1, 0, 18,54, 10,32, 10,40, 2, 6, + 8,29, 2,18, 45,45, 0,36, 51,25, 18, 1, 46,38, 52,29, + 42,59, 26,24, 34,47, 9,11, 43,23, 17,42, 22,19, 35,46, + 8, 7, 19,47, 18, 3, 33,47, 30,37, 9,50, 5,31, 34,15, + 37,24, 6,34, 38, 3, 12,10, 40,57, 16,50, 12,16, 54,30, + 5,52, 40,24, 49,23, 53,45, 46,13, 23,11, 43,46, 53,23, + 30,19, 4,40, 34,21, 0,19, 31,11, 23,43, 22,42, 3,37, + 10,51, 54,16, 46,45, 49,26, 8,36, 11, 2, 16,22, 20, 2, + 33,48, 39,19, 31,54, 58,11, 29,22, 48,58, 28,21, 6,54, + 46, 2, 30,28, 17,49, 38,57, 37,15, 51, 8, 43,57, 20,34, + 49,41, 12,14, 28,19, 9,43, 13,49, 45,58, 24,38, 25,34, + 56, 6, 38, 1, 8,39, 19,51, 41,54, 50,46, 18,32, 28,37, + 7, 3, 39,54, 44,56, 59,43, 54,51, 22, 7, 27,34, 35,57, + 37,47, 0,55, 59,37, 20,37, 57,11, 31,45, 20, 5, 33,46, + 11,32, 36, 6, 15, 5, 48, 3, 1,33, 10, 6, 41,17, 45,53, + 14,26, 36,29, 32,22, 52, 8, 29, 6, 51,41, 21,13, 42,15, + 15,35, 28,56, 15,24, 32,58, 34,42, 1,55, 57,31, 23,41, + 59,58, 38,55, 17,43, 37,19, 15,15, 26,47, 37,26, 41,31, + 38,45, 39,57, 2, 4, 33,16, 49,32, 11,20, 7,32, 24, 9, + 38,46, 24,30, 11,44, 25, 5, 8,14, 19,29, 13,50, 41, 2, + 44,32, 25,31, 19,17, 28,26, 29,38, 4,25, 0,13, 56,21, + 9,20, 28, 9, 40,26, 46,37, 35,12, 47, 6, 21, 7, 33,35, + 22,56, 34,57, 20,45, 43,28, 53, 6, 25,15, 50,42, 29,50, + 37,30, 5, 4, 38,34, 56,10, 22,59, 34, 1, 14,15, 17,30, + 8,23, 56,14, 15, 9, 26, 1, 33,30, 3,47, 24,57, 32,52, + 52,56, 47,12, 46, 5, 8,45, 34,29, 7,13, 36,27, 6, 2, + 40,53, 59,17, 2,16, 48,46, 28,14, 24, 7, 5,16, 58,48, + 23,29, 47, 8, 23,16, 34, 6, 31, 7, 54,42, 26,36, 14,31, + 39,16, 42,20, 48,35, 36,41, 9,37, 2, 7, 8,25, 17,39, + 44,49, 48,34, 5, 2, 15,13, 14,42, 2,47, 13,36, 10,24, + 32, 6, 56,53, 50,38, 44,50, 50,55, 58,52, 20,49, 44,23, + 16,31, 43,11, 8,13, 24,26, 33,13, 6,16, 55, 8, 22,39, + 44,34, 39,27, 26,51, 33,23, 39,46, 4,21, 26,57, 25,16, + 53, 5, 54,46, 31, 5, 3,27, 9,59, 57,26, 2,10, 29,36, + 12,20, 52,35, 32,44, 31,31, 4,20, 24,14, 39,32, 57,59, + 51,18, 50,16, 43,34, 46,41, 27,10, 51, 5, 16,59, 48,42, + 11,35, 30,31, 53,39, 38,25, 29, 5, 44, 8, 48,30, 44,18, + 25,58, 23,12, 28,47, 51,28, 24,15, 20,42, 19,48, 53,20, + 6,42, 3,36, 41,18, 48, 2, 41, 9, 11,33, 46,51, 31,32, + 14,36, 17,44, 31,16, 8,42, 54,26, 27,54, 31,48, 21,30, + 20,33, 57,42, 5,29, 59, 0, 24,28, 26,26, 16,19, 35,48, + 48, 0, 9,57, 23,39, 21,46, 2,20, 36, 8, 28,17, 16,51, + 58, 3, 58,27, 6, 7, 9,38, 53,30, 42,11, 4,23, 42,29, + 2, 5, 27,22, 18, 0, 49,43, 39,20, 4,55, 48,44, 51,49, + 39,50, 26,20, 10,20, 47,28, 45, 1, 34, 5, 30,58, 11, 8, + 28,55, 6,44, 57,16, 46,59, 58,25, 35,41, 15,51, 59,39, + 50, 5, 58, 5, 6,18, 46,16, 57,57, 9,28, 3,18, 3, 6, + 26,42, 41,14, 5, 6, 46,34, 0,30, 11,43, 7,55, 2, 3, + 16,29, 14,57, 17,33, 57,54, 34,17, 21,18, 18,40, 16,49, + 37,55, 38,23, 6,47, 23, 4, 41,58, 55,17, 4,57, 23,21, + 12,51, 16,46, 0,46, 23,10, 16,34, 0,49, 5,35, 55,56, + 50,30, 42, 7, 22,40, 10,37, 9, 1, 18,34, 54,35, 54,17, + 36,17, 21,15, 34,38, 57,43, 49,28, 18,49, 24,55, 51, 3, + 29,13, 10,43, 0, 9, 27,29, 39,26, 39,44, 12,27, 22,28, + 23,20, 39,21, 12,58, 59,29, 15,45, 31,39, 59,48, 43,26, + 57, 0, 41,52, 54,54, 10,27, 9,54, 52, 0, 50,47, 2,36, + 8,19, 35,19, 43,25, 38,30, 12,54, 45, 3, 7,54, 45,39, + 41,43, 43,10, 58,32, 5,24, 11,42, 44,35, 47,59, 21,21, + 3,39, 13,13, 13,44, 6,55, 34,16, 6,36, 33,38, 27,26, + 54,53, 47,11, 45,10, 8,56, 52,43, 10,35, 59,57, 43,36, + 46,12, 18,39, 55, 0, 1,54, 15,32, 27,21, 48, 7, 9,42, + 30, 4, 52,48, 33,50, 58,20, 58,43, 34,55, 16, 1, 51,30, + 26, 9, 44,48, 55,44, 30,29, 27,28, 12, 8, 15, 6, 15,18, + 39,52, 23,22, 26,41, 40, 6, 42, 6, 32,46, 7,21, 11,17, + 13,22, 59,15, 39,53, 6,33, 19,58, 3, 0, 36,43, 45,36, + 43,38, 25,33, 24, 2, 36,48, 26,54, 26,29, 6,17, 18,38, + 27,17, 51,44, 7,44, 55,34, 44,10, 54,36, 3,49, 29,59, + 29,23, 31,41, 47,51, 42, 8, 33,18, 36, 0, 13,23, 30,34, + 21,36, 3, 2, 52, 9, 20,27, 7,34, 7, 5, 41,55, 24,41, + 9,10, 7,59, 19,41, 36,20, 33,52, 17,40, 42,26, 58,26, + 52,36, 52,10, 27,32, 16,44, 17,35, 45,34, 37,32, 16,39, + 49,13, 7, 1, 27,15, 52,46, 59,24, 33,37, 48, 4, 35,47, + 10,38, 24,22, 58,19, 5,12, 9,40, 58,39, 56,54, 59,49, + 57,46, 14,10, 18,15, 15,14, 1, 3, 48,47, 1,41, 28,42, + 25,37, 15,47, 30,45, 29,16, 37,20, 32,23, 0,47, 37,46, + 50, 6, 31,40, 23,27, 56,35, 57,18, 7,35, 33,32, 40,11, + 11,29, 6,25, 27,37, 35,55, 52,59, 58,36, 49,24, 2,23, + 55, 3, 42,43, 44,12, 26,31, 24,35, 27,11, 34, 9, 53,49, + 47,34, 15,10, 46,23, 8, 9, 43, 4, 43,56, 37,10, 13,14, + 15,53, 25,11, 52,25, 1,39, 59,44, 49,22, 4,17, 19,45, + 53,27, 0,45, 7,38, 32, 4, 50,28, 13,17, 16, 6, 42,35, + 50,44, 28,30, 40,13, 1,11, 27, 5, 24,53, 1,50, 14,45, + 54, 9, 16,33, 1,31, 50,53, 21,59, 52,49, 29,45, 50,58, + 52,57, 37,21, 40,33, 0,27, 11,57, 48,19, 43, 6, 4,45, + 49,50, 21,34, 40,59, 35,13, 13,11, 57, 6, 47, 5, 32,59, + 23,36, 56,55, 11,55, 59,38, 47, 9, 4,46, 7, 2, 48,53, + 56,23, 8,40, 51, 4, 6,45, 29,52, 3,23, 19,16, 12,17, + 7,53, 5,51, 46,57, 49,20, 44,59, 32,12, 36,26, 12,41, + 25, 6, 28, 4, 7,41, 59,59, 32,32 +}; +const int p_60_4[] = { + /// Number of people on picture + 60, + /// Number of preferences + 741, + /// Array of preferences + 26,56, 55,21, 59,15, 43,34, 9, 1, 16,15, 29,20, 59, 0, + 6,35, 41,33, 13,40, 24,29, 12,45, 49, 9, 14,28, 43,40, + 50,49, 24,42, 40,27, 18,19, 12,18, 45, 2, 12,50, 33,24, + 6, 7, 18, 9, 56,46, 52,44, 40, 9, 13,55, 11,41, 11,34, + 55,34, 4,20, 25,48, 55,54, 3,26, 15,38, 45,43, 48,52, + 11,37, 47,22, 34,24, 34,18, 36,30, 23,29, 36, 2, 37,38, + 14,29, 0,38, 4,31, 48,19, 4,14, 37,54, 36,34, 12,21, + 37,43, 26, 3, 31,43, 24,34, 7,30, 41,32, 21,51, 13,19, + 43,51, 47,36, 54,49, 52,29, 34,52, 26, 1, 21,53, 28,58, + 46,39, 5,22, 22,17, 16,26, 33,45, 25,56, 11,38, 1,55, + 2, 5, 46,15, 0,43, 30,15, 27,47, 1,35, 20,24, 6, 2, + 10,34, 53,23, 11,18, 16,45, 17,56, 46,29, 58,51, 4, 5, + 21,56, 8,15, 2, 6, 54,28, 53,59, 47,23, 38,56, 27,19, + 2, 8, 4, 6, 40,46, 46,28, 4,53, 39,41, 46,11, 48,25, + 30,59, 49,19, 31, 7, 29,58, 53,11, 53, 5, 43,12, 53,54, + 18, 1, 10,41, 19, 9, 21, 7, 7,23, 40,47, 21,55, 35, 0, + 51,55, 21,15, 15,31, 1,43, 20,13, 22,39, 2,39, 51,37, + 51,15, 38,42, 44,38, 51,19, 15, 8, 33,28, 14,58, 38,10, + 38,14, 56,29, 57,26, 22, 8, 39, 0, 36, 1, 26,47, 41,25, + 5,58, 53,42, 46,27, 22,27, 56,57, 15,13, 26,20, 40,29, + 2,44, 22,58, 49,24, 9, 2, 46, 2, 3,11, 40,49, 15,40, + 52,38, 25,12, 39,19, 49,30, 59,18, 37,45, 26,27, 54,52, + 5,19, 19,43, 4,57, 48,43, 29,13, 10,46, 14,57, 58,23, + 43,13, 10,51, 6,19, 16,17, 11,22, 22,29, 46,20, 57,15, + 13,51, 35,28, 24,39, 59,51, 58,53, 43,17, 44,45, 22,36, + 34, 8, 50,29, 50,21, 34, 3, 58,21, 4,36, 49,43, 13,58, + 28,54, 52,43, 3,44, 49,44, 13,54, 53,36, 17,43, 3,20, + 41, 9, 14, 1, 43,22, 25,21, 27,16, 4,12, 24,10, 16,57, + 48,29, 38, 4, 11,13, 29,57, 30, 1, 40,50, 52, 9, 25,24, + 1,30, 58, 0, 52,24, 45,55, 59,48, 47, 7, 30,16, 22,31, + 9, 6, 16,35, 4,16, 50, 9, 43,33, 42,41, 35, 8, 29,14, + 30,20, 59, 3, 18,47, 52,34, 8,22, 35,20, 50, 6, 23,33, + 23,42, 59,47, 38,12, 0,48, 30,30, 28,37, 54,22, 31,36, + 47,42, 8,37, 28,13, 21,30, 8,12, 16,20, 54,17, 19, 5, + 53,26, 5,11, 40, 2, 36,19, 24, 1, 45,39, 42, 5, 45,28, + 47, 0, 31, 4, 43,21, 11,23, 12,53, 43, 1, 9,33, 12,31, + 58,40, 45,44, 3,18, 23, 9, 29,41, 56,42, 50, 0, 52,37, + 26,34, 58,30, 30, 6, 4,45, 31, 2, 23,25, 12,15, 17,52, + 20,42, 16,33, 58, 6, 38,19, 27,29, 50,50, 16,38, 3,31, + 42,39, 24,48, 16,11, 51, 1, 31, 0, 56, 9, 40, 0, 7,45, + 21,25, 22,23, 7,18, 26, 9, 34,38, 11,21, 40,25, 9,43, + 40,31, 44,10, 29,15, 47,54, 15,49, 29,40, 37,33, 24,36, + 5,12, 8,40, 12,51, 20,10, 52,54, 20,54, 58,49, 17,59, + 2,31, 2,33, 18, 2, 19,56, 54, 0, 49, 2, 8,41, 36,13, + 31,30, 24,20, 52,50, 3,10, 58, 1, 15,55, 11,43, 5,52, + 1,36, 53,18, 56, 4, 16,43, 31,39, 57, 1, 19,48, 12,23, + 6,40, 36,51, 24,59, 48,20, 12,24, 19,30, 53,31, 16,37, + 6,42, 9,36, 54,38, 37, 7, 5,44, 46,37, 58,32, 53,15, + 21,46, 32,39, 13,50, 34,27, 12, 7, 13,10, 27,25, 22,22, + 38,45, 39,27, 14,25, 32,46, 39,46, 43,45, 55,33, 33,22, + 20,43, 27,57, 33,10, 58,10, 48,24, 9,31, 14,23, 43,58, + 26, 5, 47,41, 50,53, 11, 3, 39,13, 53,55, 5,45, 39,26, + 54,14, 5, 5, 42,46, 33,48, 32,59, 36,58, 23,41, 20,39, + 5,23, 12, 5, 54,46, 32,31, 8,17, 45, 8, 46,16, 38,32, + 56,37, 50,44, 25,44, 36,49, 25,37, 32, 5, 14,18, 1,40, + 11,58, 23,48, 21,50, 18,24, 9,47, 58,27, 9, 0, 33, 3, + 54,20, 57,34, 44,37, 4,27, 45,37, 27,30, 27,55, 42,25, + 54,55, 26,30, 51, 4, 48,28, 43,10, 20, 5, 37,22, 24, 7, + 57,59, 23,46, 34,44, 34,15, 15,44, 47,39, 56,19, 10,48, + 21,41, 21,39, 38,26, 20,16, 37,50, 53,33, 53,47, 33,49, + 7,14, 10,20, 10,30, 52,32, 41,38, 31, 8, 1,49, 26,16, + 34,14, 14,39, 23,23, 50,17, 5, 7, 6,16, 15, 6, 57,39, + 46,22, 29,21, 51,52, 39,56, 47,38, 50,57, 32,30, 5, 2, + 39, 4, 14,12, 41, 8, 36,48, 9,54, 15,12, 55,27, 5,38, + 15, 0, 59,12, 19,58, 24,30, 35,31, 48,35, 0,50, 49,47, + 31,50, 6,22, 38,40, 58,14, 40,44, 58,11, 38,57, 54,27, + 17,27, 43,44, 13,32, 3,30, 47,58, 25, 7, 14,35, 30,27, + 40,56, 6,23, 23,37, 16, 5, 44,57, 41,18, 40, 5, 49,33, + 46,26, 52,33, 6,28, 24,19, 52,42, 17,53, 41,11, 51,35, + 55,36, 57,18, 22, 9, 7,51, 21,13, 53,45, 53,48, 11,10, + 12,41, 35,17, 37,29, 58,34, 55,22, 38,13, 19,49, 3,59, + 6,47, 2,48, 52,18, 35,36, 23,24, 57,36, 21, 0, 52,52, + 50,37, 42,15, 4,30, 19, 0, 27,38, 5,29, 38,43, 33, 5, + 28,31, 23,45, 41,52, 41,57, 2,59, 47,55, 19,20, 27, 8, + 44,44, 18,29, 45,59, 23,34, 30,45, 20,34, 19,13, 44,34, + 56,15, 53,56, 55,53, 48,15, 16,24, 20,51, 54,25, 25,59, + 3, 2, 52,39, 55,26, 25,31, 32,45, 56, 3, 47, 9, 14,24, + 34,58, 50,10, 55,35, 33,12, 1,31, 22, 2, 37,14, 23,16, + 59,42, 0, 9, 31, 6, 32,17, 9,53, 36, 9, 36, 8, 14,37, + 24,55, 51,58, 50,41, 40,28, 7,55, 54,34, 33,30, 1,48, + 18,16, 21,59, 23,26, 34, 5, 23, 5, 49, 7, 10,52, 29,50, + 37,51, 48,12, 21,20, 27,43, 30,11, 21,31, 7,57, 10, 6, + 3,16, 48,56, 40,15, 45,14, 10, 8, 28,29, 35,29, 49,57, + 41,56, 11,46, 12, 8, 6,53, 50,28, 44,14, 59,13, 40,34, + 32,15, 39,39, 53, 8, 22,54, 30,19, 9,27, 4, 4, 14,47, + 47,59, 34,29, 0,22, 6,30, 31,16, 10,55, 31,11, 41,19, + 12,25, 5,47, 5, 9, 19,59, 38,46, 40,19, 21,44, 28,41, + 39,36, 27,22, 24,40, 12, 3, 56,22, 24,44, 0,55, 23,47, + 34, 9, 56,45, 40,10, 1,44, 43, 7, 21, 9, 44,48, 37, 1, + 7, 7, 34,49, 48,39, 34,22, 41,46, 56,54, 15,33, 21, 3, + 2,41, 40,58, 1,33, 53, 4, 29,48, 44, 3, 31,19, 42,10, + 26,49, 47,31, 0,17, 2,27, 35, 4, 22, 4, 16,42, 38,49, + 17,51, 47,53, 27, 9, 6,11, 54,45 +}; +const int p_60_5[] = { + /// Number of people on picture + 60, + /// Number of preferences + 890, + /// Array of preferences + 32,50, 49,51, 43,31, 11, 2, 28, 9, 50,13, 17,47, 49,39, + 57,15, 6,12, 15, 8, 54,14, 17,35, 17,18, 44, 6, 41,54, + 54,11, 45,54, 49,40, 39,28, 56,43, 32,35, 12,52, 31,30, + 16, 4, 34,31, 36,24, 19,10, 12,45, 49,34, 31,50, 25,31, + 7,33, 54, 7, 1,39, 9,54, 36,41, 0,34, 30,28, 29,29, + 55,35, 34, 8, 51, 7, 27, 6, 21,57, 11,15, 56,20, 34, 6, + 30,16, 41,38, 5,27, 41,44, 42,40, 13,41, 43,50, 39,34, + 48,47, 33,20, 24,59, 36,22, 46,19, 1,38, 55,27, 45, 0, + 10,18, 15,12, 48,10, 16,50, 10,48, 16,53, 19,57, 18,30, + 29,49, 2,32, 18,27, 58,50, 17, 2, 57,43, 11,36, 26,54, + 47,52, 57,32, 16,37, 46, 7, 7,54, 11,50, 5,30, 10,30, + 43,35, 23,47, 9,59, 45, 7, 19, 9, 16,23, 12, 9, 17,45, + 56, 7, 0,58, 25,18, 45,30, 23, 5, 40,55, 5,14, 11,11, + 25,37, 24,54, 47,20, 39, 4, 4,52, 59,31, 6,55, 38,45, + 50, 3, 30, 9, 15, 7, 13,34, 17,16, 50,24, 25,27, 15,48, + 53,15, 54, 4, 37,25, 0,45, 9,26, 58,15, 41, 5, 51,45, + 2,55, 59,18, 19,33, 40,59, 45,52, 3,36, 28,43, 41,55, + 14, 7, 44,18, 45,24, 22, 1, 1,15, 25,16, 35,55, 7,46, + 37,51, 2,21, 24, 6, 44,34, 23,55, 42, 9, 44,19, 4,57, + 53,17, 25,48, 3,10, 1, 4, 38,10, 1,19, 39,56, 4,27, + 16,35, 7,31, 9,11, 43,30, 20,16, 44,14, 45,31, 10,28, + 12,24, 38,17, 22,44, 2,26, 59,13, 41,26, 58,31, 18,35, + 48,37, 4, 8, 21,44, 15,20, 30,44, 17,53, 0, 4, 33,40, + 4, 1, 15,58, 32,59, 45,32, 53,10, 51,36, 44,45, 0,22, + 11,18, 24,51, 57,20, 19,47, 45, 3, 15,39, 39,37, 50, 6, + 46,24, 19,31, 17,13, 58,48, 34,55, 48,32, 11,26, 20,55, + 1,24, 28,58, 6,27, 11,59, 12,55, 0,48, 34,37, 37, 0, + 20, 6, 1, 3, 10,10, 48,11, 55,15, 0,25, 2, 3, 53,47, + 57,34, 36,30, 27,12, 48,23, 34,30, 36,28, 2,46, 11,21, + 47,38, 12,35, 4,14, 31,52, 39,15, 6,18, 53, 3, 19,11, + 3, 6, 19,51, 59,45, 46, 3, 39,54, 20,48, 52,16, 5,13, + 4,44, 34, 9, 41,11, 23,19, 1, 0, 4, 9, 51,16, 3,57, + 18, 7, 35,26, 36,26, 37,47, 48,51, 42,26, 3,23, 48,55, + 8,24, 5, 3, 37, 3, 3,12, 47,40, 0,37, 19,18, 38,35, + 58,46, 16,39, 53,57, 59, 3, 16,40, 21,47, 18,14, 20,29, + 16,43, 16,10, 41,15, 54,50, 36,15, 0,19, 23,28, 10,14, + 59,34, 41,27, 53,14, 18,39, 52,18, 42,29, 57,58, 55,14, + 14,25, 11,25, 42,33, 55,50, 49,18, 12, 6, 3,14, 36,56, + 43,42, 58,20, 49, 4, 17, 6, 6, 9, 30,19, 33, 7, 28,41, + 23,15, 53,22, 58, 4, 55, 3, 22,17, 28,38, 7,34, 50, 0, + 48,31, 48,13, 37,45, 50, 1, 48, 0, 33,31, 21,35, 33,30, + 15,47, 18,58, 46,57, 29,32, 38,55, 12, 2, 41,36, 1,41, + 22,26, 4, 4, 52,50, 19, 8, 12,46, 17,29, 11,17, 42,27, + 15,34, 32,49, 22,38, 39,53, 28, 3, 49,35, 16,38, 36, 6, + 47,26, 37,53, 58, 7, 3, 4, 44,22, 30,42, 4, 3, 22,32, + 3,18, 10,13, 42,19, 56,12, 32,43, 40,27, 58,24, 43,32, + 29,16, 19, 7, 58,21, 29,28, 40,21, 32,52, 36,16, 25,40, + 15,41, 46,52, 25,15, 19, 0, 37,42, 3,28, 2,22, 24, 4, + 8,34, 23,44, 46,41, 27, 3, 47, 4, 43,47, 6, 6, 53, 0, + 6, 7, 40,42, 39,18, 56, 6, 42,14, 10,45, 26,18, 12,13, + 36,45, 59, 5, 40,15, 1,49, 45,35, 16,42, 6,41, 41,20, + 43, 6, 34,17, 9,14, 51,34, 35, 2, 26, 3, 35,18, 27,35, + 3,54, 56, 2, 4,43, 30,38, 52,29, 6,49, 22,46, 30,46, + 10,41, 4,28, 48, 6, 47,27, 21,49, 54,42, 16,51, 25,33, + 41,40, 46, 2, 56,17, 36,32, 40, 0, 8,10, 55,56, 3,52, + 52, 6, 21,19, 8,12, 27, 9, 9,48, 21,21, 55, 9, 50,54, + 13,46, 50,35, 8, 2, 39,21, 10,57, 16, 6, 59,16, 40,36, + 1,23, 28,19, 11,30, 37, 1, 33, 6, 20,12, 41,35, 19, 2, + 31,41, 3, 8, 14,10, 10,23, 53,42, 7,13, 23,58, 16, 7, + 6,58, 19,41, 49,57, 1,58, 46,39, 57,39, 20,47, 13, 2, + 12,30, 40,48, 58,10, 58,54, 20, 4, 24,46, 52,25, 45,45, + 12,17, 25, 8, 26,46, 23,53, 20,58, 6,48, 2, 7, 55,23, + 35,58, 27,57, 5,18, 52,54, 42,31, 16,14, 2, 5, 43,13, + 9,15, 3,56, 10,15, 52,42, 2,27, 28,24, 23,14, 55, 4, + 14,50, 4,33, 20,33, 52, 9, 25,17, 15,26, 35,14, 49,15, + 0,50, 28,51, 45,26, 50,44, 4, 7, 18,10, 18, 3, 38,22, + 29,22, 47, 3, 24,26, 56,15, 24,27, 42,47, 44, 5, 4,47, + 2,58, 57,25, 20,43, 15,56, 37, 2, 56, 1, 7, 6, 14,43, + 13, 3, 33,25, 25,11, 34,10, 21,16, 26,26, 15,27, 24,34, + 3,19, 46,12, 35, 6, 0,35, 55,33, 5,48, 32,45, 44,27, + 0,59, 53, 2, 51,12, 50,19, 33,12, 14, 6, 53,51, 42,37, + 47, 7, 21,59, 2,43, 5,55, 29,47, 33, 9, 19,26, 20,51, + 35,53, 42,48, 31,59, 9,50, 32, 3, 8,19, 19,24, 38,29, + 14,26, 27,34, 28,57, 13, 1, 0,52, 50, 5, 46,48, 17, 5, + 29,53, 55,47, 33,42, 57,16, 21,15, 11,37, 3,30, 9,32, + 38,21, 6,14, 36,54, 49,49, 41,53, 26, 6, 36,27, 23,25, + 23,36, 16,18, 2,47, 22,42, 15,13, 37,48, 15,55, 2,51, + 30,32, 0,32, 53,37, 13,31, 56,59, 27,18, 4, 2, 17,26, + 54,59, 15,45, 57,54, 6,38, 6,45, 19,20, 43, 5, 20,53, + 37,21, 22,51, 28,37, 46,26, 5,16, 28,13, 25,54, 30,56, + 43,23, 21,41, 43,34, 33,24, 3,33, 16,48, 31,13, 4,21, + 40,47, 5,22, 50,28, 36,21, 30,48, 10,36, 26,11, 50,23, + 24,33, 0, 5, 23,34, 38,54, 33, 3, 26,28, 58,49, 42,10, + 32,24, 33,14, 30,13, 28,47, 46,34, 27,25, 23,38, 26,19, + 50, 4, 13,58, 23,37, 15,40, 45,56, 24,16, 51,46, 26,17, + 9, 9, 2, 2, 28, 1, 32, 0, 47,54, 22, 5, 35,59, 15,50, + 58, 3, 6,36, 30, 6, 47,33, 39,43, 2,56, 20,38, 53,59, + 21, 1, 59,14, 36,29, 23,18, 32,47, 10,39, 45,15, 9, 2, + 34,13, 10,58, 20,35, 33, 4, 44,51, 15,32, 16,41, 50,57, + 48,16, 17,59, 10,34, 32,28, 48,12, 36,42, 46,33, 34, 0, + 54,10, 26, 2, 31,20, 6,22, 46,58, 53,12, 10,33, 40,20, + 6,52, 31,12, 34,52, 0,46, 59,15, 24,37, 26,52, 29,25, + 29,58, 9,52, 23,56, 0, 8, 48,25, 9,36, 3,32, 40,24, + 14,36, 16,49, 18,52, 41,24, 19,58, 45,25, 54, 6, 22,40, + 11,19, 57,23, 26,21, 20,39, 19,34, 27,48, 48, 9, 39,27, + 7,23, 47,21, 5,45, 0,57, 36,34, 51,10, 12,53, 48,38, + 38,20, 31,42, 56,42, 50,32, 19, 5, 13,50, 32,46, 35,29, + 49, 6, 14,46, 9,38, 44,53, 9,56, 38,44, 26, 5, 52,12, + 21,50, 27,33, 54,54, 58,39, 14,30, 55, 0, 44,25, 45,57, + 54,13, 33, 8, 48,17, 53, 7, 52,56, 53,38, 55,58, 54,20, + 26,33, 0,49, 50,58, 31,33, 45, 4, 12,15, 12,49, 51,32, + 40,22, 59, 7, 50, 8, 29,48, 36,23, 17,28, 7,19, 44, 9, + 31, 3, 44,48, 31,44, 14, 5, 28,20, 12, 0, 17,11, 32,16, + 2,19, 49, 2, 21, 9, 22,49, 33,19, 54,58, 30,33, 4,17, + 5,38, 22, 0, 27,45, 19,43, 52,55, 28,25, 22, 6, 58,52, + 17,50, 15,21, 5, 1, 8,20, 47,34, 59,51, 37,43, 13,12, + 49,31, 21,32, 25,42, 33, 5, 47,14, 13,26, 59,33, 52,10, + 59,50, 31, 6, 59,49, 6, 5, 41,39, 28,12, 31,28, 20,17, + 11, 6, 34,29, 16,36, 24,40, 6, 2, 31,19, 27, 8, 25,55, + 58, 1, 40,26, 10,44, 47,51, 45, 8, 48,30, 34,21, 25,58, + 27,17, 7, 9, 49,52, 28,22, 36, 3, 9, 7, 17,17, 47,23, + 50,41, 58,42 +}; +const int p_60_6[] = { + /// Number of people on picture + 60, + /// Number of preferences + 470, + /// Array of preferences + 17,45, 55,14, 31,54, 21,14, 2,10, 36, 2, 14,56, 31,14, + 24,31, 56,54, 43,17, 28,37, 28, 9, 25,45, 24,45, 56,45, + 56,56, 17,24, 28, 6, 18,55, 15,34, 55,13, 46,20, 7, 3, + 26,58, 53,16, 41,15, 45, 5, 43,28, 32,15, 28,39, 39, 9, + 14,35, 59, 4, 14,47, 33,17, 46,38, 27, 2, 4, 6, 22,14, + 41,12, 10,15, 20,25, 53,26, 54, 0, 38,48, 6,23, 16,57, + 57,18, 31,11, 34,22, 41, 2, 6, 5, 14,15, 11,25, 0,37, + 11,20, 26,17, 41,19, 9,32, 20,16, 54,14, 15,12, 40,32, + 39,13, 3,22, 36,37, 27, 8, 49,35, 32,43, 27,52, 41,49, + 8,54, 41,39, 59,43, 30,13, 22,55, 53,44, 21,46, 8, 1, + 50,33, 27,28, 36,23, 51,23, 25,29, 53,20, 4, 4, 53,52, + 35,38, 9,10, 41, 1, 9,40, 59,31, 18,37, 12,20, 43,52, + 52,54, 56,57, 49,30, 56,11, 50,13, 36,14, 22,15, 19,46, + 35,32, 45,39, 22, 7, 25,46, 15, 9, 35,46, 25,11, 49, 0, + 22,32, 54,28, 10, 0, 34,51, 49,47, 30,26, 10,18, 9, 5, + 27,50, 18, 4, 26, 2, 40,45, 21,39, 7,49, 26,22, 54, 3, + 1,32, 40,40, 44,18, 0,45, 37, 2, 49,46, 57, 8, 15,35, + 7,23, 7,30, 14,22, 6,57, 44,14, 56,55, 38,41, 33,20, + 59, 8, 31,26, 58,24, 36,52, 42,54, 46,15, 3,31, 38,18, + 7,45, 49,11, 12,16, 34,15, 54,40, 30,38, 20,13, 28,23, + 5,34, 1,53, 26,52, 36, 6, 31,47, 23,29, 36,21, 4,26, + 17,41, 2,48, 16,17, 50,18, 15,17, 11,11, 44,47, 40,11, + 34,38, 3,34, 53, 8, 37,55, 11,42, 59, 6, 19,42, 26,28, + 35,22, 19,15, 34,14, 0,55, 29,34, 9,19, 32,54, 12,44, + 12,32, 30,21, 1, 1, 14,14, 51,29, 42,17, 16,46, 51,47, + 38,26, 53,14, 57,40, 58,54, 30,56, 59,59, 35,30, 17,44, + 40,13, 44,31, 1, 2, 39,50, 10,40, 18,53, 49,40, 33,26, + 14,30, 59,45, 3,28, 26,31, 33,25, 41,14, 11,17, 57, 6, + 59,11, 12, 7, 12,45, 45,31, 44,55, 55,37, 59,57, 59, 0, + 23,28, 16,18, 44, 5, 1, 7, 39,18, 32, 5, 56,47, 32,23, + 49,26, 6,45, 24,10, 28, 7, 12,29, 18,33, 8,55, 21,44, + 39,12, 45, 8, 18,28, 31,16, 6,49, 16,37, 19,23, 10,23, + 22,33, 58,10, 55,19, 25,24, 28, 2, 46,21, 29,29, 43,39, + 26,14, 4, 7, 28,12, 59,23, 40,47, 49,23, 58,37, 27, 5, + 49,43, 13,53, 41,32, 25, 8, 3,20, 26,27, 30,44, 59,29, + 34,16, 5,43, 39,39, 29,35, 29,43, 15,40, 20,15, 11,15, + 11,35, 21,35, 59, 3, 22,56, 51,45, 50,43, 39,34, 21,51, + 43,23, 55, 3, 46,45, 58,57, 44, 6, 48, 5, 40,55, 4,55, + 43,33, 39,55, 39, 8, 48, 6, 31,40, 32, 6, 39,43, 5,19, + 5,58, 53,57, 13,25, 4,17, 17,56, 4,38, 25,17, 35, 3, + 11,33, 28,16, 4, 9, 9,37, 25,16, 26,30, 32,16, 29,13, + 55, 1, 50,45, 37,25, 33,11, 46, 1, 53,38, 39, 5, 2,43, + 54,49, 58,26, 29,31, 15,37, 47, 7, 51,44, 43,20, 40,50, + 55,28, 44,51, 2,16, 7,37, 36,15, 47, 1, 42, 2, 49,16, + 32,26, 10,51, 59,15, 46,49, 3, 7, 38,28, 33,14, 49,45, + 5,41, 8, 8, 45,32, 40, 2, 8,30, 29,23, 53,46, 38, 1, + 37,32, 25,33, 24,46, 15,32, 12,40, 19,54, 25,10, 32,17, + 29,40, 16,28, 27,40, 0, 5, 35,37, 32,19, 13,43, 11, 3, + 4,20, 57,17, 45, 4, 50,28, 25,47, 12,41, 41,16, 24,23, + 16,34, 58,12, 14,10, 28,19, 59,35, 45,19, 14,53, 49,41, + 30,52, 26,21, 6, 1, 2,39, 45,25, 14,50, 13,48, 2,18, + 13,57, 58,35, 44,48, 28,10, 44,24, 35,59, 8, 7, 6,22, + 36, 3, 42,44, 47,20, 54,19, 22,25, 7,15, 25, 1, 27,39, + 3,53, 32,34, 26,11, 35,12, 1,17, 55,46, 36,31, 10,52, + 24,56, 19,28, 47,18, 11,45, 52,29, 11,51, 46,56, 38,34, + 7,27, 4,28, 33,24, 44, 7, 24,25, 39,26, 4,32, 14,33, + 29, 1, 16,56, 4,39, 45,59, 18,14, 7,53, 30,48, 37, 7, + 19, 2, 43, 1, 33,55, 17,36, 42,26, 18,48, 57,39, 6,27, + 23, 0, 31,36, 15, 0, 30,24, 6,55, 12, 3 +}; +const int p_60_7[] = { + /// Number of people on picture + 60, + /// Number of preferences + 546, + /// Array of preferences + 40,29, 17,35, 44,29, 18,38, 15,41, 43,26, 16,56, 29,20, + 12,32, 4,48, 23,10, 51, 6, 35,18, 17,28, 47,26, 49, 4, + 16,47, 46,44, 22, 0, 3,17, 42,16, 38,37, 37,31, 36,53, + 7,31, 4,40, 35,46, 15, 8, 27,19, 24,38, 3,33, 37,39, + 10,50, 30,13, 17, 1, 43,31, 55,12, 28,17, 36, 2, 54,37, + 38,41, 33,15, 21,32, 54, 0, 35,41, 27,37, 27,16, 5,51, + 17,54, 54,14, 15,27, 39,12, 14,11, 25,53, 10,22, 19,44, + 18,11, 32,46, 54, 6, 17,18, 54,48, 38,15, 2,32, 21,40, + 54, 7, 40,26, 22,55, 59,17, 49,41, 59,28, 3,15, 31, 8, + 42,42, 55, 7, 43, 8, 47, 9, 29,53, 43,45, 18,34, 45,49, + 51,51, 37, 5, 50,15, 26, 2, 1,37, 1,59, 22,37, 38,24, + 46,28, 3,41, 8,17, 53, 3, 19, 4, 35, 1, 38,55, 47,19, + 38,45, 50,37, 30,45, 38,53, 8,18, 21,13, 58,45, 39,34, + 29,18, 17,13, 39,44, 16,45, 38, 3, 41,36, 38,11, 51, 9, + 8,31, 30, 4, 57,36, 26,48, 1,45, 42, 9, 37,20, 23,27, + 41,22, 28, 5, 25,58, 31,24, 24, 3, 27,39, 24,49, 11,32, + 19,41, 28,26, 18,45, 6,54, 25,48, 16,13, 11, 6, 14,15, + 11,41, 13, 8, 46,45, 19,38, 56,52, 17,46, 25,30, 58,55, + 4, 1, 59,42, 39,42, 4,31, 1, 0, 10,23, 34,54, 48,30, + 17,30, 43,12, 10, 8, 14, 3, 57,40, 26, 1, 20,47, 46,35, + 52,10, 54,16, 1,50, 8,37, 34,42, 38,46, 5,21, 58, 9, + 40,34, 26,22, 36,52, 36,11, 8, 6, 59, 2, 51,46, 44,34, + 45, 3, 7,56, 53,36, 15,23, 14,49, 20,11, 50,43, 34,10, + 41,40, 58, 8, 17, 8, 21,59, 8,21, 32,34, 24,47, 48,57, + 12, 4, 44, 0, 56,53, 37, 8, 7,17, 43, 7, 52,47, 12,47, + 15,19, 25,40, 40,53, 42,15, 20, 0, 23,53, 9,32, 11,19, + 21,24, 23,34, 35,42, 56,20, 36,12, 43,57, 35,56, 30, 3, + 9,19, 12,59, 11,39, 24,28, 49,45, 57,47, 50, 3, 39,13, + 15,25, 26,47, 4,23, 17,16, 55,24, 46,39, 2,53, 22, 3, + 44, 6, 37,26, 1,24, 52,39, 10,34, 30, 7, 8,24, 45, 4, + 57,39, 46,56, 37, 3, 36,42, 58,18, 50,36, 34,11, 37, 2, + 32, 3, 4,43, 10,26, 11,25, 59, 1, 31, 5, 39,39, 57,15, + 25,52, 36, 4, 18,54, 47,40, 0, 9, 13,39, 8,34, 21,27, + 27, 2, 18,56, 55,35, 18,28, 35, 3, 24,35, 57,30, 53,57, + 42,19, 27, 3, 28,52, 47,17, 9,35, 16,12, 55,20, 28,12, + 7,13, 28,25, 32,43, 24,23, 24,30, 17,48, 47,43, 16,57, + 38,47, 24,43, 38,33, 2,54, 20,57, 57, 3, 16, 3, 36,33, + 48,51, 50,51, 4,19, 45,25, 47,34, 13,37, 4,45, 46,50, + 41, 3, 36,47, 21,16, 28,59, 8,35, 15,31, 50,25, 7, 6, + 6,53, 8,42, 59,13, 14, 8, 7, 5, 34,19, 33,24, 46,18, + 13,32, 8,45, 8, 4, 52, 7, 42,49, 4,25, 30,38, 37,48, + 57,23, 55,45, 26,54, 1,12, 9, 8, 12, 9, 46,31, 14,25, + 3,48, 7,20, 51, 8, 5, 0, 53,11, 10,28, 37,15, 46,53, + 0,45, 31,33, 48, 5, 37,33, 51,44, 10,24, 15,28, 12,22, + 7,26, 18,59, 28,54, 45, 2, 54, 9, 15,56, 59,58, 8, 8, + 53,21, 3,18, 2,26, 30,48, 30,22, 42,12, 15,36, 42,14, + 40, 4, 58,40, 20,58, 44,41, 5,46, 40,54, 25, 1, 29,24, + 27,34, 22,12, 39, 6, 16, 5, 20,50, 41,47, 51,30, 28,47, + 5, 5, 33,25, 57,34, 55, 6, 21,47, 10,17, 28, 0, 11,58, + 28, 2, 53,27, 24,17, 42,59, 54,21, 16,59, 41,15, 29,40, + 40, 9, 2,37, 15,49, 4,22, 1,58, 4,47, 40,45, 54, 1, + 38,29, 4, 2, 2,44, 30,30, 17,27, 31,11, 4,53, 14,43, + 28,19, 55,43, 43,42, 5,20, 4, 9, 7,55, 32,31, 57,58, + 35,22, 47,37, 7,25, 29,11, 45,15, 39,24, 23, 6, 39, 0, + 1,11, 3,44, 31, 0, 19, 7, 30, 9, 1,31, 24,27, 23,42, + 37,32, 33,14, 20, 5, 55,10, 11, 1, 56,41, 47,33, 33,32, + 28,29, 48,22, 37,30, 27,55, 41,39, 52,56, 36,28, 4, 4, + 43,50, 42,29, 45, 6, 32, 9, 39,30, 10,19, 44,11, 48,55, + 13,43, 9,57, 58,41, 59,19, 41,14, 27,41, 20,49, 34,58, + 39,19, 9,11, 53,23, 52,43, 17,51, 51,14, 51,13, 36,40, + 29, 1, 32,58, 47,25, 12, 6, 39,49, 11,48, 52, 5, 1,25, + 11,13, 15, 5, 30,14, 36,34, 15,20, 52,20, 41,27, 34,37, + 13,35, 58,28, 42,45, 13,34, 35, 5, 45,41, 5,15, 42, 8, + 27,50, 26,39, 28,15, 41, 2, 32,55, 31,39, 43,32, 57, 7, + 39,15, 49,22, 54,51, 58,19, 58,12, 20, 1, 40,38, 28,38, + 27,24, 6,32, 43,41, 17, 5, 12,51, 10, 5, 54,52, 47, 2, + 18,55, 6,19, 48,58, 28,45, 41,26, 0, 4, 14,54, 44,53, + 34,12, 56,39, 56,31, 32,38, 36,10, 23, 7, 15,46, 52,34, + 59,33, 53,55 +}; +const int p_60_8[] = { + /// Number of people on picture + 60, + /// Number of preferences + 243, + /// Array of preferences + 29, 9, 19,16, 15,18, 18, 9, 20,57, 3,14, 14,10, 49,47, + 14, 8, 39, 3, 11,45, 25,59, 37,29, 31,57, 5,38, 46,16, + 34, 3, 37,41, 32,30, 40, 4, 49, 2, 14,34, 32,31, 1,49, + 17,42, 18,43, 6,14, 18, 2, 41,46, 0,50, 32,50, 24,37, + 4,37, 53,51, 10,49, 40,15, 27, 4, 48,57, 49,11, 46,29, + 51,27, 18,25, 48,33, 44,51, 17,27, 36,40, 25,19, 52, 0, + 21,30, 28,20, 50,46, 32,28, 19, 6, 43,34, 6,50, 58,41, + 12,55, 16,19, 31,31, 44,23, 57,14, 29,39, 38,58, 33,41, + 30,12, 36,17, 40,28, 6, 3, 15,45, 3, 7, 40,48, 1,50, + 7,10, 37,37, 2,29, 24, 7, 28,41, 13, 4, 45, 3, 23,17, + 52,53, 34,11, 59,57, 50,42, 10,33, 44,13, 50,52, 59, 5, + 11,44, 0,12, 43,22, 22,35, 27, 3, 30,26, 34,10, 29, 0, + 57,11, 15, 5, 0, 8, 26, 4, 57,45, 25,13, 27,19, 50,17, + 9,10, 53, 0, 16,14, 48,35, 4,30, 10,28, 50,22, 2,22, + 34, 6, 23,49, 54,42, 58, 9, 2, 4, 11,50, 30,51, 41,35, + 56,23, 6, 4, 13,21, 0,15, 59,41, 52, 9, 22,21, 44,29, + 58,20, 56,27, 27,42, 44,52, 44,11, 25,55, 16,41, 21, 2, + 36,42, 24,45, 55,37, 8,29, 46,47, 51,26, 19,46, 49,31, + 49,33, 58, 5, 51,37, 42,59, 2,15, 45,49, 21,27, 25,49, + 8,24, 39,25, 0,18, 11,18, 32,38, 51,23, 56,11, 20,24, + 24,56, 16,58, 40,18, 17,22, 17,47, 52,50, 28,26, 26,23, + 46,14, 10,37, 21,24, 4,18, 25, 6, 18,54, 1, 5, 20,50, + 42,15, 29,10, 46,49, 44, 2, 54,21, 58,18, 34,34, 42,20, + 56,29, 48,40, 12, 0, 55,12, 31, 4, 54,17, 50,16, 36,19, + 23,19, 12,12, 53,59, 49,27, 23,35, 58, 8, 31,17, 16, 4, + 35,20, 57, 7, 11, 3, 42,51, 52,45, 11,47, 41, 4, 7,47, + 14,28, 54,49, 28,59, 26,44, 16, 3, 16,27, 35,28, 38, 1, + 40,14, 18,37, 19, 2, 12,47, 35,19, 45,40, 30,23, 45,48, + 1,47, 47,49, 8,11, 51, 1, 21,54, 53,45, 47,41, 29,50, + 42,42, 18,48, 1, 1, 52,26, 4,44, 29,25, 55,14, 26,31, + 25, 2, 56,57, 5,40 +}; +const int p_60_9[] = { + /// Number of people on picture + 60, + /// Number of preferences + 286, + /// Array of preferences + 44,22, 9,41, 13,46, 12,25, 20,27, 7, 4, 29,26, 7, 8, + 17,59, 17,22, 39,37, 44,49, 46,52, 39,26, 59, 6, 45,26, + 43, 5, 51,32, 49,51, 2,30, 5, 4, 17,48, 44,12, 20,14, + 43,53, 58, 7, 29,17, 13,56, 29, 1, 24,58, 56,27, 54,42, + 52, 2, 33,45, 33,28, 8,33, 48,27, 4,51, 9, 3, 6,51, + 32,53, 37,26, 23,27, 29,32, 48,57, 42,57, 27,46, 1, 3, + 34,25, 31,30, 0, 8, 52,15, 48, 9, 12,43, 5,24, 44,14, + 36,19, 3,10, 23, 8, 32, 4, 15,37, 2, 4, 49,39, 13,33, + 38,36, 27, 0, 21,14, 43,57, 0,22, 48,54, 10,33, 58,34, + 3,33, 21,43, 50, 8, 13,36, 22,23, 41,21, 11,41, 8,46, + 5,39, 30,28, 42,18, 23,18, 15, 0, 56,16, 45,35, 36,43, + 57,59, 23,29, 47,25, 37,47, 40,56, 55,21, 9,28, 42,16, + 1,29, 36, 6, 42,46, 48,52, 45,38, 30,43, 10,21, 9,55, + 51,23, 5,34, 7,28, 21,10, 33,19, 43,20, 4,57, 51,24, + 58, 6, 49,59, 54,41, 19,44, 51,13, 29,49, 43,16, 8,29, + 22, 6, 1,43, 31,21, 35,19, 55,59, 44, 5, 54,12, 20,36, + 49,19, 19,37, 13,35, 4, 3, 49,26, 10,43, 17,20, 58,39, + 16,37, 54,18, 23,16, 27,36, 51,37, 20,41, 44,26, 22,39, + 4,26, 55,45, 14,41, 28,25, 4,10, 27,23, 13,59, 3,36, + 45,39, 43,33, 49,33, 10,55, 56,13, 51,38, 23,26, 10, 4, + 35,11, 12, 7, 47,31, 46,12, 41,29, 34,10, 12,31, 47, 7, + 33,34, 52,11, 42,19, 9,38, 25,15, 59,29, 10,42, 5,10, + 56,44, 38,42, 43,15, 30,23, 3,19, 15,57, 39,31, 38,10, + 22,25, 52, 9, 59,39, 41,49, 8,23, 52,26, 53,19, 39,21, + 17,56, 9,53, 6, 5, 16,10, 39,25, 45,30, 39,44, 41, 1, + 35,21, 46, 9, 0,53, 51,27, 43,55, 9,30, 52,36, 40,29, + 36,15, 6,29, 13,47, 7, 5, 50, 7, 31,31, 0, 4, 2,32, + 20,53, 17,53, 13, 0, 0,14, 53,37, 0,32, 39,13, 55,11, + 47,44, 10,30, 2,33, 52,45, 35,58, 31,46, 12, 3, 47,55, + 47,23, 47, 3, 20,49, 19,41, 51,40, 50,55, 57,51, 16,50, + 18,47, 43,45, 45,37, 42,40, 21,16, 15,24, 30,12, 9,25, + 7,15, 43,32, 38,55, 20,13, 2,17, 11,33, 31,24, 25,37, + 16,56, 26, 9, 24,10, 26,26, 5, 0, 24,54, 2, 3, 58, 0, + 44,20, 56, 5, 19,18, 57,54, 10,54, 23, 9, 10,22, 22,21, + 31,53, 28,37, 51,41, 24,34, 25,29, 50,35, 46,26, 21, 1, + 42,35, 49,49, 27,45, 1,57, 39,30, 10,46 +}; +const int p_60_10[] = { + /// Number of people on picture + 60, + /// Number of preferences + 883, + /// Array of preferences + 19, 9, 18,49, 34,50, 17, 2, 58, 4, 2,14, 23,51, 17,14, + 0,26, 49,40, 29,51, 13,22, 41, 3, 26,29, 19,45, 19,54, + 14,28, 17,33, 30,58, 47,37, 59,42, 19,10, 20,24, 9,55, + 17,34, 37,57, 17,41, 7,51, 11,42, 54,12, 15,38, 35, 2, + 48, 2, 37,29, 33, 4, 52,26, 26,55, 50,21, 11,33, 28, 1, + 49,57, 29, 5, 47,38, 7,31, 36, 1, 9, 4, 51,38, 35,27, + 20,23, 3,38, 16,35, 45,41, 10,44, 42,47, 57,20, 8,28, + 44,34, 0,50, 13,46, 11,13, 48,47, 2,32, 35,57, 20, 2, + 33,52, 39, 1, 11,27, 6, 7, 5, 5, 36,36, 3,23, 56, 8, + 16,48, 6,42, 53,37, 15,54, 33,31, 24,16, 26,46, 20,44, + 3,17, 20, 8, 10, 6, 27,21, 55, 6, 38,39, 54,53, 9, 8, + 32,47, 24, 8, 20,19, 9,40, 7,55, 52,55, 4,39, 31,14, + 6,12, 44, 2, 41,48, 6, 8, 43,16, 42,21, 36,24, 35, 5, + 53,32, 43,41, 57,33, 57,37, 33, 6, 23,25, 6,39, 49,31, + 11,36, 40,32, 34, 2, 48,59, 59,55, 14,56, 56,10, 49,39, + 49,56, 52, 8, 7,15, 18,54, 39,26, 58, 1, 46,14, 19,19, + 11, 0, 17,39, 15,52, 18,20, 8, 8, 4,14, 16, 7, 38,13, + 50,44, 24,51, 39,20, 16,37, 0,44, 16,22, 10,39, 33, 3, + 15,47, 25,19, 35,43, 1,14, 52,42, 32, 7, 16,21, 32,35, + 18, 9, 58,35, 1,42, 3,42, 29,53, 36,46, 50,34, 22,23, + 56,27, 44,20, 25, 4, 33, 7, 7, 5, 38,54, 57,41, 28,58, + 44,54, 44,42, 54,14, 50,16, 57, 7, 25,37, 38,19, 53,59, + 0,39, 20,28, 38,59, 9,53, 59,17, 25,34, 31,26, 24,52, + 21,52, 47,36, 27,39, 50,47, 8, 5, 35,21, 5, 7, 26,11, + 39,52, 32,52, 17,50, 52,24, 38,40, 41,26, 53,34, 33, 2, + 54,50, 54,43, 8,33, 42,31, 31,12, 59,39, 51, 0, 35,23, + 12,33, 6,47, 50,10, 6,18, 40,22, 30,10, 55,58, 48,36, + 3, 6, 41,40, 50,30, 8,59, 23,19, 57,32, 17,12, 17,26, + 10,22, 39, 7, 14,52, 5,19, 12, 6, 2,10, 37,44, 31, 7, + 7,50, 48,14, 41,27, 27, 1, 56, 4, 56,47, 24,34, 8,18, + 34, 7, 56, 2, 4, 4, 45, 0, 47,53, 44,19, 3,50, 1,52, + 32,53, 19,49, 9, 7, 18,51, 45,12, 48,28, 29,11, 47,27, + 51,17, 12, 3, 25,31, 25,10, 34,32, 36,17, 54, 6, 42, 6, + 38,33, 20,12, 0,15, 34,10, 32,13, 6,17, 30,18, 1,17, + 8,50, 38,50, 25, 9, 48,57, 55, 4, 52, 4, 10,23, 25,46, + 42,41, 51,22, 5,13, 44,12, 12,16, 21,59, 22,29, 31,31, + 19,52, 36,54, 4, 8, 55,46, 43,54, 41,54, 30,25, 20,43, + 36, 7, 26,50, 0,25, 51,19, 31,17, 31,19, 58,15, 2,13, + 9,44, 34,16, 2,11, 29,56, 39,29, 57,23, 1, 0, 29,33, + 50,59, 26, 7, 13, 7, 42,51, 15,18, 10, 8, 9,50, 59,38, + 47,20, 56,41, 54,55, 3,47, 26,21, 13,24, 3,33, 38,47, + 33, 0, 33, 5, 39,17, 34,27, 36,37, 58,51, 34,48, 37,31, + 53,16, 43,10, 45,30, 28, 8, 13,26, 16, 2, 32,25, 15,13, + 9,57, 57,27, 29,41, 29,52, 3,46, 31,22, 17,51, 0, 4, + 7,54, 10,55, 15, 9, 44,18, 11,44, 8,54, 37,36, 10,53, + 46, 2, 38,25, 0,31, 55, 8, 9, 0, 34,25, 27,53, 21,41, + 53,33, 41,12, 50,45, 38,22, 26,52, 24,44, 41,20, 1,25, + 35,34, 31,10, 47, 5, 13,41, 12,12, 32, 5, 7,21, 12, 1, + 55,53, 43,36, 21,13, 52,52, 43,30, 35,53, 2,44, 52,18, + 46,51, 17, 9, 40, 7, 8,49, 40,17, 16,39, 43,55, 46,19, + 53, 7, 56,29, 5,51, 37,10, 58,56, 30,22, 27,34, 22,52, + 9,19, 18,28, 8,41, 33,41, 29,34, 17, 4, 56,59, 14,12, + 38,30, 36,43, 20,51, 1,22, 49, 1, 52,11, 20, 0, 1, 9, + 42,15, 43,14, 13,51, 55,37, 21,43, 27, 0, 24,50, 1,57, + 58,22, 32,49, 18, 3, 29,30, 32,59, 10,28, 51,28, 41,15, + 50,25, 28,35, 46,44, 5, 6, 50,23, 22,41, 3,14, 29,25, + 9,10, 15,36, 57,25, 4,34, 56, 6, 4,41, 40, 5, 28,21, + 8,10, 13,34, 43, 9, 34, 1, 58,52, 19,13, 36,55, 46,38, + 22,21, 24,42, 11,21, 15,19, 11,49, 51,47, 30, 3, 36,41, + 34,30, 4,47, 43,23, 52,13, 51,57, 58,12, 56,56, 11,24, + 20,48, 35,19, 59,53, 1,37, 16,36, 25,15, 3,25, 37,53, + 42,27, 7, 2, 14, 6, 26,56, 52,31, 0,29, 39, 2, 22, 2, + 59,56, 15,28, 16,29, 27, 3, 20,57, 48,22, 12,46, 13,45, + 41,45, 19,41, 16,46, 20,16, 53, 3, 13,44, 42, 4, 23,27, + 51,12, 29, 9, 13, 2, 16, 4, 19,53, 59,36, 54,35, 30, 0, + 37,52, 43, 6, 14,54, 15,34, 4,43, 24,33, 37,18, 30,43, + 45,46, 41,35, 53,18, 52, 3, 53,40, 47,21, 44,56, 46,35, + 29,35, 4, 7, 41,43, 30,23, 24,37, 14,31, 14, 7, 9,45, + 28,14, 54,19, 23, 6, 32,27, 25, 2, 15,43, 34,22, 29,19, + 24,26, 48,21, 36, 2, 49,53, 24, 2, 42,55, 40,46, 19,51, + 13,49, 9,58, 26,18, 20,15, 18, 5, 44,46, 5,46, 39,35, + 1,41, 41,30, 0,49, 19,35, 46,12, 36,45, 36, 6, 3,29, + 29,10, 23,34, 3,40, 34,14, 26,16, 29,38, 47,33, 2, 8, + 52,17, 59,31, 2,59, 44,17, 7,27, 3, 4, 31,44, 25,35, + 37,37, 16,11, 35,33, 1, 2, 47,18, 22,18, 29,46, 27, 8, + 30,49, 7,29, 10,51, 1,58, 34,46, 11,18, 27,36, 41, 5, + 37,55, 44,41, 30,26, 55,34, 49,52, 33,14, 29,58, 32,37, + 54,30, 17,45, 19,31, 23,52, 30,57, 48, 9, 2,52, 52, 1, + 25,48, 57,14, 54,46, 5,44, 27,28, 34, 5, 6,19, 51,33, + 35,35, 32, 4, 22,25, 12,43, 3,59, 29,54, 33, 1, 38,35, + 44,40, 1,49, 57,44, 11,37, 38, 8, 46,29, 51,20, 9,33, + 5,50, 13,17, 31,55, 40,51, 55,17, 24,39, 18, 0, 54,28, + 56, 7, 27,19, 53,21, 5,22, 3, 1, 11,38, 27,11, 38,44, + 28,25, 44,22, 44, 5, 30, 1, 39,36, 22,31, 21, 9, 6,34, + 31,50, 31,42, 44,24, 21,37, 4,24, 14,23, 30,38, 57,39, + 30,28, 36,57, 56,49, 52,29, 17,30, 15,17, 9,39, 12,58, + 26,22, 46,59, 40,58, 45,24, 31,52, 17,38, 18,16, 49,34, + 33,18, 45,34, 4,58, 54,42, 18,19, 37,24, 18,42, 39,40, + 14,35, 41, 8, 13,59, 34,57, 21,45, 52, 0, 38,52, 47,56, + 0, 3, 23,56, 46,26, 40,16, 57, 6, 6,45, 51, 3, 12,15, + 16,47, 22,40, 33,27, 15,25, 22,27, 28,27, 2,57, 29,48, + 30,47, 52,36, 30,13, 21,12, 3,26, 12,51, 20,52, 45, 5, + 56,46, 32, 0, 23, 2, 2,33, 35,38, 2,35, 46,15, 20,20, + 40,57, 10,40, 34,26, 28,31, 5,47, 25, 6, 42,53, 11, 1, + 37,15, 5,35, 54,25, 9,13, 3,43, 21,15, 43,44, 15, 6, + 6,35, 22,56, 8,21, 17,17, 55,33, 40,19, 2,23, 28,40, + 49,30, 41,13, 20,33, 56,57, 7,18, 40,41, 27,31, 35,51, + 23,48, 23,32, 22,45, 53,58, 3,58, 14,29, 42,36, 58, 2, + 0,28, 47,12, 4,16, 34,44, 4,20, 55,42, 39,42, 13,29, + 39,59, 4,57, 7,12, 14,53, 14, 4, 51,30, 53,48, 36,52, + 20,34, 25,13, 41,38, 8,26, 28,59, 11,19, 1,35, 46,58, + 8,56, 9,32, 50,12, 57,43, 49,26, 1,53, 41,49, 27, 7, + 42,56, 10,35, 23,30, 40, 2, 4,23, 49,59, 7,45, 46,34, + 47,50, 36,44, 22,30, 21,27, 54, 4, 52,27, 22,14, 28,17, + 12,17, 46,20, 36,42, 43, 7, 40, 6, 42,26, 26, 1, 29,39, + 13,28, 55,43, 18,22, 31,51, 39,32, 50,46, 59, 7, 5,37, + 12,39, 56,33, 45,16, 30, 5, 22,15, 55,32, 11,14, 25,56, + 50,58, 44,45, 29, 0, 31,58, 2,56, 26,19, 53,26, 45,19, + 52,39, 50,33, 41, 1, 11,39, 19,14, 20,50, 39,16, 24,24, + 53,28, 0,59, 53,24, 29, 3, 45, 9, 16,13, 35,30, 37,20, + 11,26, 41,50, 29,18 +}; +const int p_60_11[] = { + /// Number of people on picture + 60, + /// Number of preferences + 445, + /// Array of preferences + 40, 7, 6,25, 58, 0, 45, 2, 50, 0, 53,38, 6, 4, 23,57, + 35,41, 49,12, 42,34, 26,46, 2,35, 36,38, 54,43, 11,47, + 24, 8, 6,44, 43,29, 11,58, 3,19, 14,47, 26,55, 2,31, + 52,11, 34,43, 43,15, 40,53, 35,24, 19,58, 14,29, 44,30, + 40, 8, 30, 8, 4,24, 30,41, 47,48, 35,59, 21,16, 41,49, + 6,11, 44,20, 55, 2, 9,43, 54,24, 19,23, 35,48, 49,59, + 37,58, 53,17, 52,41, 32,37, 2,22, 24,17, 46, 2, 14,41, + 17,22, 20,20, 33,55, 50, 3, 9,25, 46,38, 24, 7, 0,40, + 13,22, 15,45, 24,55, 12,21, 22,42, 15,15, 4,47, 3,43, + 54,11, 1,51, 58,44, 37,18, 33,34, 38,21, 26,39, 1,32, + 51,23, 19,17, 45, 9, 41,32, 15,59, 52,20, 15, 2, 13,44, + 24,51, 24,20, 41,55, 25,28, 23,54, 6,23, 39,23, 19,46, + 33,16, 49, 5, 14,53, 43,53, 9,16, 56,36, 41,29, 36,40, + 5,47, 19,51, 16,22, 28,51, 3, 9, 30,49, 3,51, 34, 5, + 40, 1, 16,41, 5,48, 51,58, 40,56, 58,31, 44,35, 28,48, + 57,48, 47, 0, 51,40, 38,33, 13,25, 55,56, 11,48, 5, 9, + 8,51, 0, 5, 14,54, 27,32, 20,45, 14,26, 9, 5, 0,24, + 34,48, 22,45, 9,15, 11,14, 18,15, 11,50, 30,14, 56,24, + 24,42, 29,22, 39,39, 56,13, 29,27, 11,32, 2,15, 25, 8, + 35,54, 37,21, 15,30, 10,37, 7, 2, 47,18, 55,57, 26,40, + 54,29, 56,52, 40,12, 23, 6, 48,20, 39,21, 0,42, 52,59, + 16,51, 7,46, 38,41, 51,49, 9,58, 40,18, 50,17, 32,48, + 44,40, 43,30, 18,43, 36,41, 38,58, 40,35, 32, 8, 45,11, + 42,37, 50,28, 18,39, 56,22, 5,53, 15,40, 25,44, 42,19, + 53,35, 24,36, 29, 0, 43, 3, 0, 6, 14,33, 11,18, 58,59, + 56,18, 27,42, 26,50, 2,55, 48,51, 7,38, 54,26, 11,33, + 43,25, 33,12, 45,18, 12,36, 52,33, 44,49, 30,19, 51,11, + 44,22, 5,28, 5,10, 31,57, 49, 3, 18,40, 51,59, 30,20, + 33,35, 8,49, 9, 3, 5,51, 14,52, 5,24, 30,10, 21,17, + 17,53, 8,22, 51,25, 57, 3, 11,46, 43,18, 59,29, 0,15, + 53,47, 44,53, 33, 1, 21,33, 35,30, 39,18, 25,37, 0,18, + 22,46, 48,48, 50,48, 38,31, 14,42, 26,30, 3,47, 35, 1, + 51, 5, 21, 8, 26,54, 7,10, 50,23, 17,48, 32,20, 6, 2, + 31,58, 55,43, 54,10, 29,11, 5,33, 38,45, 16,46, 53,23, + 11,45, 26,56, 40,15, 48,18, 54,45, 5,38, 3,24, 9,26, + 20,43, 1,37, 24,59, 22,27, 12,25, 43,49, 9,17, 7, 1, + 2,45, 6,49, 56, 0, 21,26, 24,28, 30,54, 8,54, 45,25, + 17, 9, 23,47, 23,38, 14, 0, 28, 3, 6,52, 46,22, 12,49, + 27,33, 7,24, 52,56, 50,35, 13,56, 4,16, 51,48, 17,12, + 21,15, 32,31, 20,39, 4, 0, 49,41, 25,17, 57, 9, 29,38, + 4,18, 2,11, 27,48, 55,40, 48,52, 58,26, 4,52, 1,31, + 28, 1, 39,56, 12,38, 51,17, 3,11, 30, 9, 20,53, 19,26, + 48,58, 45,12, 55,41, 4,39, 27,12, 57, 0, 51,29, 38,35, + 52,17, 44,34, 15, 1, 46,14, 11, 0, 18,46, 8,30, 23,59, + 23,44, 7,25, 15,42, 28,33, 51,41, 2,47, 38,23, 39, 9, + 27,21, 45,10, 46,58, 29,56, 54,15, 3,50, 26,51, 54,37, + 47,36, 16,47, 47,31, 44,51, 2,49, 25,52, 26,11, 29,39, + 43,22, 2,12, 35, 0, 52,53, 58,52, 38, 4, 16,30, 55,10, + 21, 0, 12,23, 21,48, 15,16, 52,52, 57,13, 31,21, 43,10, + 0,48, 8,24, 32,39, 31,17, 59,54, 14, 8, 38,43, 35,39, + 19,27, 37,34, 22,50, 9,39, 17,35, 21,50, 5,25, 1,24, + 26,52, 0,13, 46,57, 14, 6, 43, 1, 25,21, 24,23, 19,40, + 44,25, 37, 7, 15, 4, 35, 2, 37,51, 31,24, 7,42, 47,21, + 25, 0, 50,49, 52,14, 49, 2, 45,45, 33,28, 54,56, 3, 7, + 47, 4, 23,18, 36,57, 17,57, 18,49, 45,48, 2, 9, 29,40, + 22,14, 28,24, 22, 5, 5,45, 58, 3 +}; +const int p_60_12[] = { + /// Number of people on picture + 60, + /// Number of preferences + 305, + /// Array of preferences + 59,38, 52,37, 57,31, 38,34, 32,54, 45,37, 50,48, 38, 6, + 51,17, 58,45, 31, 2, 50, 2, 23,51, 3,17, 2, 7, 12,31, + 57,35, 15,20, 33, 5, 12,16, 16,40, 58,29, 42,24, 35,41, + 23,37, 25,53, 6, 5, 43,43, 48,56, 23,39, 15,55, 59, 8, + 22,42, 4,26, 51, 4, 24, 6, 46, 2, 4,56, 45, 0, 24,12, + 1,45, 38,38, 19, 4, 19, 5, 52,45, 56,18, 34,17, 44,46, + 19,37, 26,11, 42,36, 35,23, 51,50, 39,14, 22,47, 50,35, + 36,39, 12,40, 55,47, 30,58, 5,21, 31,58, 54,28, 36,10, + 19,28, 7,23, 1,22, 35,24, 7,38, 10,48, 48,50, 5,23, + 16,30, 42,14, 52,41, 23,11, 52,59, 55,41, 57,47, 9, 2, + 26,18, 4, 5, 24,40, 34,47, 9,16, 35,18, 7,16, 3,40, + 56,59, 44,52, 45,23, 45,25, 0,18, 21,57, 21,10, 25, 8, + 51, 1, 16,11, 5,46, 28,11, 40, 4, 10,41, 55,56, 29,58, + 23, 8, 29,48, 34,40, 33,46, 7,59, 56,43, 21,50, 43,48, + 31,27, 14, 0, 8,30, 21,33, 13,37, 57,19, 5, 5, 40,39, + 5,44, 31, 9, 4,29, 49,20, 32,12, 50,15, 34,49, 29,11, + 50,14, 45,33, 2,15, 48, 2, 33, 7, 9, 1, 26,39, 34,24, + 27,38, 7,18, 18,29, 39,54, 40,55, 46,50, 57,32, 24,55, + 59,10, 16,36, 0,15, 1,20, 45,51, 59,51, 49,56, 15,22, + 52,42, 9,50, 29,43, 12,10, 32,27, 57,18, 42,46, 31,21, + 54,44, 40,44, 13,13, 57,28, 9, 8, 29,57, 8, 6, 1,48, + 33, 4, 26,59, 16,46, 42,35, 41,23, 43, 9, 10,16, 14,44, + 33,27, 3,25, 7, 0, 15,34, 14,40, 13,28, 58,43, 7,27, + 6,45, 34,41, 35,56, 18,27, 11,21, 59,26, 16, 9, 32,15, + 7,34, 18,13, 32,59, 39, 1, 13,15, 28,25, 2,44, 59,16, + 43,55, 48,55, 51,32, 53, 7, 28,24, 28,29, 14,19, 15,12, + 0, 1, 48,52, 32,28, 58,37, 22, 9, 9,27, 10,15, 5,54, + 7,22, 52,20, 37,13, 9,48, 31,46, 36, 9, 39, 2, 5,57, + 36,23, 15,57, 49, 9, 35,59, 19, 9, 41,43, 9,35, 19,34, + 52,31, 58,49, 13,40, 19,13, 50,59, 2,43, 22,44, 53,36, + 21,51, 59,20, 59,47, 36,24, 52, 9, 15,15, 15, 6, 24,10, + 14,24, 27,43, 41,51, 49,13, 59,43, 22,12, 50, 5, 16, 4, + 14,54, 30,37, 56, 1, 12,54, 45,10, 38,46, 7,44, 14,34, + 42,38, 12,55, 8,10, 13,24, 58,18, 15, 9, 19,35, 20,54, + 17,27, 28,51, 11,29, 17,16, 21,52, 29,52, 10,37, 3,57, + 49, 8, 48,28, 44,22, 40,58, 39, 8, 18,16, 16,54, 58, 6, + 52,53, 35, 4, 54,31, 37,47, 56,36, 39,10, 51,38, 10,30, + 32,21, 4,44, 37,10, 23,42, 51,44, 31, 0, 50, 8, 12,14, + 6,42 +}; +const int p_60_13[] = { + /// Number of people on picture + 60, + /// Number of preferences + 482, + /// Array of preferences + 24,37, 28, 8, 14,20, 2,22, 26,27, 0, 0, 1,31, 4,10, + 54,40, 55,45, 48,26, 47,24, 0,56, 59,53, 26, 5, 55,29, + 57,54, 2,12, 54,38, 24,31, 36,15, 7, 7, 12, 2, 44,12, + 20,43, 59,30, 19,31, 24,40, 46,46, 1, 4, 34,55, 31, 8, + 9,32, 51, 1, 19,38, 44, 6, 55, 3, 53,28, 42,25, 40,28, + 1,35, 58,15, 34,41, 54,32, 54,33, 20, 9, 27,12, 0,17, + 3,18, 19,39, 12,53, 27,20, 44, 4, 20,59, 50,58, 16,10, + 38,25, 38,49, 11,59, 32,17, 18,14, 23, 5, 28,45, 43, 6, + 40, 2, 27,44, 28,38, 47, 3, 23,39, 52,13, 52,14, 21,37, + 15,31, 50,36, 22,57, 12,25, 44,20, 43,33, 6,42, 56,20, + 3,25, 3,45, 15,43, 56,34, 58,19, 7,45, 30, 2, 24,33, + 38,10, 18,19, 18, 8, 24,46, 45,29, 7,20, 50, 0, 19,56, + 36,38, 36,39, 50,59, 43,56, 21,31, 27,52, 28,49, 51,28, + 6,37, 23,17, 4,58, 56,31, 47,34, 39,15, 44,39, 56,57, + 57,14, 44,40, 3, 8, 41,10, 17,49, 30,57, 29,58, 46,58, + 24,53, 9,22, 55,39, 36,32, 42,31, 17, 1, 29,26, 58,23, + 47,32, 12,32, 30,39, 20,47, 10, 3, 4,16, 42,59, 39,57, + 32,53, 15,38, 11, 2, 47,44, 31,46, 29,21, 2, 3, 6,31, + 0,58, 40,22, 32, 1, 4,39, 53,43, 1,20, 55,19, 8,40, + 34,28, 52,55, 56,49, 11,57, 45,28, 58,42, 56,56, 17,47, + 50,57, 53,42, 30,56, 27,54, 1,33, 50,24, 39,44, 3,39, + 25,13, 20,15, 19,37, 15, 5, 3,55, 46,28, 45,11, 6,54, + 29,24, 25,41, 36,30, 4, 3, 10,12, 36,10, 27,27, 11,48, + 50,33, 57, 9, 46, 1, 7,15, 53,35, 24,52, 32,45, 28,48, + 42,34, 22,33, 55,59, 27,23, 29,53, 8,33, 48,30, 36,34, + 3, 2, 36,20, 39, 8, 13,15, 31, 9, 3,23, 51,11, 17,27, + 16,31, 46,44, 29,23, 10, 9, 18,18, 40, 5, 45,35, 1,57, + 29,49, 29, 4, 3,15, 26, 8, 46,15, 54,49, 55,51, 15,56, + 12,18, 47,53, 0,22, 6,53, 22,24, 53,34, 58,41, 25,35, + 17,21, 2,41, 17,45, 53,17, 52,49, 37,28, 14,15, 50, 5, + 8,27, 42,32, 48,43, 49,34, 24, 1, 20,23, 41,46, 48,17, + 20,19, 55,30, 7,25, 13, 9, 17,55, 0,33, 12,40, 8,10, + 22,16, 59,35, 12, 9, 37,17, 31,10, 8,46, 52,51, 5,48, + 32,14, 40, 1, 21,51, 2,33, 41,52, 30,41, 51,59, 7,55, + 12,11, 49, 0, 39,13, 9,56, 33, 3, 59,20, 20,51, 25,59, + 12,33, 10,30, 8,29, 15,25, 2,43, 47,49, 35,50, 33,47, + 32,57, 26,52, 20,36, 20,48, 4,20, 9,31, 1,38, 22, 3, + 10,19, 41,57, 20,57, 14,33, 35, 9, 0,28, 15,45, 7, 4, + 53,57, 32,49, 31,52, 14,10, 4,59, 1,29, 24,28, 38,48, + 24,45, 19,29, 41,36, 0,42, 33,21, 44,26, 36,16, 2, 5, + 39,28, 52,54, 28,42, 24,16, 9,57, 21,27, 53,53, 34,52, + 11, 4, 32,24, 0,23, 15,33, 48, 0, 13,35, 6,20, 34,17, + 45,12, 31,21, 22,29, 44,22, 2,39, 31,25, 56, 2, 8,15, + 22,18, 10,22, 38,30, 46,24, 41,56, 11, 0, 4,28, 22, 9, + 23,11, 14,11, 54,52, 14,45, 39,37, 25,32, 5, 8, 32,51, + 7,19, 40,26, 15,23, 6,25, 18, 9, 33, 0, 44,36, 37,58, + 52,58, 35,52, 8, 6, 26,14, 49,11, 8,18, 1, 8, 38, 2, + 50,50, 30,47, 6, 1, 6,27, 42,14, 22,45, 58,59, 55, 0, + 30,11, 40,51, 42,30, 12,42, 6,24, 26,42, 7,31, 17,29, + 27,18, 3,19, 47,50, 26,20, 25,54, 22,48, 56, 5, 23,38, + 45,46, 9, 1, 17,50, 39,14, 53,49, 5,19, 9,46, 24, 7, + 18,26, 13,38, 21,26, 8,54, 57,53, 2, 9, 8,52, 23, 7, + 9,15, 11,52, 36,22, 4,56, 30,35, 8,58, 30,40, 59,31, + 52,18, 22,11, 24,36, 41, 0, 44,30, 19,41, 31,48, 47,30, + 34, 0, 31,57, 17,23, 37,59, 37, 3, 22, 0, 13,53, 41,51, + 14, 1, 17,43, 47,58, 9,45, 25, 3, 31,37, 26,37, 19,51, + 42,21, 32,27, 6,45, 41,31, 2,46, 0,13, 0,43, 41, 3, + 15,39, 9,55, 53,45, 46,20, 59, 5, 48,18, 46,10, 52, 2, + 48,37, 50,49, 39,41, 57,11, 56,51, 30,38, 1,14, 7,58, + 28, 5, 32,23, 5,17, 58,33, 38,26, 35,53, 7,46, 51,13, + 38,13, 47,25 +}; +const int p_60_14[] = { + /// Number of people on picture + 60, + /// Number of preferences + 684, + /// Array of preferences + 35,36, 21,17, 3,13, 35,42, 25, 6, 2,47, 19,46, 34, 9, + 21,50, 50,51, 20,49, 44,17, 20, 7, 38,22, 33,41, 53,31, + 36,52, 48,24, 41, 1, 52, 7, 29,32, 33,58, 4,23, 47, 2, + 10,53, 11,57, 23,20, 22,40, 27,45, 32,41, 51, 2, 5,11, + 28, 5, 35,22, 50,46, 18,44, 47,41, 23, 1, 58,38, 19,30, + 2,42, 45,24, 46,20, 28,31, 46,35, 43, 5, 2,10, 25, 2, + 30, 6, 24, 2, 47,56, 49,31, 18,31, 43,25, 54,24, 48, 5, + 17,15, 29,58, 12,11, 54,58, 21,18, 50,34, 47,35, 48, 7, + 3,32, 42,13, 42,24, 47,50, 0,29, 22,11, 54, 7, 29,40, + 39, 8, 48,56, 32, 5, 49, 5, 15,10, 4,18, 4,10, 1, 7, + 31,17, 59,53, 22,54, 5,41, 46,38, 54,44, 20,24, 29,28, + 10, 2, 23,44, 14,33, 21,27, 16, 7, 45,54, 50,37, 5,44, + 44, 6, 23,42, 26,22, 31, 5, 26, 0, 21,33, 29,33, 36,15, + 56,34, 19,39, 14,51, 47,55, 36, 6, 29,25, 28,40, 48,10, + 11, 1, 39,51, 44, 3, 58,11, 36,27, 0,55, 17, 1, 20,45, + 18,29, 44,28, 10, 3, 33,26, 23,28, 3,48, 38, 3, 29, 0, + 26,42, 56, 6, 28,35, 44, 7, 34,57, 57,34, 11,51, 6,28, + 59,32, 37, 5, 44,56, 34,53, 22,12, 12,24, 20,50, 2, 8, + 41,29, 31,37, 34,38, 58,22, 11,54, 31,58, 28, 0, 16,45, + 18,15, 7, 1, 14,40, 53,54, 8,36, 16,49, 40,49, 12,43, + 0,49, 25,57, 56, 5, 52,40, 5,50, 50,33, 12,25, 7, 7, + 31, 0, 34,48, 13,36, 33,44, 2,35, 39,58, 32, 2, 1,22, + 41, 3, 0,56, 11, 2, 36,58, 15,48, 51, 9, 41,35, 3,53, + 44,13, 40,47, 47,33, 1,25, 8,59, 36,47, 24,13, 6,50, + 59,33, 40,57, 36, 1, 5,45, 26,43, 36,20, 1,36, 50,52, + 41,52, 40,35, 43, 2, 4,30, 2,51, 50,28, 31,57, 19, 0, + 33, 1, 56,55, 30,34, 18,59, 8,23, 40,54, 34,47, 23, 7, + 36,56, 27,55, 39,23, 40,46, 13, 2, 14,10, 7,40, 4,21, + 35, 9, 24,31, 58, 5, 46,42, 31, 2, 1,45, 2,43, 45,56, + 17,17, 14,36, 26,51, 47,51, 55,41, 35,15, 21,34, 36,35, + 58,34, 29,47, 0,54, 42,26, 53,15, 13,41, 33,47, 43,16, + 5,53, 43, 8, 12,42, 20,55, 17,40, 13,22, 43,23, 29,37, + 50,25, 28, 1, 49,25, 13,24, 17,44, 46,28, 38,46, 39,38, + 1,30, 34,33, 57,55, 42,56, 34, 6, 53,26, 42,30, 58,29, + 18,32, 56,23, 32,10, 39,59, 51,26, 53,34, 2,16, 8,11, + 38,19, 7,58, 29,50, 19,26, 45,32, 21, 2, 51,41, 45, 9, + 37,57, 54, 3, 4, 2, 16,48, 20, 1, 56,17, 58, 9, 53,56, + 56, 7, 21, 9, 44,22, 30,39, 34,37, 27,14, 40,55, 56,42, + 30,54, 43,28, 17,47, 29,44, 15, 0, 36,18, 27,48, 6,27, + 42, 9, 17,35, 54,35, 46,22, 19,14, 30,26, 10, 8, 39,39, + 36,12, 32, 1, 13, 9, 16,14, 5,26, 31,28, 59,17, 36,45, + 15,12, 35,37, 16,17, 17,24, 0,25, 55,35, 25,48, 42,46, + 45,48, 33,55, 1, 0, 25,13, 44, 4, 49,57, 12,27, 41,47, + 23,55, 5,34, 19,21, 40,26, 55, 5, 58,23, 15, 3, 2,27, + 54, 9, 45,38, 37,42, 46,19, 5,56, 33, 5, 19,40, 45,28, + 42,42, 31,56, 50,47, 4,41, 35,20, 3,35, 24, 1, 15,14, + 21,39, 33,42, 18,10, 19,31, 5,12, 52,44, 41,34, 31,48, + 44,29, 33,13, 37, 8, 59,59, 1,24, 8,43, 26,11, 43,32, + 3,22, 1,52, 45,41, 29,17, 45,22, 18,51, 43,29, 52,49, + 1,26, 12,45, 14,23, 5, 0, 39,15, 40,50, 27, 8, 36,21, + 8,44, 18,21, 9,23, 46,26, 15,15, 45,51, 27, 0, 50,16, + 41,50, 39,31, 1,59, 58,46, 42,19, 58,41, 4,50, 56,22, + 30, 7, 50, 2, 3, 8, 42, 3, 44, 1, 25,19, 59,31, 30,19, + 6, 2, 23,17, 54,26, 56,32, 17, 0, 51,13, 24, 6, 15,42, + 21, 8, 34,41, 39,32, 9,19, 2, 3, 11,24, 53,16, 14,46, + 22,32, 6,16, 56,57, 6,24, 9,26, 41,30, 25,25, 14, 9, + 1,38, 14,56, 52,24, 25,10, 32,53, 38,33, 57,32, 26,30, + 21,42, 22, 6, 25, 3, 43,13, 8,51, 1,10, 50,14, 10,28, + 1,44, 54,32, 35,10, 26,49, 9,43, 34,12, 16,19, 8,56, + 7,15, 9, 8, 50, 5, 5,37, 12,20, 35,14, 30,53, 54,53, + 22, 5, 42,29, 0, 3, 58,40, 6,13, 37,33, 48, 3, 27, 4, + 6,52, 41,20, 52,35, 5,42, 23,58, 59,11, 40,11, 48,21, + 34,19, 29,34, 48,53, 16, 9, 58,33, 43,38, 30, 9, 27,16, + 45,30, 1,14, 9,40, 49,41, 34,18, 42,22, 14,43, 4,16, + 51,10, 15,55, 5,24, 30, 4, 15,23, 6, 9, 5,47, 27,38, + 50,17, 23,47, 16, 1, 32,42, 3, 5, 20,28, 14, 3, 19,59, + 50,31, 39,42, 43,35, 42,28, 32,55, 13, 3, 24,48, 23,48, + 55,26, 22, 8, 48,28, 27,58, 50, 6, 21,45, 14,20, 37,40, + 19,38, 5,43, 31,15, 19,58, 38,13, 37,44, 21, 5, 1,11, + 53,59, 9,51, 33,52, 53,35, 23,45, 26, 6, 49,40, 26,38, + 58,17, 52,47, 44,41, 42, 6, 3,30, 38,51, 29,21, 19,42, + 58,49, 23,23, 36,41, 49,43, 48,46, 49,45, 56,48, 13,16, + 58,16, 29,20, 55,58, 1,47, 17,27, 46,13, 23,49, 54,33, + 1,35, 47, 6, 19,24, 25,59, 53, 9, 41,19, 19, 2, 57,28, + 2,34, 31,18, 6,38, 50,19, 3,54, 4,11, 54,30, 20, 5, + 15,27, 18,55, 27,50, 24,27, 4,48, 59,47, 1,19, 10,18, + 11,46, 41,55, 16,15, 28,14, 43,47, 26,35, 54,41, 3,31, + 59,46, 6,18, 21,16, 57,48, 55,19, 38,30, 3,18, 27,51, + 23, 9, 38,38, 11,50, 22,53, 11,52, 36, 5, 27,53, 15,20, + 59, 4, 42, 2, 33,12, 54,38, 50, 8, 23,40, 4,19, 37,39, + 26,23, 23,29, 48,50, 59,10, 45,33, 28,44, 6,12, 28,28, + 53, 7, 5,16, 40,15, 50,30, 10,13, 23,57, 14,49, 45,42, + 30,11, 24, 4, 28,17, 45,58, 50,11, 51,19, 57,51, 5, 2, + 41,37, 10,44, 7,24, 59,29, 44,23, 44,46, 32,46, 28,19, + 49,51, 23, 4, 3,33, 6,57, 7,22, 52,18, 17,37, 4,17, + 12,12, 52, 5, 7,16, 8,14 +}; +const int p_60_15[] = { + /// Number of people on picture + 60, + /// Number of preferences + 427, + /// Array of preferences + 54,23, 0,31, 31,38, 17,42, 52, 3, 37,58, 5,21, 39,13, + 28,12, 1, 0, 33,20, 48,12, 44,38, 23,21, 29,38, 35, 1, + 6,51, 20,31, 22,53, 37, 6, 17,31, 32,11, 52,31, 2,36, + 41,13, 31,15, 42,11, 52,55, 22,57, 39,54, 56,26, 45,34, + 53,52, 48, 3, 10,49, 58,28, 15, 3, 40,39, 58,26, 49,17, + 38, 8, 21,20, 34,39, 20, 2, 27,16, 29,30, 57,46, 0,29, + 45, 4, 46,27, 15,33, 5,39, 4,22, 38, 9, 30,25, 1,11, + 28,49, 41,36, 44,12, 19,17, 39,29, 23,42, 51,14, 26,44, + 4,45, 10,29, 45, 0, 50,59, 37,46, 26,42, 49,36, 26,20, + 9,41, 13,35, 15,30, 44, 5, 44,56, 8,27, 55,57, 27,39, + 51, 5, 26, 2, 48,39, 6,10, 3,15, 10, 5, 34,14, 40,46, + 55,27, 10, 4, 17,55, 50,11, 43,33, 18,50, 5,23, 37,23, + 44,52, 47,44, 21,57, 13,17, 54,56, 21,36, 14, 7, 7,43, + 45,52, 59,58, 43,47, 58,13, 49,29, 48,46, 28,14, 30,30, + 39,51, 41,29, 10,37, 50, 2, 50,30, 39,38, 19,26, 8,14, + 31,39, 42,29, 30,34, 6,17, 42,31, 16,58, 2,49, 6,18, + 27, 7, 31,17, 39,26, 0,41, 21,44, 42,50, 40,20, 1,37, + 2,38, 13,20, 31,19, 5,31, 8, 5, 49,27, 31,11, 46,12, + 34,36, 38,19, 4,28, 54,58, 3,29, 17,25, 40, 1, 56, 7, + 53,45, 45, 1, 57,59, 31,34, 30, 0, 56,30, 50,40, 5,44, + 13,58, 48,14, 52,22, 15,11, 32,54, 22,52, 24,49, 28,43, + 35,53, 48,15, 33,10, 51,18, 32,37, 31, 6, 5,52, 46,28, + 58,38, 3,59, 28,38, 38,55, 31,25, 50, 3, 52,29, 57,35, + 41,23, 12,47, 13,45, 11, 0, 5,17, 46,32, 55,46, 47,52, + 53,15, 52,45, 25,22, 41,17, 30,45, 14,42, 54,51, 40,23, + 46,51, 15,51, 7,25, 48,19, 17,49, 3,56, 23,49, 44,30, + 34,53, 44,33, 35,42, 0, 2, 0,25, 16,21, 24,25, 49, 8, + 19,54, 49,30, 28, 5, 37,34, 8, 2, 50,58, 3, 4, 51, 1, + 2,29, 34,49, 6, 5, 7, 0, 39,36, 26,57, 35, 7, 40,40, + 20, 6, 27,43, 36, 1, 50,46, 20, 4, 45,58, 35,17, 42,53, + 25,36, 14, 6, 0,22, 37,12, 18, 6, 53,12, 56,53, 9,50, + 21,31, 43,28, 17,47, 19,10, 36,15, 49,14, 1,21, 53, 7, + 9,30, 12,53, 40,17, 9,43, 3, 8, 9,31, 34,40, 28,40, + 38,59, 38,32, 40,51, 16,27, 33,47, 12,38, 51,16, 24,46, + 53,22, 9,33, 27,32, 24,50, 44,39, 13,28, 47,18, 39,49, + 25,43, 14,15, 3,12, 45,53, 1,10, 28,10, 42, 9, 15,19, + 18,32, 31,23, 35,45, 12,42, 38,16, 41,47, 44,27, 22,51, + 43,53, 12,11, 8,35, 43, 4, 48,13, 36,47, 38,14, 14,32, + 42,43, 39,39, 10,22, 50,57, 34,59, 35,28, 48,53, 19,55, + 16,31, 23,29, 50,37, 16,49, 41,31, 37,18, 40, 7, 49,10, + 32,50, 46,14, 53,24, 57, 6, 21,27, 17,37, 5,35, 54,37, + 10,55, 2,47, 56,56, 12,55, 36,59, 4, 4, 22,33, 29, 3, + 3, 2, 29,53, 22, 3, 8,21, 37,56, 45,45, 8,47, 28,20, + 11, 4, 42,33, 40,12, 32, 0, 18,17, 54,30, 56, 9, 46,24, + 19, 6, 3,47, 48,22, 57, 3, 52,37, 24,59, 57,55, 10,35, + 0,36, 9,36, 42,51, 24,11, 26,41, 19,59, 31,54, 38,12, + 55,24, 19, 4, 0,18, 5,10, 51,51, 5,58, 23,32, 17,35, + 37,53, 45,31, 35,15, 30,41, 43,49, 43,26, 7,57, 54,55, + 40,34, 5,16, 52,39, 20,11, 55, 0, 35,43, 52, 1, 30,14, + 0,13, 57,25, 45,25, 22,17, 43,32, 26, 9, 48,35, 6,40, + 36, 0, 7,20, 7,51, 37,20, 0,28, 30,17, 45,44, 12,57, + 28,44, 3,50, 55,36, 2,13, 27,42, 2,45, 43,12, 14,49, + 26,26, 16,32, 57,53, 28,18, 7,49, 51,26, 20,42, 49, 4, + 15,28, 59,47, 52,11 +}; +const int p_60_16[] = { + /// Number of people on picture + 60, + /// Number of preferences + 507, + /// Array of preferences + 20,28, 57,22, 4,21, 17,44, 2,32, 51,14, 14,32, 32,59, + 8,58, 18,42, 12,35, 44,57, 48, 8, 45, 8, 47,15, 43,24, + 5,13, 19,26, 2,19, 57,23, 21,32, 1,58, 48, 9, 37,22, + 20,30, 26,52, 44, 2, 37, 1, 42, 2, 11,51, 1,51, 46,21, + 54,48, 47,10, 53,38, 46,43, 21,28, 48,33, 12,58, 43, 9, + 0, 6, 20, 7, 13, 1, 8,29, 15,35, 3,45, 1, 7, 45,29, + 54, 7, 11,22, 40,25, 10, 3, 43,27, 50,59, 11,41, 43,16, + 28,16, 39,29, 27,58, 45,43, 58,57, 18,12, 55, 7, 45,40, + 12,36, 17,29, 57,39, 21,37, 24,10, 27,22, 7,23, 2,33, + 18,41, 24,23, 46,27, 44, 7, 51,11, 58,37, 23,19, 48,17, + 12, 5, 3,20, 53,59, 46,54, 10,20, 33,32, 54,33, 5, 8, + 32,45, 1,28, 23,43, 52,21, 33,21, 48, 4, 23,14, 38,31, + 49,11, 17,10, 47, 3, 27,30, 11,43, 12,44, 51,23, 39,34, + 20,36, 30,28, 35, 2, 46,40, 22,32, 32,53, 52,42, 42,54, + 15, 6, 55,27, 28,13, 12,38, 36,37, 42,55, 41, 4, 28,40, + 48,29, 47,23, 6,15, 29,39, 42,45, 13,39, 30,37, 17,18, + 17,23, 54,34, 34, 6, 26,15, 18,33, 38,21, 4, 7, 7,48, + 42,57, 59,36, 52,25, 3,44, 26,33, 17,20, 57,47, 43, 3, + 40,19, 26,30, 7,29, 49,20, 38,47, 50,29, 14,37, 31,49, + 3,10, 50,39, 25,31, 45,34, 36,53, 12, 6, 0,19, 44, 3, + 18,50, 6,58, 56,46, 51,20, 34, 4, 15,53, 51,48, 6,48, + 47,52, 36,23, 40,44, 19,14, 8,12, 24,39, 49, 5, 26, 0, + 30,32, 44,15, 56,22, 37,15, 9,25, 52,22, 51,32, 21,51, + 42,39, 11,10, 45,26, 56,45, 18,17, 48,37, 20,24, 57,26, + 5,53, 59,37, 54,27, 49,39, 26, 5, 19,18, 22, 9, 4,25, + 45,58, 46,46, 43,22, 3, 0, 26,11, 44,29, 22,56, 31, 8, + 25,13, 9,26, 34, 7, 42,50, 13, 0, 43, 0, 50,40, 23,39, + 30,39, 49,53, 13,28, 9,53, 30,57, 28,28, 16,23, 47,42, + 11,17, 12, 0, 14, 8, 45,25, 10,12, 9,16, 46,51, 11,14, + 26,56, 16,43, 3,51, 28, 4, 6, 0, 35,53, 28,45, 6,44, + 31,30, 44,20, 35,15, 50,44, 35, 5, 14,21, 18,45, 54, 8, + 54,17, 35,23, 38,26, 31,41, 52, 2, 56,54, 11,15, 11,29, + 18,48, 42,28, 31,17, 22,18, 23,40, 14,12, 20,21, 43,19, + 32,52, 23,53, 5,17, 42,43, 4,37, 28,12, 28,44, 6,36, + 52,19, 35,20, 39,28, 16, 9, 46,25, 36,47, 25,22, 1,11, + 15,56, 28,47, 18,29, 34,46, 2, 2, 5,48, 22,15, 23,41, + 0, 4, 23,20, 25,12, 7,14, 40,49, 45, 4, 8,22, 28, 6, + 12,52, 6,43, 52,10, 48,12, 7,25, 38,23, 44,11, 41,28, + 23,30, 56,27, 49,28, 41,38, 6,14, 46,26, 49,48, 32,17, + 20,25, 13,13, 5,19, 38,19, 12,42, 1,54, 46, 2, 1,32, + 17,41, 31,11, 12,10, 14,24, 22,55, 38, 4, 34,16, 46, 9, + 39,41, 22, 3, 18,56, 12,49, 35,34, 24,33, 5,47, 56,50, + 41,57, 50,47, 34,55, 13,21, 53, 8, 39,18, 8,16, 5,54, + 59,24, 32,49, 27,59, 20,55, 24,20, 7,19, 5,33, 36,16, + 27, 8, 2,16, 21, 4, 17,55, 29,54, 25,47, 46,55, 38,28, + 37,54, 27,53, 53,10, 46,11, 50,25, 52,46, 39,22, 14,34, + 25,48, 24, 1, 2,53, 6,16, 8,51, 34,41, 7,26, 1,34, + 28, 3, 40,41, 28,39, 58,25, 41,26, 40,22, 26, 4, 38,35, + 27,10, 33,49, 48,58, 51,41, 14,28, 14,26, 36,44, 50,58, + 33,16, 33,33, 32, 2, 30,12, 1,15, 18,46, 29,26, 54,18, + 34, 8, 1, 3, 38,29, 43,55, 4, 0, 21,17, 18,38, 2,44, + 20,11, 7,30, 44,41, 13, 6, 2,11, 56,57, 34,39, 39,33, + 10,40, 45,14, 43,10, 27,55, 50,55, 52, 9, 46,29, 57,37, + 15,59, 34,45, 10,37, 9,43, 26,14, 40,58, 21,58, 25,21, + 26,57, 2,50, 17,37, 7,11, 54,47, 29,51, 30, 0, 38,18, + 26,38, 40,39, 4, 2, 33, 4, 11, 8, 15,22, 22,59, 58,59, + 14,58, 33,39, 23,22, 45, 5, 6,30, 34,29, 27,51, 3,13, + 52, 0, 19,10, 30,20, 15,58, 29,34, 49,12, 43,15, 14,33, + 8,17, 19,48, 48,36, 49,50, 23,59, 49,41, 24, 5, 48,22, + 37,55, 24,18, 22,10, 53,34, 1,30, 19,24, 48,54, 44,31, + 41,33, 5,10, 32, 3, 58,41, 30,36, 26,18, 11,57, 24,14, + 31,26, 20,18, 58,43, 18, 6, 59, 4, 52,23, 25, 4, 23,44, + 3,46, 5,15, 2,20, 59,47, 7,17, 9, 9, 32,31, 16,19, + 59,30, 40,18, 48,28 +}; +const int p_60_17[] = { + /// Number of people on picture + 60, + /// Number of preferences + 542, + /// Array of preferences + 48,35, 51, 6, 36,42, 51,58, 19,11, 52, 9, 30,55, 10, 7, + 7,25, 50,36, 54,58, 5, 8, 25,59, 59, 4, 51,34, 25,49, + 14,53, 56,19, 51,13, 57,30, 50,13, 18,56, 20,16, 27,48, + 7,14, 34,28, 36,38, 40, 7, 0,15, 47,28, 15, 4, 52,29, + 53,11, 2,23, 13,33, 10,49, 35, 4, 35,24, 12, 5, 11,21, + 35,31, 17,41, 42, 4, 54,29, 28,27, 50,14, 22,59, 57, 7, + 6,57, 53,27, 53,29, 18,36, 54,33, 14,54, 47,57, 43,34, + 14,11, 13,51, 34,37, 32,33, 4,18, 39,49, 55,29, 24, 2, + 36,22, 3,49, 25,30, 34,35, 54, 5, 23, 7, 22,11, 45,54, + 55,42, 25,38, 3,16, 0,58, 23,10, 22,18, 30,53, 35,22, + 23,53, 13,38, 43,35, 50, 3, 47,45, 1,10, 37,26, 26,34, + 50,32, 4,48, 17,17, 53, 5, 8,59, 7,29, 3, 9, 52,38, + 12, 3, 57,18, 59,26, 27,33, 20,59, 25,52, 33, 9, 55,58, + 56,21, 34,20, 31,54, 38,22, 25,19, 54, 3, 1,31, 44,24, + 33,35, 44, 7, 37, 2, 8, 2, 9,21, 22,34, 45,34, 36,20, + 19,43, 55,31, 24,13, 48,36, 15,49, 0,12, 6,59, 22,57, + 9,51, 55,28, 35,12, 27,42, 39,23, 2,58, 10,13, 31,12, + 23,25, 58,53, 42,25, 1,41, 13,40, 39,29, 42, 1, 7, 7, + 44,36, 12,56, 3,11, 32,13, 31,19, 38,19, 20,25, 40,32, + 10,56, 29, 7, 37,54, 59,16, 23,58, 17,29, 35,27, 25,32, + 30,27, 45,30, 31, 8, 41,38, 58,24, 47,18, 22,50, 40,26, + 3, 3, 8,43, 47,12, 37, 4, 47,29, 2,44, 9, 2, 39,58, + 56, 1, 52,44, 52, 5, 11,36, 18,42, 0,50, 3,10, 48,14, + 29,50, 43,21, 21,31, 1, 4, 9,58, 55,15, 25,43, 10,36, + 1, 5, 9, 7, 14,58, 13,28, 15,34, 32, 8, 14,46, 10,44, + 40,48, 41, 2, 55, 2, 4,39, 45, 3, 31,52, 53, 6, 2,15, + 2,36, 39, 4, 5,50, 9, 8, 39,50, 3,48, 8,33, 16,58, + 49,41, 42,13, 4,28, 46, 1, 37,24, 18,54, 20,53, 43, 6, + 45,11, 51,30, 51,23, 57,31, 42,27, 18,37, 20, 1, 57,49, + 20,33, 15,13, 51,19, 56,37, 39,55, 3,50, 20,18, 13,34, + 43,15, 57,39, 51,54, 54,23, 41,47, 22,23, 8,40, 46,41, + 44,20, 39,40, 55,26, 54, 1, 46,24, 45,10, 49, 6, 2,29, + 40,47, 30, 8, 46,15, 5,41, 23,27, 22, 6, 15,16, 28, 7, + 38,41, 12,55, 5, 5, 23,46, 10,28, 24,17, 40,54, 11,59, + 16,12, 41,49, 57,45, 18,24, 51, 9, 2,24, 36,47, 32, 3, + 5,22, 55,44, 25,23, 21,27, 16,31, 23,54, 24,50, 23,48, + 11,22, 36,32, 52,34, 14,15, 32,32, 56, 8, 24,49, 29,37, + 52,24, 19,52, 42,40, 41, 0, 36,51, 10,40, 37,35, 14,31, + 36,48, 53,35, 37,40, 57,55, 12,59, 19,20, 33,54, 33,16, + 19,21, 26,40, 18, 1, 45,38, 22,26, 15,47, 17,53, 7,34, + 55, 3, 55,36, 8,29, 9, 4, 25,27, 16,20, 15,37, 29, 9, + 24,27, 11, 4, 13, 4, 34,34, 59,32, 53, 1, 6,40, 51, 0, + 35,53, 0,30, 36,28, 16,26, 33, 2, 52,25, 32,12, 42,56, + 12, 7, 58,29, 2,31, 45,56, 40,17, 15,31, 11, 1, 20,31, + 28,25, 26, 4, 1,56, 29,28, 26, 8, 24,19, 24, 1, 16,57, + 29,38, 49,57, 11,44, 3,37, 30,13, 42,33, 12,30, 51,46, + 55,24, 17,33, 29,40, 45,44, 39,14, 48,25, 38,29, 59,42, + 5,10, 34,31, 39,22, 8,56, 18,13, 11, 5, 34, 4, 26,58, + 38,54, 45, 9, 31,40, 13,11, 35,39, 28,38, 49,42, 18, 2, + 13,43, 55, 1, 18,57, 57,42, 45,48, 16,15, 16,48, 4,29, + 19,15, 13,14, 24,11, 5,42, 44, 1, 41,17, 31,16, 58,39, + 57,48, 46,13, 13,35, 50,52, 51,12, 8,20, 17,48, 54, 9, + 18,21, 6, 5, 52,41, 23,41, 36,11, 35,28, 59,53, 16,33, + 17,50, 38,49, 12, 4, 51,43, 33, 6, 58,48, 48,34, 12,23, + 18,26, 17,15, 28,29, 5,38, 13,23, 44,15, 10,38, 46,59, + 42,42, 58,50, 48,15, 23, 4, 5,12, 10,30, 58,25, 52,49, + 0,33, 4,12, 28,44, 32,54, 26,49, 43,59, 15,29, 0,37, + 48, 6, 46,27, 33,39, 32,53, 55,32, 24,47, 24, 9, 35,49, + 51,42, 2,12, 2,41, 32, 4, 2,40, 36,44, 32,17, 30, 9, + 27,41, 19, 9, 43,30, 35,50, 15,42, 24,52, 10,15, 19,36, + 15,41, 50,47, 47,46, 38,36, 46,28, 29,44, 29,21, 25,48, + 39,37, 21,58, 47,48, 48,26, 58,18, 23,55, 52, 8, 45,58, + 2,16, 34, 6, 39, 7, 32,42, 26,42, 13,10, 57, 2, 16,49, + 9,31, 26, 6, 4,53, 27, 6, 48,10, 24,46, 35,19, 18,20, + 6, 0, 26,41, 16,59, 49,46, 38,48, 52,59, 2, 6, 46,30, + 59,34, 7,11, 58,43, 59,29, 48,23, 54,31, 24,10, 27,50, + 31,31, 5,21, 55,59, 23, 9, 43,49, 26,12, 57, 4, 35, 8, + 11,19, 45,18, 26,30, 35,51, 36,34, 20,58 +}; +const int p_60_18[] = { + /// Number of people on picture + 60, + /// Number of preferences + 264, + /// Array of preferences + 53,34, 11,45, 39, 6, 36,26, 3,46, 52,50, 36,38, 58,50, + 32,14, 23,43, 41,23, 43,23, 42,17, 1,21, 50,12, 36,19, + 4,11, 54, 8, 9,25, 26,32, 31,58, 48,40, 37,16, 40,48, + 58,30, 14, 2, 43, 0, 13,45, 59,58, 9, 3, 52,29, 38,19, + 33,28, 47,22, 26, 2, 39,38, 27,49, 59, 1, 44,55, 55,17, + 32,55, 22,53, 1,16, 32,50, 39, 5, 54,37, 40,27, 42,52, + 52,58, 42,29, 47,15, 14,32, 52,31, 34,27, 23, 5, 12,54, + 14,55, 15,16, 10,52, 21, 9, 27, 4, 47,43, 28,15, 48,50, + 21, 6, 59,26, 57,51, 26,59, 53,21, 32,34, 28,50, 51,37, + 43,48, 47,54, 29,44, 46,29, 14,48, 51,14, 3,44, 8,23, + 17,54, 38,43, 31,14, 39,28, 52,37, 33,25, 7,26, 36,21, + 56,27, 21,39, 5, 2, 21,23, 55,41, 45,12, 30,52, 29,11, + 3,23, 8,34, 0,58, 35, 1, 58,35, 46,17, 58,31, 55,19, + 29,27, 25,53, 27,36, 49, 2, 21,27, 46,35, 51,35, 50,50, + 54, 5, 47,58, 30, 8, 2,50, 15,26, 27,16, 41,43, 22,24, + 36, 2, 59, 9, 16,22, 22,25, 30,55, 48,37, 25,10, 46,26, + 41, 4, 47,44, 4,48, 12,58, 4, 0, 57,33, 10,40, 55, 3, + 6,47, 9,29, 9,53, 40,40, 59,50, 52,11, 19,34, 43, 8, + 39,53, 8,16, 45,34, 17,14, 19,40, 40,57, 8,26, 28,16, + 21, 5, 18,17, 52,18, 37, 8, 28,13, 44, 6, 49,45, 25,23, + 58,49, 2,56, 9,43, 47,47, 59,33, 35,31, 13, 6, 2,52, + 11,40, 3,35, 15,30, 29,59, 18,12, 28,26, 1,37, 2,35, + 54,26, 25,20, 27,39, 9,19, 33,40, 15,45, 4,50, 38,40, + 22, 0, 32,35, 3,31, 2,29, 12, 5, 33,32, 58,43, 2,37, + 16,16, 57,23, 13,57, 22,31, 57,21, 15,31, 27, 2, 3,24, + 17,21, 56,53, 8,44, 46,52, 47,52, 4, 5, 5,35, 50,48, + 3,47, 11,46, 13,47, 33,18, 26, 0, 54,45, 52,13, 27,28, + 29,54, 53,36, 53, 3, 28,18, 29, 8, 50,10, 13,27, 8,49, + 42,38, 18, 1, 35,26, 30,10, 22,23, 37, 4, 28,10, 6,40, + 44,18, 14,33, 7,29, 17,46, 53,59, 36,34, 48, 7, 21,10, + 56,59, 31,38, 21,22, 48,23, 37, 9, 9,21, 48,38, 42,50, + 54, 2, 1,22, 29,30, 14,17, 20,26, 49,26, 12,50, 54,27, + 50, 5, 24,13, 11,10, 48,14, 12,44, 57,18, 30,23, 10,44 +}; +const int p_60_19[] = { + /// Number of people on picture + 60, + /// Number of preferences + 112, + /// Array of preferences + 40,51, 39,15, 55,22, 15,46, 0,37, 43,25, 51,44, 5, 0, + 38,41, 19, 6, 45,56, 19,47, 28,15, 40,47, 54,38, 55,28, + 47,40, 26,45, 35,53, 10,28, 10,35, 12,19, 25, 3, 20,45, + 11,25, 30,23, 55, 0, 44,31, 52,34, 58,20, 45,33, 35,20, + 55,49, 12,15, 49,26, 51,52, 32,25, 4,30, 26, 4, 51,58, + 43, 1, 2,47, 3, 7, 14,43, 7,14, 14,23, 31,44, 11,11, + 13, 6, 46,36, 31,19, 37,52, 20,32, 37,19, 22,55, 2,18, + 2, 8, 44, 6, 15,33, 34, 4, 29,24, 3, 0, 7,41, 6, 5, + 28,43, 28,59, 59,55, 7, 0, 43,30, 54,36, 56,34, 56, 3, + 53, 0, 7,28, 38,54, 58,13, 7,58, 3,52, 35,52, 57, 4, + 36,58, 11,54, 37, 1, 57, 6, 10, 6, 11,21, 37,26, 41,26, + 20,30, 20,17, 23, 9, 34,40, 47,26, 57,23, 58,22, 58,10, + 16, 6, 14, 6, 36,57, 41,10, 58,42, 34,51, 38,14, 31,27, + 35,58, 56,43, 37,25, 33,19, 41,54, 11,55, 25,38, 16,14 +}; +const int p_70_0[] = { + /// Number of people on picture + 70, + /// Number of preferences + 166, + /// Array of preferences + 30,26, 50,22, 25,36, 38,54, 51,45, 28,32, 61,28, 27,63, + 42,22, 65,51, 50, 2, 32,46, 17,20, 69, 4, 38, 6, 49, 9, + 37,24, 59,37, 14, 6, 23, 3, 63,23, 21,65, 18,26, 19,63, + 49,65, 8,61, 32,67, 14,11, 4,68, 9,63, 42,60, 18,43, + 53, 5, 38,26, 9,64, 52,32, 20,31, 44,28, 23,18, 16,47, + 66,67, 58,38, 24,47, 4,58, 12,27, 60,57, 31,30, 15,49, + 16,62, 13,42, 65,61, 58,16, 49,15, 49,63, 51,18, 40,49, + 65, 3, 44,24, 8,40, 47,55, 21,34, 25,69, 39,40, 54,51, + 8,66, 33, 7, 60,13, 42,61, 18,53, 3,12, 52,50, 55, 8, + 5,65, 66,50, 21,43, 7,14, 0,29, 7,49, 10,49, 26, 2, + 46,27, 11,21, 29,46, 64,45, 4,24, 7,28, 55,24, 28,61, + 31,27, 63,15, 18,66, 26,38, 51, 8, 56,22, 29,44, 33,38, + 28,50, 34,52, 1, 5, 53,17, 23, 4, 4,25, 51, 0, 42,34, + 29,59, 48,59, 14,12, 40,26, 35,65, 56,40, 7,36, 67,57, + 21,60, 48,43, 38, 1, 66,58, 47,45, 47, 1, 66, 7, 68,19, + 40,15, 39,58, 57,66, 38,47, 53,44, 39, 6, 6,14, 46,61, + 58,43, 22,65, 23,42, 19,45, 17,13, 43,25, 60,43, 2,11, + 29,67, 54,37, 69,46, 31,63, 67, 3, 34,29, 42,26, 65,40, + 49, 6, 53,13, 50, 1, 2,17, 24,15, 34,66, 48,33, 42,51, + 25,49, 22,54, 41,45, 11,37, 12,38, 19,17, 29, 2, 48, 9, + 14,62, 54, 9, 26,37, 48,13, 10,69, 23, 1 +}; +const int p_70_1[] = { + /// Number of people on picture + 70, + /// Number of preferences + 1145, + /// Array of preferences + 68,47, 41,54, 42, 9, 52,41, 33,25, 45,54, 0,16, 63, 3, + 55,40, 10,23, 33,52, 2,69, 48,31, 3, 2, 18,65, 69, 8, + 10,25, 4,27, 23,16, 39,18, 60, 7, 15,40, 26,69, 43,26, + 0,67, 69,39, 15,26, 20,25, 29,32, 11,48, 10,35, 40,22, + 53,51, 31,41, 66, 1, 41,24, 4,20, 56,45, 40,46, 13,62, + 16,43, 47,38, 47,10, 47, 5, 18,18, 60,20, 22,66, 1,60, + 10, 5, 58,18, 5,37, 11,53, 38, 6, 23,48, 66,31, 51,51, + 20, 2, 11,64, 39, 0, 68,46, 69,37, 37,26, 3, 5, 34,34, + 60,41, 50, 2, 67,19, 4,29, 52,55, 13,54, 29,24, 20,52, + 54,69, 60,21, 18, 8, 65, 4, 27,36, 64,13, 54,20, 12, 0, + 37,33, 49,51, 42,19, 7, 5, 26,50, 28, 8, 37,31, 28,69, + 62,54, 68, 0, 12,62, 45,16, 29,26, 1,33, 50,25, 42,49, + 42,52, 0,32, 47,55, 31,21, 14,64, 34,27, 15,19, 55,45, + 68,23, 38,21, 13,66, 60,44, 68,24, 57, 5, 50,31, 58,39, + 39,11, 34,53, 35,41, 60,14, 9,26, 39, 8, 59, 1, 25,60, + 46,66, 16,69, 5,16, 54,23, 69,16, 21,40, 29,51, 8,17, + 20,41, 26,53, 0,37, 63, 9, 33,20, 34, 9, 46,13, 51, 8, + 32,42, 17,11, 51,24, 9, 2, 45, 8, 3,51, 39,42, 62,10, + 23,40, 44,50, 27,15, 1,45, 41,21, 62,30, 65,53, 18,22, + 9,60, 0,48, 51,45, 0,68, 32,13, 0,41, 35,12, 44,21, + 16, 5, 7,47, 29,28, 15,32, 51,61, 69,65, 40, 2, 21,42, + 37,49, 30, 6, 29,33, 9,43, 67,10, 30,69, 10,10, 6,67, + 52,25, 19,44, 33,36, 21, 1, 68,10, 40,18, 52, 3, 27,51, + 11,46, 3,34, 56,62, 48,18, 12,67, 46,43, 9,64, 36,27, + 55, 6, 9, 8, 13,58, 65,27, 63,32, 36, 5, 16,32, 47,65, + 19,17, 15,16, 42,17, 43,38, 69, 9, 29,63, 36,62, 18,21, + 57, 6, 63,59, 28,25, 67,28, 33,24, 25, 6, 53,44, 9,32, + 32,39, 35,31, 28,16, 43,14, 15,64, 1,57, 63,11, 33,64, + 48,12, 41,29, 51,41, 7,43, 37, 1, 35,67, 58,20, 40,68, + 8,27, 2,28, 8,65, 45, 2, 34,60, 3, 6, 30,48, 48,11, + 50, 1, 42,43, 40, 7, 20,22, 60, 4, 51,34, 35,34, 28, 2, + 18,33, 68,15, 67,44, 38,28, 56,43, 61,18, 35,62, 59,57, + 56,15, 32, 6, 13, 7, 35,21, 45,42, 38,53, 33,48, 45,45, + 15,21, 36,60, 24,39, 63,16, 11,29, 14,26, 19,50, 61,68, + 5,21, 6, 2, 41,28, 25,31, 15,37, 5,31, 48, 2, 52,44, + 67,34, 58,14, 26,14, 63,48, 68,59, 2,46, 10,17, 3,42, + 36,67, 38, 3, 0,15, 63, 2, 29,17, 14,20, 1,65, 44,54, + 60,43, 47,11, 9,48, 8,36, 20,37, 16,51, 22,23, 10,37, + 49,42, 65,52, 9,19, 59,33, 63,66, 5,40, 69,26, 31,10, + 31,52, 60,25, 25,35, 54,57, 21,30, 42,64, 46,61, 40,43, + 17,40, 6,65, 52,58, 27,23, 62,31, 42,51, 52,45, 53,35, + 60,32, 54, 8, 59,67, 16,28, 56,42, 53, 0, 23,53, 68,67, + 40,21, 40,57, 64, 0, 10, 1, 25,16, 21,67, 18, 0, 57,56, + 30,43, 55,41, 2,52, 1,25, 37,39, 32,10, 11,47, 14,36, + 64,26, 53,32, 40,63, 22,63, 9,24, 46,40, 17,26, 12,59, + 63,27, 47,57, 22,20, 27,38, 24,33, 33,22, 12,17, 32, 3, + 19, 6, 44,11, 2, 4, 63,34, 65,44, 56,33, 15,48, 49, 6, + 3,20, 30,68, 44,12, 1,21, 3,36, 54,21, 30,53, 67,46, + 57,58, 19,19, 30, 8, 42,42, 51,63, 20,49, 50, 0, 11, 5, + 66,44, 16,38, 19,52, 36,13, 50,48, 15,54, 33,13, 50,45, + 64,48, 7, 2, 67,20, 25,40, 21,41, 44,59, 68,35, 20, 1, + 38,33, 34,66, 46,64, 61,33, 25,67, 15,28, 67,27, 45,67, + 66,51, 2,11, 42,63, 22, 7, 61,47, 28,36, 69,35, 23,39, + 57,13, 12,42, 58,61, 28,32, 41,57, 46,38, 20,10, 49,56, + 33,62, 54,53, 0,65, 3,29, 9,56, 15, 5, 35,24, 53,33, + 18, 7, 47,60, 24,46, 18,29, 7,10, 5,24, 49,16, 43, 3, + 32, 7, 56,54, 66,24, 48,45, 39,52, 15,52, 46,30, 31,57, + 3,48, 9,40, 53,54, 23,38, 14, 9, 8,32, 51,56, 43,66, + 69,64, 64,19, 34,31, 6,27, 13,27, 19, 1, 7,11, 36,19, + 32,35, 23, 4, 59,48, 4,19, 34,20, 4,16, 24,50, 63,13, + 20, 3, 18,41, 52,65, 0,27, 37,53, 24,44, 56, 8, 67,41, + 50,51, 46,32, 58,52, 25, 3, 15,60, 1, 3, 49,28, 39,43, + 68,37, 54, 1, 47,39, 39,33, 64,61, 69, 5, 58,30, 32,14, + 25,53, 27,39, 17,16, 61,15, 25,32, 19,49, 24,11, 64,46, + 2,22, 43,64, 23,30, 24, 1, 10,15, 52,60, 31,42, 57,46, + 28,24, 21,45, 19, 3, 5,50, 61,44, 48,30, 34,50, 21,13, + 27, 5, 37, 4, 2,13, 66,57, 8, 4, 31,51, 31,50, 44,63, + 15,38, 60,49, 19, 4, 41, 7, 42,67, 5,33, 47,58, 64, 2, + 59,42, 6,11, 60,39, 26,51, 2, 8, 46,68, 65,29, 14,32, + 8,46, 31,48, 22,25, 2,55, 19,60, 36,25, 56,31, 25,11, + 5,35, 62,50, 4,66, 50,29, 6,68, 29,56, 52,66, 31,47, + 14,50, 60,45, 10,51, 44,30, 7,37, 29,58, 0,28, 33,31, + 69,34, 28, 1, 50,58, 51,31, 69,17, 5,32, 47,52, 37,66, + 14,55, 49,32, 12,46, 67,53, 15,34, 64,36, 25, 8, 13,69, + 23,49, 38,54, 60,16, 68,50, 4,21, 28,37, 24, 7, 67,51, + 23,60, 66,22, 8,42, 48,44, 55, 7, 1,23, 57, 3, 20,15, + 17,48, 31,13, 67, 0, 26,68, 60,27, 28,48, 24,19, 60,10, + 46, 6, 64,37, 47,45, 57,12, 10,63, 56,10, 20,26, 14,22, + 32,17, 21,29, 2,25, 3,14, 44,27, 27,24, 4,67, 62,55, + 68,14, 56,64, 59,60, 37,46, 17,18, 5,25, 37,65, 1,24, + 31,61, 31, 7, 25,13, 63,44, 38,13, 37, 7, 30,58, 17, 3, + 20,34, 46, 3, 43,31, 25,61, 19,47, 32,18, 35, 8, 36,55, + 52,63, 16,23, 1, 7, 26,23, 46,48, 1,61, 46,41, 24,56, + 8,53, 48,16, 44,22, 43, 9, 50,23, 36,49, 24,63, 48,24, + 45,22, 27,25, 28, 6, 65,26, 66,12, 50, 4, 54,66, 25,46, + 44,41, 1,69, 61, 4, 31,36, 58,43, 43,13, 3, 0, 5,62, + 45,44, 27,29, 22,19, 40,59, 19,12, 34,10, 3,69, 21,12, + 50,47, 32, 0, 21,65, 33, 0, 16,56, 45, 9, 62,39, 37,25, + 4,14, 61,61, 63,33, 42,44, 63,47, 14,65, 33,28, 36,42, + 30,32, 25,59, 20,30, 37,42, 53,66, 33,38, 44,36, 36,33, + 41, 3, 28,59, 44,43, 36,50, 0,61, 6,62, 48,17, 20,31, + 53,10, 55,36, 44,19, 40,17, 61,65, 55,26, 62,26, 7,19, + 61,66, 42,61, 47,67, 53,53, 45,49, 25,66, 24,57, 56,48, + 60,54, 5,42, 40,45, 6,26, 66,15, 22,26, 47, 4, 27,59, + 32,51, 65,43, 63, 4, 8,69, 31,33, 20,48, 35,27, 50,33, + 52,36, 35,22, 41,22, 22, 1, 63,58, 24,54, 24,61, 48,69, + 15,58, 17,46, 54,62, 67,17, 9,59, 14,66, 15,47, 20,69, + 48,19, 33,11, 7,27, 59,62, 65,13, 1,66, 21, 9, 24,35, + 15,41, 66,66, 64,53, 69,54, 42, 7, 7,61, 46,59, 11,43, + 51,35, 46,47, 0,10, 55,56, 31,29, 26, 1, 22,14, 52,23, + 31,60, 57,19, 55, 0, 63,43, 28,14, 53,24, 63,26, 57,64, + 32,41, 49, 8, 30,34, 63,14, 37,52, 38,50, 24, 8, 14,14, + 54,39, 50,65, 56,51, 69,40, 66, 5, 33,60, 57, 7, 4, 9, + 18,13, 34,40, 41,36, 6,10, 9,10, 56,37, 22,24, 61,20, + 14,39, 8,10, 19, 2, 28,42, 37,62, 39,46, 18,57, 32, 2, + 50,55, 19,33, 60,11, 24,14, 20,51, 33,27, 50,13, 32,59, + 12,52, 41,49, 4,46, 35, 3, 38,61, 66,48, 43, 4, 34, 4, + 29,10, 26,57, 23,31, 16,10, 39,17, 19,20, 17,28, 20,14, + 1,37, 3,27, 60,67, 41,31, 12,57, 39,23, 49,60, 35,32, + 2,61, 17,23, 18,31, 57,69, 60,68, 68,54, 35,28, 7,67, + 7,40, 57,16, 33,45, 35,63, 0, 2, 63,15, 52,61, 34,33, + 54,27, 66,25, 49,12, 59,45, 41, 4, 62,64, 66,16, 37,35, + 32,27, 32,12, 41, 1, 7,66, 36,45, 42,20, 4,62, 62,35, + 64,11, 34, 0, 46,26, 51,10, 1,13, 41,25, 29,40, 7,29, + 17,66, 60,51, 34,11, 32,32, 59,12, 69,33, 43,33, 68,66, + 12,61, 13,31, 19,15, 8, 1, 7,36, 69,11, 63,12, 20,18, + 8,40, 67,25, 0,31, 6,23, 7,52, 43,51, 19,11, 69, 0, + 3,53, 18, 1, 67,69, 21,33, 18,12, 24,45, 60,55, 20,35, + 47,29, 20,20, 6,47, 52,37, 67,15, 11,52, 9,18, 38,25, + 55,47, 60,42, 53, 1, 16, 7, 22,35, 17,42, 23,12, 0,43, + 46,60, 15,68, 40,39, 62,23, 27,48, 37,45, 7,14, 52,49, + 63,55, 16,61, 43,41, 34,15, 61, 1, 17,29, 55,46, 39,68, + 69,12, 41,65, 42,31, 16,42, 38,58, 68,20, 38,63, 54,17, + 44,10, 40,29, 13,15, 68,32, 64,22, 33,16, 17,61, 29,48, + 35,61, 68,55, 14, 3, 58, 4, 47,12, 2,27, 37,43, 53,65, + 22,27, 54,55, 11,66, 25,45, 43,24, 14,53, 46,54, 46,31, + 2,23, 48, 9, 51, 9, 52,22, 20,39, 14,42, 3,28, 58, 8, + 53,38, 60,40, 37,41, 48,65, 40,28, 55, 2, 5,12, 9,13, + 4,17, 31,49, 25,17, 45,59, 45,63, 30,42, 21,52, 45,37, + 17,20, 46,62, 45,30, 7,38, 58, 0, 39,13, 49,48, 8,25, + 37,61, 58,12, 68,60, 26,66, 12,35, 44, 1, 20,23, 0,47, + 45,24, 63,56, 0, 3, 49,13, 6, 1, 38,48, 37,34, 18,11, + 64,28, 56,16, 6,24, 25,68, 54,68, 53,55, 37,24, 13,42, + 28,38, 58,38, 8,62, 9,16, 67, 2, 26,35, 27, 9, 40,30, + 26,27, 8,33, 13,25, 43,62, 47,37, 8,31, 15,46, 18,23, + 65,37, 25,56, 4,40, 21,17, 62, 6, 16,24, 67,50, 55, 1, + 3, 4, 10,56, 29,55, 34,58, 12,60, 38,43, 53,64, 2,49, + 13,49, 60,28, 60,62, 54,63, 56,66, 25,52, 48,49, 51,20, + 69,38, 17,30, 30,38, 37, 8, 3,66, 14,12, 16, 2, 60,17, + 13,18, 11,65, 11,23, 19,51, 36,66, 16,34, 15,17, 12,45, + 65,32, 8,54, 41,43, 7,68, 41, 5, 59,22, 10,16, 23,27, + 56,57, 10,22, 10,47, 1,47, 65,24, 31,15, 14,44, 3,56, + 28,26, 59,28, 59, 3, 59,65, 31,18, 15,61, 53,49, 21,64, + 7,21 +}; +const int p_70_2[] = { + /// Number of people on picture + 70, + /// Number of preferences + 638, + /// Array of preferences + 14,51, 62,23, 69,66, 2,66, 20, 9, 53,40, 63,44, 4,18, + 50,36, 56,63, 0,44, 6,47, 5,40, 23,22, 52,14, 53, 8, + 1, 0, 58,48, 51,45, 20,16, 12,68, 8,13, 31,16, 50,61, + 65,60, 41,17, 51, 7, 67,46, 55,36, 25,33, 48,40, 68,35, + 39,28, 26,63, 17,23, 58,23, 31,12, 40,50, 1, 1, 57,27, + 27,63, 41,57, 43, 5, 15,52, 67,33, 62,52, 52,38, 1,40, + 67,57, 28,21, 7, 4, 20,20, 38,30, 42,68, 62,48, 28,61, + 53,18, 21,21, 10,45, 0,11, 23,36, 10,68, 57, 1, 42,31, + 49,32, 30,63, 13,44, 64,28, 33,62, 31,61, 54,60, 41,28, + 34,17, 7,51, 17,51, 66, 5, 41,29, 5,38, 47,44, 39, 9, + 19, 4, 6,20, 31,24, 14,67, 31,63, 8, 8, 14,41, 52,49, + 45, 1, 13,30, 49,52, 69, 3, 34, 2, 56,23, 44,15, 27,51, + 65, 6, 24, 2, 53,39, 37,16, 17,37, 6,64, 42,54, 16,64, + 35,12, 46, 0, 15,14, 31, 3, 19,66, 12,55, 1,19, 4,23, + 3,66, 40,58, 52,18, 49,21, 54,21, 9,36, 2,46, 34,54, + 9,11, 28,42, 12,45, 65,41, 10,31, 28,49, 67,54, 9,13, + 27,48, 14,29, 35,20, 57, 7, 45,33, 11,29, 42,16, 25, 0, + 68,40, 17,43, 53,64, 3,54, 30,64, 48, 2, 54,30, 18, 3, + 66, 6, 26,65, 54,22, 56, 8, 35,23, 65,30, 19,39, 39,20, + 46,28, 45,25, 27,68, 13, 7, 4,53, 65,29, 50,64, 22,31, + 17,45, 24,22, 44,10, 38,15, 51, 9, 51,44, 68,48, 43,67, + 68,47, 14,65, 44,53, 32, 7, 57,57, 53,23, 37, 7, 11,12, + 56,27, 10,56, 65, 9, 50, 4, 34,44, 0,12, 20, 6, 42, 9, + 29,40, 28,17, 24,59, 1,56, 69, 9, 32,30, 54,33, 3,39, + 56,53, 0,63, 54,42, 8,16, 68,30, 16,53, 53,27, 10,61, + 40, 9, 1,51, 36,39, 4,58, 59,53, 5, 3, 11,47, 41,63, + 3,57, 64,53, 17,28, 39,31, 49,23, 44,25, 21,10, 33, 9, + 52, 5, 23,64, 24,68, 38,65, 57,64, 4,49, 50,41, 6,33, + 33,34, 37, 8, 31,47, 31,40, 10,10, 44,48, 41,26, 60, 9, + 17,52, 13,60, 13,19, 22,55, 12,13, 3,46, 64,55, 27,44, + 62,26, 56,56, 4,38, 28,67, 11,36, 27,40, 5,42, 21,33, + 18,28, 33,39, 32,43, 27,62, 24,21, 18,26, 67, 8, 62, 4, + 18,19, 41,11, 23,66, 6,38, 2,21, 62,30, 5,48, 26,66, + 6, 3, 8,68, 45,20, 47,56, 57, 9, 59,42, 60,54, 67,22, + 14,12, 3, 3, 47,15, 29,48, 49,39, 8,41, 68,29, 15,45, + 40,26, 1,47, 55,62, 32,66, 18,66, 17,69, 24,12, 58,53, + 57,10, 59,66, 62, 9, 38,66, 33, 1, 27,49, 35,66, 65,64, + 25,19, 67,17, 37,54, 22,34, 5,35, 54,18, 37,61, 46,62, + 54,62, 48,12, 15,59, 3,51, 21,52, 7,39, 1,49, 48,50, + 15,25, 13,17, 47,10, 51,46, 46,39, 33,52, 18,12, 19,21, + 4,13, 57,37, 62,61, 55,31, 45,34, 53,38, 63,22, 56,17, + 28,32, 36,35, 69,11, 59,39, 50,15, 16,69, 21, 0, 33,18, + 18, 7, 26,10, 13,29, 36,41, 43,46, 44, 0, 27,36, 45,16, + 52, 2, 57,26, 36,61, 45, 7, 45,46, 22,20, 64,36, 56,54, + 51,63, 15,44, 16,24, 22,54, 26,29, 28,27, 55, 2, 50,57, + 36,42, 27,10, 52,35, 53,33, 15,38, 1,29, 42, 4, 6,63, + 36,13, 31, 8, 5, 9, 5,34, 4, 6, 27, 8, 69,10, 57,55, + 29,12, 68,21, 23, 9, 49,48, 46,43, 4,68, 34,21, 0,27, + 13,50, 63,35, 24,33, 66,49, 33, 4, 65,45, 34,58, 55,30, + 21,30, 25,18, 31,17, 58, 6, 4,33, 7,28, 43,68, 57,48, + 57,39, 3,60, 38,17, 46,10, 37,63, 49,43, 5,44, 22, 8, + 10,33, 43,48, 32,23, 20, 8, 61,30, 35,30, 57,20, 1,35, + 15,49, 37,65, 37,33, 53,34, 18,25, 69,62, 57, 4, 53,52, + 35,44, 23, 2, 16,11, 7,38, 28, 9, 56, 1, 56,29, 37,24, + 42,12, 48, 6, 53,58, 20,38, 30,14, 50,13, 27,32, 62,21, + 44,59, 45,56, 9, 7, 57,66, 55, 9, 37,13, 5, 5, 28,68, + 7,24, 22, 7, 26,20, 53,69, 13,41, 1,10, 16,22, 38,31, + 36,33, 58,66, 34,65, 5,59, 12,53, 68, 2, 12,25, 51,41, + 42,11, 32,55, 53, 4, 26,28, 0,36, 66,37, 17,58, 25,34, + 28, 4, 40,53, 4,21, 26, 3, 26,33, 19,25, 19,52, 5,52, + 19,37, 67,44, 28,56, 53,14, 12, 5, 29,66, 65,46, 0,15, + 9,50, 58,43, 50,56, 60,56, 44, 8, 36,47, 45,65, 6,13, + 44, 9, 46,54, 54, 4, 1,63, 9, 6, 29,69, 53,35, 39,26, + 54,11, 34,53, 11, 5, 18, 4, 37,53, 15, 9, 45,15, 57, 6, + 60, 5, 36, 8, 47,11, 40,14, 10,42, 64, 4, 61,50, 58,10, + 65,18, 47,26, 62,55, 56,59, 39,65, 40,55, 1,65, 18,60, + 47,21, 29,39, 28,34, 4,56, 57,59, 46,48, 40,38, 49,24, + 32,42, 0,35, 19,22, 41,50, 31,51, 59,40, 49,17, 58,15, + 42,20, 45,40, 42,13, 32,20, 17,18, 14,47, 10,29, 24,27, + 52,22, 59, 7, 61,23, 5, 6, 12,69, 50,12, 28,16, 42,15, + 3,35, 45,59, 12,23, 29,33, 51, 8, 16,13, 29,60, 4,42, + 8,10, 65,55, 30,10, 29,54, 42,37, 22,63, 32,68, 6,69, + 38, 1, 61,11, 20,45, 44, 6, 18,29, 20,39, 51,29, 62,34, + 28,10, 18,45, 51,65, 48,38, 9,43, 4,22, 57,47, 34,35, + 21,40, 20,44, 55,51, 53,36, 60,23, 29, 2, 12,46, 60, 4, + 59,20, 0,16, 7,57, 27,29, 56,30, 24,17, 60,45, 48,17, + 52,57, 7,18, 29,34, 18,37, 47,39, 66,28, 66,18, 59,30, + 27,34, 39, 0, 47,52, 13,37, 28,43, 12,34, 26,26, 24,16, + 29,17, 43,63, 32,34, 46,26, 39, 3, 4,17, 8,22, 68, 0, + 9, 1, 67, 0, 18,35, 6,18, 36,27, 10,40 +}; +const int p_70_3[] = { + /// Number of people on picture + 70, + /// Number of preferences + 960, + /// Array of preferences + 37,51, 56, 3, 40,14, 64,16, 41, 4, 64,38, 28,36, 55,15, + 17,53, 43,59, 36,43, 11, 6, 58,42, 37,60, 9,69, 63,64, + 64, 1, 60,23, 62,32, 61,19, 51,18, 7,62, 6, 4, 67,59, + 52, 2, 69,67, 16,17, 51,15, 27, 7, 22,51, 56,54, 67,64, + 47,32, 26,36, 53,32, 69,27, 67, 8, 29,21, 12,49, 1,14, + 55,55, 16,58, 52,45, 44,67, 16,65, 49,19, 13,15, 8,28, + 48, 2, 7,53, 6,40, 3,52, 58,53, 11,31, 61,22, 39,58, + 2,28, 26,34, 40,41, 24,65, 18,45, 15,44, 38,54, 17,64, + 67,65, 27,58, 31,58, 26,37, 0,29, 44, 8, 35,65, 13,52, + 5,63, 19,52, 38,44, 44,23, 16,60, 26,31, 27, 1, 35,37, + 7,43, 30,65, 25,49, 19,23, 63,45, 53,44, 51,67, 65,27, + 51,69, 63,62, 40,61, 40,66, 31,38, 13,35, 34,47, 19,45, + 46,47, 54,66, 51,46, 13, 6, 52,42, 17,69, 39,52, 35,46, + 10,19, 23,63, 20,23, 24,33, 68,18, 31, 9, 42,14, 5,34, + 3,13, 3,12, 2, 7, 49,26, 58,47, 10,10, 5,22, 68,46, + 58, 3, 13,67, 25, 2, 6,41, 48, 7, 2,37, 6,14, 60,66, + 60,12, 51,64, 1,26, 39,56, 12,64, 35,54, 27,33, 68,35, + 22, 9, 53, 0, 31,12, 19,55, 24,58, 51,13, 15,35, 10,35, + 21, 8, 27,20, 27,52, 34,26, 19,32, 8,55, 24,38, 61,11, + 41,24, 39,67, 58,69, 32,18, 49,34, 5,20, 0,66, 13, 3, + 23,49, 63, 9, 67,51, 3,43, 19,11, 65,17, 67,66, 31,50, + 21,55, 35,16, 22,32, 63,44, 20,10, 28,27, 50,44, 43,49, + 41,18, 48,64, 18,67, 38,55, 54,42, 5,15, 62,41, 9,40, + 58,46, 6,31, 38,19, 57,29, 21,36, 67,48, 68, 5, 34,20, + 37,67, 36,55, 64,34, 18, 1, 2,56, 42,27, 56,51, 5,55, + 63,38, 34,15, 5,66, 24,29, 49,14, 59,20, 52,65, 14, 9, + 4,17, 18,11, 50,56, 37,18, 54,34, 46,28, 41,50, 49, 0, + 4,36, 66,25, 6,68, 3,31, 35, 7, 17, 4, 32,53, 22, 2, + 14,60, 64, 2, 39,37, 8,64, 69,15, 43,57, 26,46, 39,61, + 69,49, 11,40, 39,21, 66,21, 40,15, 19,50, 11, 3, 45,20, + 35,50, 21,25, 57,40, 32,14, 12,15, 45,32, 13,60, 55,36, + 20,63, 33,61, 51,14, 67,12, 50,11, 64,12, 44,16, 7,10, + 12, 0, 26, 8, 68, 6, 62,13, 48,44, 60,69, 54,41, 44,30, + 30,56, 24,54, 6,49, 47,66, 57,58, 5, 3, 37,63, 7,20, + 34, 2, 0,11, 18,36, 15,16, 25,38, 23,44, 10,48, 52,54, + 38, 1, 55,47, 8,17, 51, 3, 5,45, 61,27, 50,16, 65,60, + 62,65, 35,55, 32, 0, 12,68, 5,52, 14,53, 44,42, 64,47, + 8,27, 63,69, 57,17, 56,40, 39, 9, 38,52, 30,31, 48,10, + 22,39, 12, 7, 48,34, 53,63, 26, 9, 2,41, 32,48, 1, 1, + 66, 5, 68,23, 59,32, 26, 0, 47,46, 24,68, 58,14, 3,37, + 69,10, 46,48, 42,35, 31,69, 55,56, 67,69, 14,12, 1,22, + 5,32, 20,56, 11,43, 53,62, 57, 2, 27,67, 0,64, 46,56, + 23, 9, 30,14, 54,58, 3,63, 2,25, 42,13, 30, 9, 26,49, + 64, 7, 12, 5, 41,57, 1,43, 51,45, 2,22, 14,26, 47, 0, + 41,41, 44,35, 6,24, 0,27, 3,59, 16,50, 12,12, 4,14, + 19,10, 26,64, 23,45, 57,52, 59,35, 46,55, 37,11, 46,17, + 23,15, 40,59, 54,15, 1,34, 44,63, 21,23, 14,35, 38,26, + 23,65, 43,21, 20,57, 34,60, 7,14, 51,19, 67,22, 15, 4, + 35,12, 35,47, 31,22, 9,22, 43,64, 31,62, 3,36, 27,40, + 2,68, 36,19, 25, 1, 17,30, 12,24, 15,65, 51,58, 68,66, + 43,40, 45,12, 21,32, 69, 7, 54,60, 28,67, 45,43, 10,27, + 38,31, 57,67, 39,41, 27,37, 49,33, 50,49, 6, 6, 13,14, + 34,44, 69,36, 49,56, 10,26, 28,60, 0,36, 45,56, 48,26, + 1,13, 58, 8, 38,34, 1,57, 14,49, 17,19, 42,31, 20, 0, + 30,63, 66, 0, 27,43, 5,26, 34,54, 59,13, 30,19, 61,43, + 35,45, 62,31, 13,22, 7,47, 36,36, 33,22, 17,57, 66,52, + 5,33, 62,54, 15, 6, 9,47, 42,50, 51,17, 27,24, 35,66, + 35,14, 11, 9, 43,29, 61, 0, 20,60, 43,26, 63,49, 37,54, + 64,45, 52,35, 61,10, 9,50, 28,30, 25, 5, 26,15, 6,18, + 14,25, 39,36, 55,33, 45,63, 61,32, 68,21, 16, 6, 7,65, + 23,29, 18,53, 55,44, 51,53, 16,22, 65,34, 44,41, 2,33, + 26,32, 48, 6, 42,45, 60,46, 34,11, 43,46, 52,28, 48,28, + 51,25, 3,62, 54,46, 59,66, 56,20, 11,47, 26,13, 43,67, + 64,10, 1, 2, 68, 4, 55,60, 6,42, 34,22, 13,27, 54, 2, + 38,11, 48,12, 20,64, 23,42, 41,11, 56,52, 47,69, 8,68, + 17,52, 26,17, 68,43, 28,20, 14,51, 6,13, 46,51, 7,30, + 41,10, 41,49, 50,59, 33,42, 28,55, 32,15, 26,20, 41,34, + 12,42, 15,45, 2, 4, 30,34, 21,61, 21,11, 45,68, 8,16, + 69,16, 44,52, 0,26, 66,26, 69,64, 37,38, 22,10, 18,41, + 0, 1, 33,47, 34, 5, 52,17, 61,40, 6,20, 57,10, 17, 7, + 15,28, 16,28, 32,16, 29,31, 23,18, 53, 5, 46,33, 66,51, + 1,42, 20,28, 48,65, 13,61, 69,63, 34, 4, 62,67, 68,12, + 61,25, 38,16, 43,62, 32,11, 28,46, 38,22, 56,62, 30,25, + 5,25, 68,40, 48,17, 43,69, 50,20, 50,19, 58,32, 49,66, + 30,59, 32,37, 45,37, 30,29, 28,42, 20,30, 49,12, 68,67, + 33, 3, 30,27, 25,59, 34,10, 17,68, 9,48, 42, 4, 24,39, + 13,65, 30, 4, 40,21, 23,12, 68, 7, 29,47, 36,35, 62,44, + 10,68, 49,45, 14,27, 2,11, 36,60, 46,31, 28,19, 16,18, + 13,42, 51,54, 29,34, 7,21, 60,17, 1,33, 16,54, 39,60, + 67, 1, 15,20, 27, 9, 41,32, 56,65, 49,38, 5,29, 42,23, + 50,25, 23,37, 28,53, 32,13, 22,64, 56,19, 30,43, 16,38, + 19, 6, 17,63, 62,23, 2,64, 14,14, 53,14, 68,31, 16,26, + 6,50, 51,26, 67,35, 45,51, 19,60, 2,48, 25,27, 24,30, + 55,64, 2,54, 61,33, 62,68, 10,61, 41,66, 68,54, 0,40, + 20,43, 43,36, 64, 8, 39,54, 23,34, 26,26, 64, 0, 47,57, + 58,23, 56,33, 22,18, 51,42, 23,10, 9,23, 43,53, 2,57, + 7,61, 49,69, 2,19, 36,63, 45,21, 47,18, 44,25, 38, 8, + 69,40, 37,37, 26, 2, 40,23, 37,24, 33,11, 26,30, 34,67, + 49, 8, 16,41, 47,36, 7, 7, 31,55, 16,32, 28,39, 14,46, + 8,31, 28,56, 44, 7, 64,54, 58,35, 58,21, 15,49, 60,44, + 23,38, 28, 3, 51,34, 36,65, 11,35, 46,61, 53,57, 12,60, + 47,28, 29,42, 42,44, 68,26, 3,39, 12,34, 58,25, 12, 2, + 9,57, 35,15, 57,31, 33,43, 64,60, 67,39, 32,56, 60,11, + 60,64, 13,29, 4,61, 32,65, 53,26, 46, 5, 55,24, 66, 8, + 62,62, 3,24, 60,40, 51,61, 8,49, 18,25, 69,24, 24,32, + 45,36, 2,20, 16,47, 65,59, 14,48, 18, 2, 61,42, 7,23, + 9,43, 1,50, 1,44, 56,49, 40,65, 8,33, 63,58, 42,25, + 21,49, 30,30, 41, 6, 59,36, 23,66, 23,57, 34, 6, 40, 9, + 22,26, 10,39, 47,38, 59,18, 44,27, 4, 4, 59,68, 34,35, + 37, 0, 66,39, 36,45, 52,69, 21,30, 33,38, 10,65, 38,57, + 63, 4, 3, 3, 43,60, 64,11, 37,61, 43,55, 69,61, 21,22, + 9,21, 29,65, 46, 4, 46, 8, 5,48, 60,22, 24,53, 11,57, + 65,16, 29,68, 22,40, 32, 5, 39,29, 61,47, 13,62, 33,25, + 59,37, 39,16, 29,15, 48,59, 19, 2, 61,53, 26, 5, 19,20, + 9,51, 18,15, 41,12, 17, 5, 56,17, 53,30, 24,18, 10,11, + 60,62, 60,56, 43,17, 61, 4, 26,62, 12,43, 38,56, 6,63, + 18,34, 15,62, 21,15, 52,44, 36,26, 64,43, 54,65, 47,41, + 55,37, 15,37, 3,55, 49,57, 4,44, 68,15, 37,49, 48,33, + 42,10, 15,13, 22,48, 53,10, 42, 0, 53,58, 58,20, 20,14, + 49,44, 11,37, 8,13, 64,13, 24,25, 41,59, 24,59, 49,64, + 40,31, 16,19, 42,33, 68,68, 28,29, 56,61, 62,52, 69,13, + 0,55, 8, 2, 19,59, 11,48, 26, 7, 5,35, 24,57, 3,27, + 42,46, 12, 6, 62,66, 51,55, 8,45, 45,58, 45,10, 61,58, + 61,14, 58,36, 32,41, 29,12, 31, 8, 60,26, 27,49, 49,36, + 48,35, 14,40, 9,30, 1,10, 2,34, 38,53, 37,59, 6,30, + 2,49, 25,64, 19, 3, 30, 0, 5,68, 21,62, 31,16, 65,18, + 69,17, 59,65, 37,56, 4,56, 63,46, 0,30, 27, 2, 10,57, + 27,53, 23,11, 39,40, 32,25, 42,39, 54, 9, 14,65, 57,41, + 60,29, 53,16, 22,46, 12,16, 39, 0, 23,62, 38,45, 42,40, + 45,13, 14,41, 35, 2, 10,54, 69, 5, 22, 5, 14,66, 48,62 +}; +const int p_70_4[] = { + /// Number of people on picture + 70, + /// Number of preferences + 167, + /// Array of preferences + 69,68, 41,64, 26,43, 4,40, 1, 7, 17,53, 65,57, 68,23, + 15,41, 54,48, 22,25, 19,37, 5,52, 59,35, 67,13, 47,41, + 65,68, 60,17, 26,40, 59,18, 0,13, 47,45, 22, 2, 24,39, + 39,49, 4,26, 8,41, 40,60, 18,62, 31,30, 59,10, 0,27, + 26,28, 12,46, 51,14, 1,59, 19, 2, 62, 4, 55,19, 37,44, + 48,50, 15, 8, 34,61, 16, 3, 12,45, 44,10, 2,40, 24,33, + 39,42, 40,18, 48,45, 53,67, 64,16, 16, 6, 65,58, 14,37, + 58,39, 39,14, 6,62, 39,25, 53,51, 9,49, 48,48, 26,34, + 17,37, 0,35, 49, 2, 19,18, 19,65, 62, 8, 65,23, 0,10, + 69,24, 33, 1, 26,25, 26,31, 23,45, 16,68, 65,39, 67,61, + 3, 9, 61, 8, 23,27, 7,14, 37,34, 55,41, 59,43, 60,51, + 66, 4, 54,18, 63,29, 29,21, 1,47, 22,11, 24,21, 32,39, + 16,30, 34,17, 11,14, 19,25, 44, 8, 4,35, 2,67, 13,49, + 15,55, 52, 9, 28,14, 24, 0, 54,58, 13,37, 60,10, 53,17, + 33,41, 40,68, 65,31, 58,19, 45,48, 3,14, 22,26, 48,43, + 18,55, 50,25, 16,45, 66,19, 50,69, 20,69, 50,18, 44, 9, + 65,17, 25,44, 19,57, 68,58, 28,46, 61,18, 4,62, 16,57, + 40,19, 36,64, 1,26, 59,63, 25,63, 12,20, 57,19, 51,17, + 16,18, 54,20, 40,35, 41,59, 13,67, 5,35, 54,66, 53,64, + 62,54, 16,65, 69,27, 61,54, 66,37, 63,45, 4,57, 54,13, + 33,43, 16,50, 33,14, 18,51, 25,59, 37,66, 33,29 +}; +const int p_70_5[] = { + /// Number of people on picture + 70, + /// Number of preferences + 165, + /// Array of preferences + 67, 1, 69,54, 48,14, 28, 8, 33,33, 63,64, 38,37, 23,68, + 38,40, 11,35, 14,20, 66,10, 31,47, 13,20, 23, 2, 27,58, + 34,53, 12,53, 34,15, 33, 4, 5,41, 40,47, 30,54, 35,67, + 66,37, 29,34, 7,50, 25,43, 29, 9, 18,63, 32, 5, 50,56, + 6,66, 25,15, 3, 6, 39,49, 69,43, 21,69, 69,57, 61,15, + 60,49, 37,12, 7,62, 56,39, 15,29, 63,20, 66,69, 32,48, + 8,58, 33,13, 27,62, 64,30, 54,53, 53, 2, 63,28, 0,11, + 55, 9, 11,52, 42,65, 67,67, 63,14, 59,67, 30,39, 12,25, + 53,49, 25,27, 62, 2, 15,52, 49,19, 33, 9, 42,54, 51,24, + 7,41, 33,27, 44,50, 41,54, 40,39, 23,29, 37,18, 11,24, + 33,49, 63,41, 16,38, 49,29, 50,28, 58,66, 68,67, 62,56, + 22, 7, 30,24, 48,15, 59, 6, 18,29, 63,66, 54,30, 57, 7, + 45, 2, 21,43, 62,49, 43,41, 66, 3, 46,38, 5, 2, 26, 8, + 24,57, 9,66, 13,43, 12,37, 4,50, 68,64, 14,33, 45,10, + 4, 9, 20, 3, 47,28, 64,36, 54,67, 15,57, 22,67, 35,32, + 51,14, 51,37, 7,58, 60,59, 50,58, 7,26, 55,38, 21,20, + 22,23, 21,36, 1, 5, 24, 3, 48,26, 61, 2, 64,10, 38,66, + 49,51, 55,52, 40,53, 1,10, 11, 7, 47,19, 16,39, 42,58, + 62,41, 68,14, 53,44, 14,46, 56,40, 48,47, 5,48, 60,23, + 23,20, 28,27, 46,33, 64, 5, 34,50, 44,10, 10,15, 9,22, + 57,44, 33,36, 33,39, 26,57, 46,46 +}; +const int p_70_6[] = { + /// Number of people on picture + 70, + /// Number of preferences + 919, + /// Array of preferences + 4,33, 8,27, 21, 4, 17,49, 61,59, 19,30, 65, 5, 53,64, + 47,36, 10,43, 28, 1, 55,29, 7,62, 42,30, 40,68, 45,59, + 32,38, 49,65, 4,54, 62,45, 51,29, 18,38, 21,31, 0,53, + 45,47, 61,34, 33,12, 4,11, 37,13, 13, 5, 7,40, 31,32, + 38,60, 52,41, 20,40, 4,42, 5,17, 11,64, 52, 6, 45,40, + 11,11, 43,14, 17,17, 43,30, 37,28, 46,67, 36,53, 3,14, + 61,54, 24, 0, 6,21, 10, 2, 29,60, 41,55, 16, 7, 62,54, + 43,44, 0,11, 33,55, 22,43, 49,29, 44,59, 65,27, 16,60, + 64,18, 26,40, 68,21, 55, 3, 21, 6, 41,59, 23,26, 68,60, + 52,16, 64,40, 63, 9, 54,17, 34, 7, 13,54, 15,56, 4,46, + 63, 1, 48,52, 53,25, 38,27, 56,19, 41,42, 14,26, 15,38, + 6,26, 3,64, 0,61, 34,62, 19,58, 58,33, 61,13, 30, 0, + 28,34, 36,68, 8,66, 41,44, 34,58, 30, 6, 39,48, 33,10, + 50, 4, 64,58, 12,44, 57, 8, 16,40, 45,46, 21,25, 69,68, + 53,16, 66, 9, 4, 6, 12,14, 35,36, 11,21, 22,18, 17,14, + 13,29, 2,12, 63,40, 32, 6, 40,59, 27,16, 7,44, 56,12, + 51,31, 55,25, 38,31, 20,64, 1,40, 52,48, 32,63, 27,69, + 32,24, 2,27, 43,26, 45,31, 8,59, 28,67, 33,61, 9,69, + 7,50, 38, 1, 56,51, 48,27, 49,31, 11,22, 51,17, 21,29, + 44,18, 54,11, 53,19, 55,54, 51,65, 32,31, 57,37, 0, 7, + 61, 7, 28,47, 24,62, 2,47, 11,14, 68,46, 34,56, 47,52, + 61,63, 15,14, 37,58, 59,28, 39,46, 18,58, 7,49, 3,11, + 43, 9, 25,11, 47, 1, 23,25, 65,17, 12,58, 14,30, 20, 1, + 15,60, 24,16, 22, 7, 33,21, 53,54, 42,45, 62,57, 25,57, + 60,59, 28,15, 28,27, 69,49, 58,39, 49,14, 15,65, 69,34, + 42,50, 66,38, 65,38, 17,43, 33,60, 50,26, 66,12, 36,16, + 60,68, 12,20, 9,46, 31,49, 65,46, 21,20, 13,32, 4,44, + 30,53, 22,23, 68,69, 30,58, 5,12, 14,22, 39,11, 6,23, + 17,24, 37,29, 48, 9, 42,16, 17,29, 28,49, 55,42, 20,52, + 69,17, 26,10, 55,47, 54,34, 62,11, 51,45, 12,26, 35,49, + 0,18, 37,36, 3,68, 31,19, 57,11, 28,52, 10,13, 26,33, + 3,61, 6,24, 30,31, 27, 8, 13, 8, 49,67, 67,29, 27,35, + 67,44, 27, 2, 29,26, 68,50, 66,23, 61, 0, 21,21, 3,43, + 12,11, 27,13, 48,40, 51,35, 39,66, 51,57, 44,27, 11,47, + 42,10, 10,35, 33,38, 66,44, 69,32, 2,56, 16, 1, 30,67, + 53, 3, 31,27, 15,63, 6, 0, 12,52, 61,22, 8,28, 19, 9, + 38,55, 40,56, 13,33, 30,51, 63,14, 57, 5, 0, 0, 4,35, + 33,68, 41,48, 26,45, 64,53, 58,11, 10,39, 16,57, 1,44, + 17,25, 1,21, 41,28, 26,55, 15,64, 23, 0, 62,69, 16,45, + 1,19, 24,58, 18,26, 31,66, 28,13, 47,12, 34,59, 36,55, + 11, 6, 26,23, 54, 7, 40,32, 23,36, 18,46, 48,19, 31, 2, + 41,61, 43,63, 53,61, 60, 3, 60,23, 34, 9, 52,21, 35,14, + 19,37, 14,54, 51,10, 37,55, 60,16, 28,21, 54,38, 16,36, + 66, 6, 8,41, 39,33, 20, 2, 68, 5, 28,51, 49, 0, 40,54, + 31,60, 46,41, 6,15, 53,66, 36,61, 58,20, 66,50, 58,60, + 58,42, 26,30, 3,67, 5, 2, 65,64, 20,32, 48,24, 58,34, + 32,45, 50,19, 34,44, 44,25, 12,18, 43,36, 28, 8, 69,57, + 59,23, 19,33, 37,17, 41,37, 42,22, 27,57, 49,23, 7,10, + 68,49, 4,19, 19,17, 7,51, 7,42, 38,45, 30,23, 27,34, + 35,33, 69,19, 59, 1, 33,58, 20, 8, 42,12, 57,29, 19, 3, + 57,62, 49,52, 51,68, 44,32, 6,56, 24,63, 36, 6, 28,66, + 1,24, 23,31, 24, 3, 49,62, 1,55, 44,12, 41,67, 27,52, + 53,65, 28,44, 33,20, 45,25, 36,19, 12,24, 10,66, 13,23, + 13, 2, 24,43, 52, 0, 4,38, 28,50, 5,47, 37, 0, 54,24, + 67,21, 66,63, 47, 2, 17, 2, 31,47, 6,40, 66,41, 36,28, + 14,20, 50,18, 21,18, 65,48, 40,15, 59,17, 39,13, 14,58, + 9,65, 15,23, 2,49, 12,67, 9,11, 59,55, 36,65, 46,45, + 1,10, 51,52, 33,30, 7,58, 43,32, 69,35, 61,20, 1, 6, + 17,26, 49,40, 8,38, 18, 4, 4,60, 37,30, 15, 9, 56, 7, + 62,47, 63,30, 37,57, 32,58, 14,47, 53,51, 18,22, 53,21, + 26,64, 21,15, 39,43, 6,48, 58,37, 35,21, 16,52, 21,66, + 40,30, 61,15, 54,50, 32,50, 4,39, 15, 5, 50,54, 21, 9, + 14,43, 41,19, 27,11, 1,23, 21,13, 66,62, 36,29, 11,29, + 5,44, 57,43, 56,47, 6,66, 53,20, 2,57, 59, 0, 44,61, + 11,45, 8,45, 47,45, 19,21, 6,20, 53, 6, 35,17, 40, 8, + 45,48, 23,45, 45,29, 9,55, 48,66, 48,58, 20,41, 29,51, + 49,45, 30,49, 32,51, 30,18, 59,24, 65, 2, 20,62, 55, 6, + 57,63, 6,31, 41,53, 24,23, 42,24, 58,12, 56, 5, 54,55, + 24,29, 14,23, 47,61, 46,49, 46, 9, 65,55, 59,25, 32,23, + 49,43, 14,29, 45,23, 47,49, 30,54, 12,64, 2, 1, 58, 8, + 51,43, 7,46, 14, 9, 57,41, 50,63, 19,38, 62,10, 27,56, + 69,51, 50,64, 33,66, 47,38, 19,57, 44,10, 58,47, 42,37, + 65,16, 6,59, 32,55, 59,20, 3, 0, 58,22, 60, 9, 40, 0, + 58,25, 34, 1, 6,51, 39, 2, 48,18, 28,16, 38,47, 39,34, + 65,47, 41,13, 49,55, 26,17, 4, 0, 23, 9, 42,19, 1,14, + 29,58, 36,49, 36,31, 40,65, 9,68, 37,26, 8,24, 53,18, + 38,63, 11,42, 7,68, 1,30, 35,59, 38,53, 62,35, 29,31, + 44,45, 64,63, 27,63, 2,54, 41,16, 25,48, 8,48, 36,13, + 4, 4, 51,58, 45,62, 19,68, 31, 8, 10,62, 7,27, 67, 3, + 42,28, 65,69, 37,39, 56,22, 5,40, 2,32, 53,22, 7,45, + 27, 5, 18,31, 55,14, 6,63, 49,34, 38, 3, 16,24, 29,67, + 28,56, 68,10, 25,23, 50,30, 4, 7, 37,38, 62, 7, 45, 9, + 5,27, 41,30, 64,20, 68,19, 57,42, 2,41, 15,62, 53,35, + 49,21, 55,48, 45, 1, 5,55, 45,34, 47,57, 52, 9, 53, 8, + 69,29, 6,22, 46, 7, 37,62, 37,46, 16,23, 35,26, 27,32, + 25, 6, 24,10, 49,41, 58,67, 30,68, 38, 0, 26,27, 51, 9, + 69,40, 6,60, 54,28, 37,53, 44,39, 69,28, 30,13, 22, 2, + 62,44, 60,18, 20,67, 53,36, 19,44, 65,43, 26,66, 48, 2, + 45,19, 42,60, 55,69, 68,45, 1, 7, 23,32, 39,19, 23,49, + 33,57, 16,28, 38,44, 22, 1, 36,27, 48,29, 20,34, 3,21, + 57,34, 31,55, 25,31, 63,32, 40, 4, 18,23, 64,56, 4,50, + 64,23, 35,27, 8,30, 69,37, 58, 1, 39,15, 17,63, 42, 0, + 67,53, 46,26, 69,69, 1, 1, 63,49, 43,11, 59, 3, 66,37, + 13,39, 41,49, 36,18, 20, 0, 58,19, 40,50, 66,16, 56,23, + 51,66, 7,55, 49,28, 16,46, 10, 7, 16,16, 11, 1, 8,29, + 39,64, 25,18, 17,21, 21,19, 17,42, 67,57, 9,26, 49, 9, + 58,30, 67,40, 46, 3, 24, 5, 59,27, 4,62, 15,24, 39, 9, + 6,14, 19,60, 48,67, 11,54, 9,21, 24,65, 29, 2, 65,18, + 44,44, 14,51, 38,33, 60,36, 2,23, 24,54, 11,33, 36, 4, + 67,64, 30,44, 46,34, 55,56, 3,27, 3,63, 2,60, 23,17, + 7,31, 49,61, 19,24, 4,40, 52,17, 43,69, 41, 4, 57, 4, + 43,19, 56,26, 56,60, 27,60, 3,49, 68,32, 23, 4, 38,25, + 11,49, 11,34, 36,36, 42, 6, 19,27, 31,30, 48, 4, 37,67, + 67,20, 44,68, 37,45, 60, 6, 31,23, 36,48, 22,58, 31,61, + 28,53, 48,65, 26, 2, 64,21, 22,21, 66,47, 39, 5, 8,25, + 41,20, 6,62, 9,33, 54,43, 56,40, 22, 5, 62,59, 50,61, + 24, 9, 45,37, 23,58, 48,15, 18, 8, 44,55, 67,12, 33, 4, + 52,24, 48, 0, 63,46, 62,55, 6,65, 62,19, 29,25, 9,60, + 8, 8, 15,11, 18,37, 19,56, 42,42, 66,13, 38,39, 25,13, + 43,27, 44,64, 67,34, 31,11, 4,27, 28, 4, 21,57, 25,66, + 48,60, 58, 6, 67,32, 18,20, 35,41, 1,43, 32,41, 54,35, + 32,69, 59,46, 47, 3, 35,44, 54,53, 12,48, 15,10, 60,27, + 27, 3, 40,29, 46,60, 7,38, 30,15, 2,59, 39,16, 29, 0, + 10,56, 20,55, 59,19, 51,25, 47,65, 30,32, 48,54, 49,42, + 11,43, 66,19, 5, 6, 8,65, 25,36, 66,49, 18,66 +}; +const int p_70_7[] = { + /// Number of people on picture + 70, + /// Number of preferences + 539, + /// Array of preferences + 46,59, 22, 8, 31,29, 33,17, 12,24, 24, 7, 67,69, 65, 7, + 67,53, 3,19, 54,54, 12,54, 42,23, 39, 9, 45,49, 21,19, + 50,54, 8,53, 21,26, 30,20, 11,19, 26,29, 14,21, 54,69, + 50,30, 46,50, 65,46, 47,51, 1, 9, 38, 6, 48,63, 59,67, + 38, 4, 10,68, 67,22, 68,58, 1,32, 39, 0, 23, 7, 36,14, + 38,14, 6,55, 69,18, 13,66, 8,14, 5,20, 45,23, 1,50, + 23,23, 63, 0, 8,52, 60,51, 42, 7, 55,47, 10,60, 54,57, + 4,51, 1,65, 34,63, 66,51, 42,68, 57,23, 69,27, 44,38, + 17,20, 44,50, 55,44, 18,21, 50, 5, 50,52, 17, 4, 50,40, + 56,24, 68, 1, 3,15, 5, 8, 59,31, 59,23, 34,14, 34,10, + 43,28, 28,26, 43,56, 68, 6, 49, 3, 25,18, 12, 7, 59,11, + 12, 2, 2,37, 40,31, 18,28, 48,64, 1,54, 18,63, 18,25, + 30,16, 36,43, 14, 4, 53,13, 24,69, 26,36, 4,17, 40,68, + 25,28, 60,42, 53,57, 47,52, 35,57, 40,32, 60,66, 3,43, + 12,31, 9, 5, 16,13, 25,47, 43,59, 9, 0, 22,50, 63,10, + 33,66, 23,32, 42,63, 3, 0, 54,39, 29,58, 7,35, 25,40, + 69,44, 52,55, 3,58, 37, 2, 52, 7, 46,35, 32,52, 25,21, + 54,58, 57,13, 13,52, 8,10, 0, 9, 0,29, 15,21, 51,54, + 59,46, 57, 8, 59,39, 30,55, 40,42, 36,58, 16,35, 6, 8, + 11,21, 47,55, 26,68, 52, 0, 50,29, 25,29, 60, 4, 39,13, + 9,23, 7,22, 67, 6, 65,11, 54,42, 25,24, 34,60, 34,46, + 12,67, 5,16, 52,28, 65,16, 42,41, 28,37, 48, 7, 21, 3, + 9,40, 48,20, 56,67, 4,50, 9,25, 69,52, 50,31, 10, 7, + 17,63, 38,22, 25,27, 40,65, 55,55, 36,51, 40,29, 12,11, + 19,48, 14,11, 23,48, 45,30, 37,42, 67,62, 27,49, 15,34, + 20,21, 36,30, 45,62, 0,11, 8,25, 33,62, 32,19, 45,40, + 23,50, 45,51, 34,61, 4,47, 67,21, 28,46, 46,33, 8,68, + 9,62, 33,53, 45,26, 7,26, 14,23, 51,17, 51,59, 52,53, + 8,30, 15,53, 52, 8, 47,17, 27,54, 5,47, 58,37, 52,65, + 11,30, 43,20, 38,42, 15,42, 36,36, 1,46, 69,19, 2,48, + 6,53, 24,43, 40,69, 16,21, 0,56, 15,32, 66,16, 19,50, + 3,52, 16,16, 2,49, 37, 6, 4,21, 69,68, 65,27, 31,25, + 8,32, 18,58, 59,45, 32,63, 37,59, 61,31, 60,12, 36, 4, + 13,15, 51,45, 46,67, 63, 7, 5,33, 26,35, 46,26, 57,46, + 49,65, 52,48, 9,39, 36,19, 32,16, 28,32, 34,58, 36,39, + 27,50, 10,54, 16,68, 11, 1, 55,16, 2,29, 0,64, 27, 1, + 54,64, 44,41, 56, 9, 57,69, 50,22, 41, 7, 40,28, 52,38, + 40,64, 4,52, 7,51, 37,18, 9,44, 2,11, 21,27, 37,69, + 24,11, 22,68, 46, 1, 35,42, 68,55, 49,69, 19,11, 53, 7, + 6,62, 20,68, 0, 0, 62,20, 45,28, 68,57, 20,45, 0,51, + 32,65, 11,17, 65,61, 57,68, 5,34, 5,60, 52,63, 32,40, + 35,13, 28,30, 7,41, 31,50, 45,61, 61,25, 6,14, 66,53, + 62,21, 63,16, 31,39, 31,53, 33, 8, 0,10, 14,36, 6,16, + 10,33, 14,48, 57,48, 34, 4, 4,43, 43,55, 14,27, 53,47, + 34,24, 61,20, 7,20, 21,69, 0,68, 20,57, 39,33, 43,43, + 10,49, 28,15, 2,44, 28,40, 68,51, 60,50, 65, 9, 58, 5, + 28,44, 44,59, 8,58, 61,36, 26,52, 27,62, 59,17, 26,61, + 6,48, 27, 7, 30,13, 19,17, 12, 3, 23,20, 50,42, 22,39, + 43,11, 52,17, 34,25, 50, 2, 29,10, 40,58, 23,15, 6,66, + 8,26, 57,63, 7,17, 20,18, 44,67, 59,55, 38,60, 29,46, + 25,69, 67,57, 51,28, 4, 5, 44,11, 58,59, 23,52, 12,48, + 38,66, 52,18, 66,13, 51,69, 42,56, 16,23, 15,60, 22,64, + 32,66, 7,64, 16, 0, 45,24, 25,32, 38,54, 5,31, 12,13, + 14,49, 64,64, 52,20, 53,38, 61,44, 68,28, 66,42, 7,10, + 40,37, 38,44, 59,42, 45,13, 37,37, 58,35, 62,52, 13,34, + 32,51, 53,60, 55,66, 49,14, 22,33, 1,44, 47,62, 26,14, + 14,44, 17,67, 62,69, 36,65, 7,25, 60,43, 37, 8, 68,45, + 69,38, 18,48, 14,14, 9,48, 27,34, 18, 4, 3,49, 22, 2, + 12,45, 9,50, 36,50, 69,24, 38,17, 38,56, 30,14, 40,41, + 46, 7, 58,27, 57,19, 31, 3, 22,11, 62,17, 67,44, 10,36, + 41, 5, 37,46, 13,18, 11,52, 14,63, 40, 3, 30,52, 27,17, + 45,58, 48,38, 22,18, 20, 1, 51, 1, 57,52, 18,13, 56,22, + 16, 2, 12, 8, 66, 1, 45,43, 28,35, 63,35, 16,47, 56,12, + 43,52, 25,60, 21,55, 59,20, 0,34, 47,41, 7,40, 31,59, + 49,61, 31, 1, 48,46, 33,67, 37,61, 7,56, 4,57, 5,57, + 10,28, 16,32, 59,26, 37,51, 39,68, 55,60, 45,66, 27,21, + 42,61, 50, 6, 40,21, 15,19, 45,12, 59,15, 49,56, 14,10, + 38,51, 52,47, 19,26 +}; +const int p_70_8[] = { + /// Number of people on picture + 70, + /// Number of preferences + 836, + /// Array of preferences + 8,52, 20, 3, 65,50, 17,46, 20,35, 65,45, 43,47, 33,36, + 8,54, 64,31, 21,43, 29,28, 58,45, 9,61, 15,30, 65,64, + 62,23, 6,20, 22,14, 2,51, 5,44, 31,31, 19,16, 52,31, + 24,43, 38,48, 54, 3, 27,66, 16,36, 14,28, 34,32, 6,61, + 6,17, 29, 1, 42,29, 2,57, 61,55, 61,56, 25,23, 5,69, + 35,46, 5,54, 12,39, 57,20, 31,21, 24,12, 60, 5, 27,50, + 33,64, 43,53, 35,65, 26,10, 62,29, 29,21, 56,65, 59,15, + 29,37, 27,36, 69,59, 59,66, 5,15, 63,60, 26,18, 61,69, + 61,41, 56, 4, 49,37, 14,35, 65,58, 69, 9, 61,10, 13,24, + 42,66, 19,17, 35,27, 7,64, 40,42, 51,27, 18,48, 34,54, + 57,22, 9,40, 4,45, 51,65, 15,63, 45,19, 18,18, 43, 0, + 34,31, 65,29, 23,50, 23,69, 68,40, 51,31, 63,21, 12, 6, + 42,33, 61,14, 61,57, 69,65, 8,63, 38,10, 30,62, 54, 7, + 12,10, 30,56, 46,61, 28,52, 14, 4, 45,29, 40,13, 50,19, + 62,11, 16,29, 44,53, 47,29, 48,54, 53,21, 4,32, 6,47, + 13,38, 13,39, 11,39, 6,28, 12,32, 61,28, 51,53, 54,61, + 40,43, 65,49, 27,21, 55, 9, 11,68, 2,21, 3,29, 49,17, + 54,24, 54,20, 12,50, 53,22, 25,19, 38,58, 50,15, 32,54, + 54, 9, 31,50, 8,21, 37,68, 46,37, 27,40, 38, 8, 53, 4, + 41,55, 40,38, 35,30, 28, 9, 1,54, 45,60, 54,50, 40,21, + 58, 0, 12,26, 58,67, 58,27, 32,23, 48,34, 47,46, 63, 8, + 69,38, 8,22, 26, 2, 28,28, 32, 9, 25,44, 35,21, 5,11, + 29,56, 47,17, 39,26, 49,35, 59,52, 44,22, 69,53, 56,42, + 25,21, 69,20, 41,22, 69,27, 29,45, 33, 1, 28, 1, 25,68, + 5,62, 65,40, 21,49, 57, 2, 60,25, 60,15, 51,66, 34,43, + 47,60, 21,40, 50,66, 66,43, 55,34, 4,47, 20,32, 69, 1, + 25,26, 41,61, 37,61, 47,19, 6,13, 33,69, 26,60, 64,48, + 26, 0, 57,41, 11,46, 29,19, 17,58, 54,19, 41,15, 6, 5, + 68,41, 39,21, 44,31, 47,22, 13,32, 62,22, 20,40, 68,47, + 15,13, 60,65, 19,22, 69,47, 9,59, 57,62, 67,21, 1,38, + 1,23, 62,49, 47,40, 16, 6, 53,12, 22,12, 63,48, 1,28, + 64,27, 6,35, 12,27, 42,42, 41,54, 50,21, 40,32, 55,16, + 69,61, 8,51, 38,13, 35,22, 12,49, 39,32, 5,34, 17,22, + 30,31, 11,42, 68,37, 58, 9, 45,31, 4,43, 50, 0, 56,62, + 8,49, 3,32, 50,64, 39,39, 29,24, 43,69, 29,27, 3,57, + 9,34, 59,27, 13,45, 55,53, 47,56, 48,50, 55, 7, 68,58, + 2,24, 68,67, 49,69, 49,34, 58,31, 63,16, 14,19, 45,26, + 50,18, 36,51, 58,34, 37,32, 37,27, 36,41, 49,21, 28,62, + 67, 7, 25,43, 55,55, 29, 7, 17,61, 69,23, 10,28, 49,45, + 24, 1, 20,17, 21,26, 49,12, 61,36, 37,41, 52,53, 24,32, + 8,24, 46,49, 7,61, 6,48, 35,53, 22,26, 52,67, 68,66, + 61,66, 18,35, 52,57, 13,52, 69,21, 17,30, 3,39, 27, 5, + 51,57, 52,69, 47, 5, 9,69, 50,17, 31,28, 54,18, 15,69, + 11,14, 44,11, 45,52, 54, 8, 14, 6, 6,49, 9,48, 18,57, + 11,52, 54,43, 41, 5, 29,35, 24,65, 9,28, 7, 6, 69,13, + 58,47, 38,16, 57,10, 64,12, 37, 3, 5,33, 15,18, 38,28, + 17, 4, 37,49, 43,57, 56,19, 43,11, 13,55, 64, 9, 43, 7, + 4, 5, 66,66, 23,22, 12,46, 39,61, 40, 4, 61,60, 38,38, + 47,35, 63,29, 55,50, 23,40, 30,23, 53,59, 36,69, 12,40, + 6,52, 2,18, 63,41, 20,61, 19,30, 34,42, 7,11, 56, 7, + 17,28, 8,23, 49,20, 12,62, 44,55, 60,37, 67,13, 15,16, + 31,56, 17,69, 19, 3, 21, 1, 58,52, 50,27, 58,15, 53, 7, + 59,42, 62,20, 39,62, 56,24, 4,23, 23,44, 47,63, 60,32, + 37,21, 58,39, 4,60, 24,45, 33,55, 64,64, 31,30, 69,37, + 3, 6, 15,11, 46,26, 13,48, 56,27, 65,23, 67, 2, 58,51, + 25,27, 32,66, 47,42, 1,61, 33, 3, 18,17, 44, 3, 34,64, + 68,24, 69,26, 64,62, 27, 0, 7,41, 48,18, 19, 7, 28,50, + 53, 5, 43,65, 39,24, 66,58, 2,28, 10,32, 62,16, 0, 3, + 51,25, 58,28, 37,59, 32,43, 44,23, 46,40, 23,42, 61,37, + 68,46, 56,52, 55,46, 17, 7, 9,37, 39,41, 51,16, 17,45, + 2, 9, 39,51, 22, 5, 43,42, 26,66, 10,47, 5,68, 15,37, + 5, 1, 60,55, 19,67, 57,58, 48,16, 38,41, 40,22, 6,65, + 40,36, 58,30, 48,51, 36, 5, 49,25, 12,37, 36,46, 27,47, + 40,68, 36, 8, 30,40, 32,62, 16,10, 53,51, 57,28, 2,34, + 42,13, 52,38, 33,30, 67,42, 2,60, 21,13, 35,38, 10, 4, + 25, 6, 25,67, 53,61, 45,57, 30,25, 60, 4, 39,52, 32,14, + 67,48, 36,38, 30,44, 45,13, 43,52, 52,49, 44,34, 32,36, + 27,39, 5,26, 68,34, 54,36, 29, 0, 24,55, 62,59, 17,62, + 15,48, 50,33, 68,54, 3,35, 27,49, 32,19, 66, 4, 52,26, + 66,41, 30,51, 11,34, 67,51, 10,67, 2,49, 2,67, 23,52, + 19,39, 14,42, 52,62, 6,43, 67,66, 65,41, 53,35, 45,61, + 34, 8, 64, 0, 3,18, 52,23, 25, 5, 67,52, 2,50, 29,54, + 67,40, 0,43, 30,55, 1,29, 21,14, 15,27, 3,50, 23, 9, + 30,58, 5,66, 39,43, 66,47, 37,47, 53, 1, 52,60, 3,28, + 50,28, 44,27, 62,35, 32,12, 36,50, 12,45, 45,64, 49,57, + 33,42, 38,22, 11,28, 45, 6, 44,10, 61,53, 6,54, 19,40, + 39, 3, 44,41, 52,64, 65,27, 55, 4, 20,28, 63, 2, 18,37, + 14,26, 51,13, 22, 8, 15,52, 59,25, 69, 8, 23,53, 29, 9, + 26,30, 44,15, 34,39, 8, 8, 16,50, 20,25, 66,16, 12,25, + 16,25, 6, 6, 42, 0, 20,58, 62,31, 7,65, 40,51, 3,44, + 33,12, 43,60, 46,62, 45,67, 33,44, 38,36, 6,29, 6,19, + 17,59, 62, 5, 39,35, 46,67, 25,62, 49,54, 31,32, 67,36, + 42,43, 59,22, 1,39, 2,56, 53, 9, 16, 3, 55,15, 17,54, + 8,46, 22,16, 36,66, 27, 6, 0,40, 46,39, 21, 7, 12,54, + 52,15, 7,46, 62,51, 17,39, 0,15, 11,51, 50, 1, 27,16, + 3,37, 52, 3, 45,32, 62,10, 38,68, 23,16, 7,51, 41,41, + 36,16, 62,58, 48,59, 5,36, 5,55, 46,14, 60, 9, 49,55, + 40,37, 25,51, 25,11, 5,58, 36,15, 16,14, 24,47, 46,50, + 32,42, 16,45, 40,67, 67,68, 23, 0, 43,55, 47,23, 48,21, + 51,48, 39,64, 31, 4, 4,19, 69,29, 24,46, 59,28, 7,24, + 29,63, 15, 3, 26, 7, 0, 1, 55,32, 49,15, 47,25, 50,39, + 36,23, 39,68, 45,51, 69, 7, 29,29, 67,37, 20,56, 27,41, + 46, 7, 20,12, 57, 5, 54,11, 62,18, 45,66, 39,60, 50,37, + 61,52, 26,22, 68,18, 64,17, 49,36, 48, 6, 17,53, 36,25, + 14,66, 16, 4, 9,31, 43,68, 4, 0, 43,67, 1,57, 44, 2, + 53,25, 15,21, 28,12, 20,38, 55,61, 32,17, 41,32, 3,22, + 25,53, 20,45, 27, 3, 49,59, 54,31, 26,48, 67,30, 37,56, + 50,56, 31,20, 33,63, 41,51, 45, 3, 57,17, 21,52, 36,32, + 43,16, 50,49, 28,35, 8,45, 31,52, 7,18, 16,20, 36,26, + 11,18, 1,49, 10,27, 38,51, 25,14, 2,46, 6,10, 0,54, + 18,65, 37,23, 41,49, 39, 5, 61,58, 22,60, 23, 7, 42, 1, + 4,48, 64,39, 39,28, 59,40, 47, 3, 61, 5, 37,54, 7,34, + 42,18, 4,26, 44,18, 17, 3, 17,33, 7,20, 32,63, 54,44, + 23,27, 40,58, 68,55, 32, 8, 25,49, 65,44, 12,59, 53,62, + 42,56, 68,14, 68,62, 11,53 +}; +const int p_70_9[] = { + /// Number of people on picture + 70, + /// Number of preferences + 772, + /// Array of preferences + 28,65, 54,16, 64,45, 28,14, 68, 5, 1,67, 60,50, 67,51, + 22, 2, 27,32, 69,21, 10,61, 26,15, 25,66, 45,23, 59,51, + 35,39, 18,11, 55, 5, 59,27, 69,33, 69, 4, 69,60, 58,20, + 61,69, 31,19, 10,27, 11,38, 48,40, 69,23, 49,35, 41,21, + 59,22, 61,67, 5,30, 6,63, 33,63, 33,40, 19,52, 45,28, + 41,35, 42,59, 22,46, 22, 1, 19,21, 35,58, 69,43, 43,19, + 15,30, 15,48, 17, 1, 60,16, 21,48, 61, 5, 38,55, 59, 5, + 18,24, 38,48, 59,40, 46,23, 61,61, 24,60, 32,26, 61,52, + 15,55, 41,46, 49,30, 45,18, 36, 6, 6,17, 61,19, 33,68, + 14,64, 64,29, 11,65, 51,26, 21,13, 40, 4, 2,23, 5,33, + 24, 4, 61,56, 4,63, 29,69, 61,38, 29,47, 48,50, 39,65, + 33,67, 49,58, 61,53, 53,14, 64,10, 69,27, 67,25, 14, 4, + 23,32, 41,32, 61,64, 15,12, 31,22, 61,48, 66,29, 69, 1, + 64, 6, 37, 0, 1,56, 43,14, 58,58, 5,62, 16,58, 34,44, + 14,15, 53,42, 53,21, 12,29, 51,50, 43, 0, 45, 3, 30,41, + 39,44, 9,47, 15,47, 22,55, 64, 8, 33,48, 68,22, 44,59, + 47, 4, 17,29, 20,58, 30, 9, 40,34, 13, 5, 10,34, 65,42, + 37,13, 17,65, 47,43, 47,20, 3,35, 15,14, 65,69, 51,65, + 4,27, 16, 6, 0,66, 41,27, 32,19, 57,17, 11,43, 22,62, + 9,27, 68,45, 31,51, 10, 5, 52,22, 32,10, 46,20, 37,43, + 22,26, 41,31, 27,67, 54,42, 63,51, 51,44, 16,49, 57,52, + 17,20, 58, 6, 27,60, 35,20, 17,53, 67,43, 26,10, 15, 6, + 46, 7, 44,42, 40,42, 36, 2, 45,67, 63, 6, 63, 4, 46,41, + 51,12, 40,30, 26,55, 34, 1, 18, 5, 32,38, 44,27, 46,13, + 39,14, 55,56, 59,46, 8,68, 42,32, 55,52, 63,62, 4, 8, + 65,23, 23,19, 37,37, 58,42, 9,32, 42, 6, 22,15, 52,19, + 33, 8, 6,50, 52,67, 67,33, 40,28, 33,55, 41, 5, 58, 1, + 53,63, 50,65, 60,29, 49,32, 9,65, 2,56, 56,59, 23,53, + 42,23, 6,26, 3, 8, 59,31, 38,69, 8,35, 19,40, 69,53, + 40,62, 42,67, 21,30, 22,27, 27,35, 10,66, 21,52, 36,34, + 53,39, 7,36, 62,48, 42,25, 64,30, 14,58, 24,57, 62,67, + 26,54, 56,16, 37,53, 27, 5, 49,49, 62,27, 54, 9, 57,41, + 54, 0, 8,37, 67,68, 49,55, 34,62, 13,21, 56, 9, 7,43, + 19, 8, 68,31, 41,10, 20,12, 55,23, 59,13, 38, 1, 1,15, + 25,26, 4,28, 13,17, 17,68, 26, 5, 34,22, 11,50, 5,16, + 44,32, 40,56, 69, 9, 38,57, 56,52, 40,12, 41,69, 34,47, + 64,48, 36,31, 23,59, 46,57, 11,27, 1,28, 25,29, 35, 8, + 6,14, 60,40, 40,18, 54,57, 62, 8, 19, 0, 29,25, 23,34, + 10,63, 5, 9, 27,11, 36,46, 48,55, 39,39, 28,22, 36,54, + 5,10, 12,20, 23,14, 8,57, 50, 2, 42,14, 4,59, 15,41, + 14,50, 58,22, 10,65, 18,37, 4,29, 52,60, 34,43, 59, 6, + 41,40, 4,56, 22,37, 44,35, 41,51, 13,59, 23,44, 6,28, + 9,66, 64, 7, 7,59, 48,44, 7, 7, 59,58, 66,38, 47,35, + 26, 0, 68,10, 1,23, 1,59, 51,59, 24,51, 37,38, 16,34, + 56,37, 3, 0, 39,22, 26, 9, 23,63, 15,39, 27,10, 68,21, + 51,54, 27,42, 17,22, 49,44, 5,64, 56, 4, 27,59, 48,35, + 17,47, 0,51, 61,40, 48, 7, 34,66, 25,37, 49,59, 42, 9, + 26,12, 7,38, 65, 0, 44,12, 0,58, 44,21, 62, 5, 20,41, + 67,65, 64,38, 18,61, 2,69, 27,44, 17,33, 28, 6, 64,50, + 21,27, 49,52, 53,38, 65,24, 56,12, 69, 5, 10,50, 31,40, + 49, 1, 67,53, 61,47, 5, 7, 20, 5, 27,23, 19,63, 3,60, + 9, 9, 9,34, 61,23, 66,28, 33,47, 22,12, 41,34, 9,67, + 33,54, 66,16, 9,28, 16,46, 33,13, 38,65, 7,58, 53,15, + 5, 1, 30,28, 5,34, 35,25, 52,18, 27, 8, 35,59, 12,60, + 49,54, 20,63, 22,51, 16,51, 53,61, 6,19, 61,29, 46,16, + 8,30, 25,19, 62,40, 54,62, 13, 6, 32,51, 11, 6, 7,37, + 9,43, 5,44, 53,16, 62,61, 51, 4, 35,47, 47,22, 67,57, + 2,32, 62,33, 25,42, 11,23, 42,15, 31,53, 65,17, 64,14, + 1,41, 16,40, 69,37, 50,32, 48, 1, 64,28, 50, 4, 18,45, + 32,67, 11,34, 1, 8, 30, 8, 30,58, 62,37, 31,17, 44, 7, + 66,23, 15,62, 35,42, 17,10, 35,21, 43,35, 59,30, 52,55, + 47,52, 44,39, 25,58, 31,64, 14,32, 40, 7, 28,59, 60,35, + 0,69, 21, 8, 47,62, 48,15, 45,21, 10, 9, 41,50, 46,42, + 48,12, 36,52, 59, 1, 38, 0, 40, 8, 22,59, 27,63, 28,63, + 38,25, 2, 4, 62,41, 41,42, 40,15, 10,45, 20,16, 2,38, + 44,54, 64,49, 44,13, 41,68, 53,64, 10,56, 60,28, 53,57, + 50,23, 65,11, 58,18, 29,39, 18,55, 39, 8, 65,36, 53,44, + 3,44, 33,24, 35, 5, 27,50, 6,57, 5,22, 63,53, 31,11, + 32,32, 7,32, 32,33, 43,20, 37, 6, 4,36, 48, 4, 52,33, + 6,42, 24,52, 50,40, 53,47, 59, 8, 14,66, 44,60, 64,20, + 46, 3, 63,34, 67,26, 5,53, 23,28, 37,59, 56,29, 43,18, + 46,11, 38,51, 23,10, 25,17, 18,63, 2,57, 23,69, 15,38, + 1, 4, 15,64, 16,44, 2,27, 24, 6, 38,60, 51,40, 51,11, + 5,47, 42, 2, 17,19, 31,60, 62,64, 62,38, 59,60, 16,39, + 17,60, 55,48, 8,22, 17,38, 8,23, 21,24, 65,37, 18,17, + 58,45, 42,43, 65, 8, 59,14, 7,16, 65,53, 7, 4, 50,29, + 11,20, 39,15, 39,29, 5,41, 66, 0, 57,39, 35,52, 18,12, + 16,69, 51,48, 18,27, 6,41, 64,37, 41,20, 25,20, 50,39, + 58,16, 22,52, 1, 9, 48, 0, 11,11, 4,26, 25, 3, 50, 3, + 23, 9, 6,60, 69,26, 64,21, 38, 9, 34, 7, 6,47, 43,63, + 19,66, 23,54, 8,31, 64,33, 57, 5, 26,23, 51,38, 58,47, + 68,53, 42,56, 56,56, 36, 5, 9,15, 20,30, 67,60, 22,32, + 60,67, 17, 7, 1,44, 32,30, 9,18, 51,47, 10,55, 65,52, + 48,10, 57, 1, 17,67, 39,64, 28,69, 68, 8, 52,20, 19,29, + 32, 7, 10,59, 66, 3, 46,33, 32,36, 20,27, 43,15, 68,28, + 43,13, 54,15, 49,15, 65,46, 25,12, 1,54, 32,12, 68,63, + 57,48, 24,49, 31,25, 58,65, 56, 0, 21,62, 50,14, 55,12, + 49,60, 49,61, 3,31, 33, 4, 0,68, 65,65, 16, 1, 28, 5, + 34,63, 7,13, 50,11, 37,41, 47,11, 62,53, 52,37, 18,68, + 18, 7, 54, 1, 52, 2, 36, 9, 4,22, 41,22, 31,54, 55,11, + 36,50, 40, 5, 11,35, 49,12, 39,27, 55,54, 34,20, 7,31, + 2,18, 19, 7, 51, 2, 13,56, 51,69, 29,23, 63,48, 38,40, + 38,39, 14,14, 66,27, 20, 4, 64, 2, 49,62, 56,32, 26,45, + 8,14, 15,17, 6,15, 14,27, 38,27, 16,67, 63, 0, 21,61, + 33,21, 39,23, 13,42, 60, 3, 68,36, 12,46, 60,52, 59,44, + 12,25, 66,48, 47,65, 55,40, 42,58, 8,52, 38,37, 39,51, + 65, 9, 23,26, 42,11, 18,30 +}; +const int p_70_10[] = { + /// Number of people on picture + 70, + /// Number of preferences + 790, + /// Array of preferences + 41,67, 1, 3, 46,48, 32,59, 23,30, 34,26, 39,29, 20,63, + 35,64, 58, 7, 60,41, 26,24, 61,24, 69,21, 15, 9, 45,14, + 3,64, 64, 4, 52,45, 28,12, 61,48, 51,40, 44,51, 51,29, + 28, 9, 20, 3, 47,19, 28,14, 53,58, 52,34, 15,47, 12,48, + 28,28, 61,39, 5,27, 42,48, 2,23, 35, 3, 56,20, 6,45, + 67,69, 68,60, 61,49, 57, 2, 24,31, 38,26, 22, 3, 14,65, + 2,53, 60,50, 59,24, 24,12, 41,18, 19, 9, 27,15, 49,12, + 3,37, 3,36, 41,24, 59,47, 51,30, 40, 7, 38,43, 64,27, + 30,51, 38,12, 31,25, 6,61, 63, 8, 64,13, 18,11, 49,14, + 27,12, 36,38, 58,13, 50,53, 36,51, 21,50, 51,31, 48,57, + 24,68, 40,50, 8,34, 13,41, 58,15, 58,27, 45,10, 11,37, + 24,55, 66,26, 58, 8, 37,32, 66,59, 4,14, 18,15, 11,68, + 33,12, 5,34, 28,33, 56, 0, 26,65, 66,58, 29,12, 1,39, + 20,27, 35, 9, 11,33, 40,61, 15,57, 67,59, 47,40, 54,46, + 9,21, 35,27, 33, 1, 20,16, 56,64, 39,30, 57,62, 60,42, + 15,48, 24,45, 23,49, 13,37, 59,35, 61, 3, 45, 8, 6,58, + 65, 4, 0,28, 34,53, 27,17, 21,67, 60,47, 34,29, 40, 3, + 60, 6, 25, 3, 47,65, 35,47, 11,35, 49,46, 44,36, 50, 3, + 43,32, 0, 5, 53,15, 65,59, 67, 1, 34,51, 21, 8, 2, 7, + 49, 2, 44, 3, 63,57, 26,39, 33,34, 27,19, 21,27, 23,66, + 19,62, 54,65, 63,35, 39, 3, 15,41, 22,63, 1, 8, 9,12, + 61, 1, 57, 7, 68,68, 43,59, 65, 2, 10,20, 64,30, 35,53, + 22,41, 55,56, 11,50, 67,27, 19,26, 18,36, 66,39, 25,41, + 34,56, 25,46, 15,12, 44,58, 55,34, 29,63, 23, 1, 0,42, + 17,59, 13, 3, 22,17, 28,41, 55,67, 3,20, 11,45, 19,24, + 67,66, 3,38, 7, 1, 17, 9, 43,58, 60,69, 51,49, 32,45, + 58,14, 54,21, 0,45, 67,48, 49, 4, 29, 1, 24,40, 22,56, + 24,63, 37,63, 64,31, 48, 9, 15, 7, 15,69, 59,40, 17,56, + 50,34, 2,15, 5,51, 26, 5, 47,22, 61,52, 13,42, 63,48, + 34,34, 34,46, 59, 7, 60, 9, 62,34, 54,36, 32, 6, 8,60, + 16, 2, 25,57, 68,28, 61, 8, 57, 5, 67,55, 10, 4, 23,67, + 43,49, 16,45, 65,21, 3, 9, 39,46, 25, 4, 8,11, 16,34, + 4, 4, 23,54, 44,60, 53,33, 11,25, 56,50, 1,36, 48,11, + 43,28, 23,61, 25,66, 25,69, 56,19, 2,63, 61,50, 43,13, + 60,56, 38,44, 54,18, 37,36, 50, 1, 31,59, 3,48, 5,44, + 3,46, 21,31, 25,59, 53,31, 58,67, 49,45, 30,60, 28,63, + 35,51, 21,40, 62,66, 33,30, 65,22, 24,27, 7,51, 61,22, + 54,61, 16, 5, 51,22, 60,27, 52,10, 7, 3, 31,68, 8,18, + 65,51, 54,62, 52,29, 58,12, 52,13, 47,69, 51,43, 42,35, + 22,19, 22,36, 68, 1, 21,35, 55, 5, 41,69, 2,36, 58,35, + 46,22, 16,50, 54,68, 10,63, 53,23, 31,60, 1,52, 63,41, + 66,23, 16,29, 33,51, 68,64, 14, 5, 56,60, 53, 9, 4,64, + 16,61, 62, 0, 64,16, 21,36, 68,45, 15, 5, 63,25, 62,18, + 36, 0, 33,14, 33,31, 69, 1, 2, 4, 7,22, 51, 2, 31,26, + 8,37, 58,19, 69,58, 32,65, 61,33, 24,35, 40,54, 60, 2, + 54,56, 51,23, 50,40, 48,48, 66,37, 3,31, 23, 9, 69, 4, + 40,51, 15,30, 36,29, 57,40, 27,25, 44,41, 2,21, 2,42, + 29,25, 12,28, 38,15, 11,28, 53,50, 66,63, 41, 6, 25,39, + 51, 6, 45,37, 46,56, 48,25, 15,64, 9,45, 15,18, 17,13, + 30,18, 13,34, 42,57, 40,34, 24,16, 37,29, 49,49, 3,44, + 57,24, 3,60, 21,49, 60,54, 67, 3, 38,24, 58,18, 0,65, + 13,48, 15, 3, 29, 4, 12,29, 42,67, 62,59, 63,62, 4,66, + 12, 8, 48,42, 68,31, 31, 5, 15,54, 5, 9, 67,64, 29, 6, + 8,64, 66,65, 25,53, 11,29, 59, 2, 13,67, 16,57, 26,47, + 9,44, 39,37, 45,56, 32,40, 21,60, 46,13, 16,14, 38,67, + 66,49, 33,45, 50,20, 19,68, 29,42, 36,24, 28, 6, 42, 2, + 22,59, 12,30, 38,46, 39,34, 34,48, 48,24, 2,47, 30,30, + 20,57, 47,13, 34,13, 15,66, 43,50, 69,48, 24, 1, 21,13, + 46,39, 29,47, 41,38, 14,45, 24, 8, 41,35, 36,18, 58,68, + 31,57, 35, 4, 26, 4, 24,65, 17, 3, 8,12, 48,45, 10,44, + 49,52, 10, 6, 36,52, 34,19, 57,29, 10,38, 65,66, 34,30, + 32,64, 30, 4, 28,64, 6,32, 45,57, 19,41, 5,19, 6,65, + 39,69, 50,29, 31,45, 27,40, 19, 6, 67, 4, 27, 6, 60,36, + 44,21, 31,31, 26,18, 17, 0, 40,38, 7,36, 44,44, 0,27, + 57,33, 21,34, 60,63, 37,20, 20,42, 48,37, 54,13, 55,13, + 34,54, 63,55, 49,64, 55,51, 11, 5, 11,21, 65,49, 12, 1, + 58,44, 57,65, 34,16, 19,47, 39,61, 40,57, 34,49, 68,22, + 68,24, 7,26, 54,54, 40,66, 1,45, 16,20, 27,65, 29,49, + 47,48, 54, 3, 40,26, 27,50, 60,51, 10,50, 2,62, 65,10, + 50,69, 44,13, 67,16, 56,28, 30,14, 44,30, 19,11, 3,62, + 51,44, 29,50, 31,52, 34, 0, 15,61, 64,41, 48,17, 40,15, + 46,19, 56, 3, 54, 4, 64, 1, 18, 7, 0,69, 18,68, 7,38, + 7,53, 44, 9, 15,45, 49,55, 58,69, 26,46, 26,44, 60,40, + 34, 7, 51,53, 39, 2, 5,25, 19,61, 18,31, 29,38, 36,23, + 17,45, 32, 9, 66,45, 19,29, 49,48, 45,19, 19,64, 6, 9, + 40,32, 63, 1, 9,52, 38,35, 46,15, 13,47, 68,12, 55, 8, + 59,11, 44,61, 13,20, 52,56, 14, 7, 57,11, 45,13, 27,67, + 7,45, 49, 8, 64,68, 47,18, 16,44, 30,61, 34,66, 13, 1, + 23,62, 37,19, 46,61, 19,53, 60,58, 30,57, 23, 4, 20,11, + 3,56, 12,23, 42,24, 51,33, 61,56, 8,36, 5, 4, 51,14, + 11,46, 36,47, 34,14, 19, 0, 58, 4, 65,13, 62,20, 32,56, + 69,62, 59,58, 65, 6, 12,10, 27,37, 21,52, 1,61, 68, 6, + 60,39, 26,33, 22,58, 57,56, 8,50, 49, 1, 45, 1, 24,10, + 30,16, 38,39, 27,56, 9,51, 32,22, 6,69, 54,40, 40,59, + 34,28, 29,33, 11, 1, 62,10, 54,55, 17,53, 33,66, 64,50, + 44,39, 13,14, 63,10, 23, 8, 34,33, 45,58, 23,32, 3,67, + 7,69, 62,23, 46,26, 61,53, 45,32, 11,10, 62, 6, 52,49, + 55,41, 45,33, 65,48, 19,34, 4,54, 38,11, 13, 6, 54,28, + 51,16, 64,15, 56,39, 52,14, 47,59, 31,24, 16, 7, 9,34, + 66,55, 25,21, 38,29, 6,30, 42, 6, 28,61, 37,40, 9,31, + 45,38, 30,56, 35,67, 57,34, 30,53, 9,26, 0,38, 33,56, + 46, 7, 41,53, 54,38, 52,33, 30,20, 1, 1, 37,30, 30,26, + 28,35, 2,38, 1,13, 65,45, 24,19, 54,26, 32,39, 67,17, + 34,23, 53, 5, 49,57, 61,14, 43,25, 0,11, 34, 3, 63,32, + 69,11, 25,15, 13,17, 2, 9, 58,28, 43, 9, 35,25, 10,37, + 44,12, 34,15, 14,39, 55,36, 8,39, 13,29, 16,53, 4,49, + 63,21, 38,52, 67,25, 2,44, 0, 0, 65,58, 29,35, 46,36, + 10,31, 13,68, 66,18, 53,63, 52,41, 56,67, 46,30, 68,52, + 39,56, 2,35, 66,61, 13,25, 40, 8, 30,69 +}; +const int p_70_11[] = { + /// Number of people on picture + 70, + /// Number of preferences + 597, + /// Array of preferences + 23,12, 17,45, 5,56, 36,35, 68,60, 17,47, 49,46, 54,16, + 41, 7, 27, 8, 14, 3, 11,10, 7,68, 31,44, 31,27, 44,66, + 69,37, 23,36, 27, 6, 12,62, 3,67, 60,46, 65,56, 58,43, + 50,39, 46,43, 50,63, 4,48, 20,61, 56,21, 50,41, 2,52, + 1,10, 63,53, 37,30, 40,58, 64,69, 6,27, 37,44, 66,11, + 25, 5, 36, 0, 10,14, 18,27, 7, 7, 32,65, 56,61, 61,32, + 52,36, 24,15, 15, 4, 46,49, 67,28, 55,17, 12,46, 27,51, + 59,26, 40,48, 55,18, 36,61, 51, 8, 51,58, 42,10, 30,64, + 55,66, 17,27, 31, 3, 44,14, 34, 7, 40,65, 49,48, 5,54, + 40,28, 65, 7, 10,26, 27,35, 5,60, 1,49, 46, 6, 53,64, + 25,60, 65,39, 41,66, 60,10, 22, 4, 54,56, 15,12, 12,56, + 66,54, 51, 6, 16,66, 8, 4, 8,32, 6,11, 29,60, 69,57, + 52,50, 51,51, 59,47, 11,51, 9, 8, 15,45, 10,30, 37,20, + 26,48, 26,49, 13,23, 4, 7, 34,58, 23,30, 49,15, 22,43, + 46,55, 18,61, 2,32, 1,25, 32,40, 28,15, 4,60, 56,23, + 19, 5, 48, 1, 42,22, 31,28, 9,23, 32,61, 19,16, 2,23, + 45,51, 0,26, 28,56, 59, 4, 14,17, 41,64, 61, 3, 20,63, + 59,49, 52,62, 35,13, 43,26, 33,49, 54,31, 46,17, 19,55, + 44,62, 51,36, 58,30, 68,22, 12,55, 18,11, 25,22, 68, 6, + 62, 5, 28,61, 58,53, 35,36, 14, 7, 14,46, 38,24, 21,58, + 15,30, 42,66, 69,32, 28,27, 22,69, 11,40, 55,38, 61,31, + 43,55, 28,25, 28, 8, 25,41, 7,15, 12,39, 35,22, 19,45, + 20,56, 62,55, 55,43, 2,19, 5,55, 67,64, 58,64, 45,47, + 37,27, 36,53, 0,67, 32,30, 25,61, 65, 2, 3,39, 65,24, + 42,37, 15,62, 45, 9, 56,14, 16,49, 43, 8, 40, 1, 31, 0, + 11,65, 45,64, 11,54, 23,49, 10,34, 9,47, 41,23, 60,49, + 69,40, 48, 8, 26,60, 52, 1, 69,60, 8,42, 63,38, 29,17, + 58,42, 49,68, 3,22, 19, 4, 66,24, 29,67, 16,34, 49,17, + 61,42, 1, 4, 29,69, 16, 3, 55, 2, 34,31, 59,66, 12,35, + 20,17, 69,53, 9,51, 37, 2, 29,35, 21,66, 12,40, 32,34, + 62,66, 14,15, 4,38, 49,18, 57,48, 47, 1, 35,65, 2,29, + 55,16, 40,32, 31, 7, 46,44, 18,37, 5,37, 45,48, 43,29, + 39,11, 47,41, 56,35, 59,12, 66, 8, 55,69, 63,52, 2,28, + 2,49, 17,44, 27,13, 20, 4, 44,26, 8,66, 37,62, 37,43, + 38,47, 24,49, 9, 6, 23,65, 59,46, 66,50, 35, 7, 8,56, + 5, 7, 53,18, 64,39, 48,37, 29,44, 12, 3, 16,65, 17,48, + 13,22, 32,62, 68,34, 62,69, 28,33, 3,42, 33,34, 45,65, + 40,62, 69,17, 3,15, 64,19, 63,67, 17,40, 37, 4, 46,59, + 45,50, 60,43, 21,68, 0,54, 0, 2, 1, 5, 48,13, 33,19, + 26, 0, 27,27, 64,59, 27,47, 27,52, 56,57, 30,31, 36,59, + 43,52, 9,20, 38, 6, 37,67, 21, 9, 1,63, 24,42, 65,15, + 61,64, 31,65, 56,17, 44,22, 22,22, 12,16, 2, 9, 51,53, + 1,56, 23,15, 7,65, 52,63, 53,32, 63,50, 10,44, 69,11, + 19, 2, 26,56, 44,34, 14,43, 43,14, 12,69, 36, 9, 54,42, + 5,23, 31,56, 4,42, 43,53, 52,33, 36,69, 3,34, 44,36, + 1,22, 64, 8, 1,40, 34,44, 25, 8, 55,57, 41,26, 64,27, + 60, 5, 9,24, 65,60, 59,60, 2,39, 13,15, 56,39, 41, 3, + 6,25, 22,11, 17,33, 15,52, 36, 6, 68,19, 46,30, 25,25, + 7,51, 18,64, 53,34, 58,25, 18,28, 62,56, 11,57, 10,67, + 28,31, 8,62, 24,65, 43,21, 11,31, 69,33, 1,16, 59, 7, + 47,48, 16,50, 50,44, 61,61, 68,58, 68,18, 61,49, 2,60, + 14,52, 33,39, 11,21, 36,64, 57,46, 65,67, 19,64, 42,47, + 20, 3, 39,18, 50,34, 61, 7, 68, 3, 11,52, 22, 1, 33, 5, + 14,39, 19,12, 6,48, 15,19, 69, 1, 39,55, 29, 6, 41,43, + 30, 4, 39,29, 39,32, 44,41, 11,68, 46, 7, 41,53, 60,32, + 63,28, 28,40, 32,51, 55,67, 20,37, 60,47, 14,50, 47,40, + 66,49, 44,58, 8,41, 10,32, 51,66, 1,55, 36,32, 28, 1, + 25,30, 22,42, 13,32, 4,14, 40,22, 11,53, 45,27, 20,18, + 44,55, 44,25, 32,66, 23,24, 16, 9, 37, 3, 31,69, 40,53, + 18, 7, 53, 8, 11,60, 65,21, 60,56, 31,33, 65,51, 68,28, + 54,15, 45,13, 32, 0, 55,63, 38,42, 47,22, 58,38, 68,51, + 45,69, 33,26, 61,36, 63,16, 65,18, 38,31, 19,28, 36,41, + 38,36, 20,69, 34,33, 28,22, 10,50, 24,18, 13,35, 4,57, + 31,57, 6,17, 6,62, 59,32, 5,27, 18,12, 47,18, 5,14, + 18,25, 43, 9, 54,19, 8, 0, 43,36, 52,35, 13,34, 39,38, + 12,19, 16,14, 51,67, 14,62, 59,54, 63,40, 31,36, 27,61, + 18,66, 57,56, 32,38, 40,37, 55,51, 58,34, 60,37, 40,18, + 33,42, 63,58, 54,49, 28,41, 38,57, 1,51, 61,23, 6,35, + 61,25, 60,40, 0, 7, 56,10, 64,67, 2, 7, 26,67, 66,36, + 9,63, 52, 0, 31, 4, 6,40, 67,50, 31,64, 53,15, 26,15, + 58,41, 57,12, 0,50, 39,41, 8,69, 34,61, 10, 2, 16, 6, + 40,41, 7,12, 35,46, 66,16, 67,43, 34,49, 10,66, 12, 2, + 44, 3, 8, 1, 16,41, 12,22, 60,60, 58,22, 47,46, 57,54, + 20,42, 61,58, 18,38, 40,42, 64,30, 29,36, 61, 2, 53,56, + 30,37, 27,36, 25,27, 16,33, 26,61 +}; +const int p_70_12[] = { + /// Number of people on picture + 70, + /// Number of preferences + 388, + /// Array of preferences + 5, 5, 65,43, 67,64, 19,50, 20,50, 52,39, 53, 2, 27,16, + 49,44, 46,37, 50, 1, 27,40, 69,35, 32,21, 64,50, 10,31, + 13,66, 53,69, 8,18, 16,14, 7,14, 37,11, 68,35, 32,39, + 4,59, 18,59, 59,68, 25,37, 49,18, 63, 4, 41,46, 43,20, + 44,56, 47,62, 38,44, 40,16, 15,33, 56,64, 17, 3, 64, 0, + 60,24, 53,53, 22,44, 69,18, 28,10, 69,46, 6,11, 7,65, + 26,18, 47, 4, 19,34, 25,52, 55,16, 30,60, 7,38, 19,40, + 10,41, 54, 7, 58,38, 5, 9, 27, 1, 12,10, 5,62, 50,16, + 29,69, 23,34, 51,66, 21,10, 55,57, 5,24, 18,58, 39,25, + 16,17, 24, 7, 14,11, 50,69, 7,55, 34,21, 66,44, 51,23, + 19,30, 30,23, 47,39, 2,57, 52,12, 0,67, 60,10, 46, 6, + 13,35, 23,46, 44,38, 39, 7, 22,54, 9, 0, 11,11, 56,12, + 56, 3, 23,50, 10, 2, 31,30, 47,29, 38,55, 67,54, 43,24, + 52,64, 2, 0, 58, 8, 63,35, 32,44, 20,58, 50,39, 58,29, + 5, 7, 64,26, 47,67, 8,49, 32,54, 59,49, 47,23, 6,68, + 49,37, 7,22, 51,60, 49,25, 66,34, 26,22, 4,46, 0,26, + 54,40, 15,25, 27,34, 33,59, 15,46, 22,67, 38,21, 15,55, + 64,28, 5,65, 12,55, 36,29, 68,14, 54,46, 8,16, 17, 9, + 44,46, 1,65, 63,19, 55,69, 6,30, 24, 4, 43,58, 12,26, + 32,65, 6,10, 68, 4, 62,23, 55,65, 27,44, 58, 0, 32, 1, + 34,41, 58,65, 10,13, 18,29, 5,30, 22,39, 52,31, 22,34, + 53, 0, 17,25, 45,49, 4,65, 0,36, 50, 9, 29,53, 67,42, + 23,26, 7,46, 41,58, 19, 6, 14,35, 43,42, 10, 8, 34,19, + 49,43, 8,63, 26,64, 12,45, 64,18, 36,66, 44,16, 5,29, + 34, 4, 50,32, 64,51, 55,15, 63,23, 26,17, 5,27, 4,42, + 38,49, 40, 4, 52,54, 68,33, 38,53, 45, 1, 41,33, 18,67, + 36,14, 13,37, 63,55, 22,11, 30,53, 31, 6, 22, 6, 10,46, + 32,36, 2,37, 8,59, 40,41, 58,60, 22,22, 10,14, 6,46, + 9,26, 51, 5, 19,38, 62,56, 39,51, 44, 4, 54,43, 13,50, + 16,50, 16,51, 46,25, 64,38, 65,17, 7,45, 13, 3, 32, 3, + 9,50, 35,66, 52,52, 56,50, 50, 5, 68,17, 25,41, 31,53, + 65,62, 60,59, 1,52, 41,28, 14,67, 29,32, 49,16, 68,11, + 47,32, 57,10, 46, 0, 58,10, 49, 7, 65,41, 39,64, 0,10, + 17,64, 24,18, 65,52, 27, 3, 69,50, 11,38, 2,29, 11,14, + 5, 2, 22,18, 49,58, 51,37, 1,18, 62,48, 8,47, 6,25, + 0,57, 60,56, 59, 6, 44,37, 58,39, 44, 1, 66,63, 39,61, + 17,41, 51,16, 35,12, 37,37, 45,64, 15,59, 61, 3, 60,49, + 19, 1, 2,39, 38,46, 16,46, 49, 1, 18,51, 48, 5, 41, 9, + 22,57, 2,54, 41,56, 21,67, 7,33, 65,34, 59, 1, 52,17, + 60,65, 11,32, 17,24, 7,20, 7,62, 61, 5, 57,34, 63,46, + 2,44, 57, 8, 28,35, 46,63, 33,44, 16,66, 32,24, 25,25, + 66,11, 67,29, 41,64, 29, 0, 24,67, 0, 2, 67,46, 14,34, + 40,19, 57,57, 18,19, 5, 0, 26,19, 27,21, 20,22, 24,16, + 34,59, 17,26, 38, 7, 48,22, 15,48, 33,15, 19, 4, 4,10, + 15,47, 28,11, 33,35, 4,22, 57, 4, 34, 8, 9,55, 65, 5, + 59, 8, 60,14, 65,28, 29,36, 37,35, 59,30, 51, 8, 50,61, + 8,31, 16, 0, 51,49, 5,13, 0,13, 6,62, 22,23, 39,41, + 28,20, 8,67, 7,16, 59,42, 64,53, 45,54, 11,46, 55,27, + 69,32, 53,41, 47,43, 48, 9 +}; +const int p_70_13[] = { + /// Number of people on picture + 70, + /// Number of preferences + 703, + /// Array of preferences + 66,33, 57,11, 33, 1, 2,33, 36,29, 12,65, 25, 3, 59,65, + 35,27, 41,47, 49,48, 26,19, 0,33, 51,65, 18, 5, 44,19, + 67,65, 7,26, 66,21, 7,35, 19,31, 16,38, 41,49, 52,39, + 5,28, 26,67, 40,64, 18,49, 15, 8, 7,61, 26, 5, 14,31, + 1, 4, 51,24, 11,32, 0,50, 5,23, 28,69, 54,53, 33,55, + 13,67, 39,32, 7,14, 41,36, 36,49, 5,68, 24,10, 17,69, + 15,34, 63,56, 33,63, 38,66, 15,16, 8,64, 31,27, 31,50, + 47,42, 3,26, 38,50, 45,24, 27, 5, 54,35, 18,38, 34,43, + 57,25, 28, 7, 42, 9, 13,66, 55,51, 64,32, 51,64, 51,16, + 20,50, 40,27, 57, 2, 43,67, 39,30, 55,46, 35,59, 11,18, + 61,51, 30,49, 52, 8, 25,43, 55, 7, 32,15, 32,23, 8, 1, + 33,65, 42,20, 48,58, 36,67, 20,61, 69,38, 60,26, 27,18, + 38,32, 38, 5, 22, 8, 0, 5, 47,28, 46,41, 55,10, 32,69, + 39,13, 41,64, 24,14, 39,16, 5,60, 41,59, 13,62, 44,15, + 21,51, 27,33, 61,30, 12,55, 20,26, 56,24, 58,27, 49, 1, + 44,28, 41,48, 62,62, 21,55, 17,16, 25, 4, 66,13, 49, 7, + 29,54, 33,53, 48,30, 63,61, 68,59, 30,64, 28, 5, 15,14, + 54,32, 53, 7, 6,15, 46,59, 57,14, 27, 3, 63,68, 54,15, + 46,37, 5,17, 15,54, 17, 7, 23, 7, 63,36, 25,11, 25,12, + 41,54, 4,35, 21,44, 39,69, 14,68, 37,40, 35,57, 31,43, + 35, 4, 62, 2, 65, 0, 25,51, 68,66, 10,21, 42,32, 68,58, + 4,18, 26,36, 56, 3, 48,68, 10,66, 40,23, 45,43, 2, 6, + 39,63, 26,45, 15,56, 56,28, 23,37, 20, 5, 63,32, 54,37, + 69,43, 8,26, 8,69, 41,62, 41,39, 1,47, 64,31, 67,67, + 10, 7, 19,59, 20,31, 65,51, 35,37, 49,13, 9,23, 59,10, + 50, 4, 4,28, 53, 9, 31,16, 19, 0, 31,46, 29, 9, 60,10, + 2,44, 7,15, 52,27, 34, 1, 51,44, 5,56, 23,39, 35, 2, + 41,57, 15,31, 44,26, 47,27, 25,58, 29,46, 25,40, 24,17, + 40,61, 62,32, 54,45, 62,36, 8,19, 22,49, 14,33, 12,22, + 0, 3, 23,19, 0,52, 33,59, 43,58, 19,63, 7,38, 42, 1, + 40,54, 49, 2, 34,36, 41,56, 3,39, 33,21, 6,43, 45,12, + 67, 0, 37,54, 63, 4, 16,52, 16,49, 57,65, 63,23, 9,25, + 11,64, 64, 5, 2,52, 44,53, 48,61, 34,66, 6, 0, 31,15, + 35,13, 43,29, 49,41, 66,51, 66,50, 18,61, 63,60, 69,40, + 14,28, 17,11, 27,14, 46,52, 25, 1, 29,40, 45,16, 41,29, + 27, 6, 38,30, 25,26, 25,14, 45,22, 39, 4, 46,45, 46,29, + 59, 7, 39,65, 8, 0, 37,22, 31,29, 65, 3, 34,68, 29,17, + 6,30, 23,42, 36,39, 2,25, 27,32, 50,62, 66,59, 1, 5, + 38, 9, 17,41, 47,16, 48, 6, 67,18, 31,48, 18, 2, 62,63, + 26,26, 24,39, 52,37, 22, 2, 41, 3, 44,31, 4,17, 24,65, + 59, 0, 54,42, 40, 3, 42, 5, 54,52, 39,12, 32,54, 39, 1, + 14,52, 59,35, 22, 5, 9,36, 27,46, 20,45, 46,38, 46, 6, + 37,49, 50,65, 52,21, 53,54, 36,42, 58,13, 26,55, 43, 4, + 38, 7, 41,43, 63,18, 58,44, 20,11, 13,36, 6,35, 61,55, + 37,62, 31, 7, 3,37, 36,20, 21,12, 36, 2, 53,11, 9,54, + 11,29, 36,46, 17, 5, 48, 3, 25,52, 30,60, 36,50, 11,10, + 39, 9, 64,37, 0,42, 40, 1, 55,56, 18,12, 3,41, 50,33, + 34,65, 27, 7, 49,67, 30,44, 2, 1, 31,23, 30, 7, 53,42, + 17,34, 14,47, 64,15, 16,55, 10,47, 19,27, 25,60, 24,66, + 58,20, 66,55, 9,20, 39,45, 2,55, 43,36, 6,28, 12,57, + 30,40, 68,33, 16,12, 66, 0, 15,43, 5,50, 26,50, 64,19, + 24,32, 18,45, 61,47, 45,18, 69,36, 20, 8, 2,43, 13,55, + 19,69, 52,13, 38,33, 1,52, 32,52, 69,10, 55,24, 24, 0, + 59,69, 57, 5, 5,25, 21,34, 44,32, 28,12, 5,14, 42,34, + 35,20, 16,15, 32,63, 55,28, 61,52, 9,15, 25,21, 18,34, + 9,12, 38,56, 59, 1, 24,26, 6,29, 38,51, 17,30, 16, 4, + 46,56, 54,68, 50,20, 3,23, 8, 3, 45,20, 43,38, 53,10, + 20, 7, 66, 3, 55,35, 50,11, 29,12, 21,20, 49,66, 5,59, + 8,58, 36, 5, 19,19, 66,61, 15,33, 6,24, 18,20, 35,36, + 63,33, 59,16, 10,40, 6,36, 65,60, 13, 6, 67,40, 35,48, + 25,17, 46,30, 41,23, 0,68, 54,11, 23, 0, 41,14, 0,60, + 41,58, 20,25, 43,68, 37, 0, 34, 5, 26,43, 38,21, 47,30, + 44,40, 39,55, 44,42, 35, 0, 37,58, 13, 7, 22,54, 35,66, + 31,37, 64,54, 10,20, 41, 6, 35,17, 66,54, 29, 4, 54, 1, + 66,57, 54, 7, 26,25, 61, 5, 25,57, 56,13, 39,66, 13,30, + 9,26, 15,26, 16, 2, 21, 9, 29,53, 21, 5, 28,13, 5,21, + 14,69, 30,41, 14,22, 24,47, 46,65, 69, 3, 68,61, 26,64, + 45,10, 6, 7, 17,22, 48,41, 20,56, 12,54, 26,52, 14,62, + 22,43, 45,46, 18,53, 23, 3, 16,17, 38,29, 57,24, 41,16, + 22,62, 10,26, 35,33, 29, 2, 59,31, 65,42, 67, 6, 54,60, + 46,14, 61, 4, 19,43, 18,65, 51,12, 40,48, 29,18, 8,32, + 6,60, 45,38, 36,33, 48, 9, 38,17, 3,62, 51,23, 42,27, + 32,64, 63,11, 69,26, 34,20, 26,68, 14,36, 44,30, 41,37, + 8,61, 31, 2, 6,17, 56, 6, 0,45, 64,62, 45,35, 7,60, + 5,69, 22,45, 60,14, 31,35, 69, 0, 29,10, 12,35, 61,53, + 8,16, 13,42, 51,68, 59,28, 12,56, 9,58, 56,31, 54,41, + 1, 8, 7,12, 2,65, 48,43, 16,61, 30,48, 28,46, 6,57, + 22,25, 37,68, 30,19, 68, 0, 54,61, 41,67, 37,20, 38,57, + 26,15, 4,40, 1,25, 49, 9, 61, 7, 3,24, 7,23, 2,38, + 27,39, 49,20, 49, 0, 68,21, 34,50, 26,46, 51, 1, 60,29, + 43,57, 45,31, 18,21, 53,30, 61,15, 69,19, 54,48, 58,65, + 63,63, 62,26, 52,50, 10,43, 41,17, 59,39, 56,60, 50,45, + 63,39, 38,46, 41,46, 33,19, 32,35, 17,40, 62,68, 23,17, + 56,34, 26,57, 28,38, 21,10, 39,20, 46,57, 36,17, 9,13, + 48,11, 40,37, 34,62, 13,58, 13, 4, 52,47, 23,16, 6,65, + 5,13, 65,44, 65, 5, 54, 9, 53,57, 43, 8, 58,41, 48,36, + 22,56, 62,10, 54,62, 38,48, 42,60, 61,65, 35,69, 7,42, + 53,31, 56,14, 21,11, 41,65, 19,48, 26, 8, 28,51 +}; +const int p_70_14[] = { + /// Number of people on picture + 70, + /// Number of preferences + 1199, + /// Array of preferences + 69,43, 8,39, 7, 7, 48,56, 30,15, 61, 8, 10,62, 25,40, + 60,63, 16,48, 21,57, 38,29, 59,62, 13,47, 36,38, 62,56, + 37,67, 7, 6, 5,58, 36,36, 28,42, 29,30, 11,13, 7,54, + 56,13, 2,16, 69, 5, 38, 3, 56,65, 22,15, 4,37, 44,29, + 63,22, 11,18, 57,17, 25,14, 24, 9, 69,25, 35,22, 27, 5, + 56,42, 59,38, 35,67, 24,47, 18,34, 41,27, 42,59, 37,62, + 58,51, 50, 4, 23,60, 12,57, 32,24, 16,44, 52,38, 4,35, + 32,54, 4,50, 29, 8, 13,17, 19,21, 11,36, 35,36, 15,64, + 53,10, 42,33, 46,43, 24,24, 14,28, 38,10, 69,39, 46,68, + 50,59, 27,29, 58,64, 1,15, 65,45, 32,13, 2,69, 14,24, + 39,25, 50,24, 52, 7, 56,41, 7,19, 57,66, 16, 3, 27,24, + 20,51, 15,16, 13,57, 55,58, 66,15, 13, 6, 67,10, 14,46, + 57,26, 54,28, 33,42, 64,37, 1,69, 56,19, 37,45, 45,45, + 48,65, 53,58, 3,12, 59,14, 67,24, 32,63, 12,10, 47,20, + 2,47, 69,44, 31,68, 24,12, 16, 2, 10,22, 13,38, 64,36, + 31,17, 6,35, 29, 4, 34,10, 50,57, 52, 0, 63,57, 61,17, + 32, 1, 10,42, 45,35, 48,46, 14,47, 18,40, 34, 0, 66,20, + 55,49, 38,27, 2,50, 6,55, 24,68, 30, 1, 1,62, 15,49, + 28,19, 22,14, 40,47, 66,40, 66,49, 29,16, 0,15, 64,31, + 5,65, 47,16, 17,22, 17,33, 59,15, 48,43, 24,52, 11,14, + 26,10, 42,44, 54,67, 43,39, 6, 6, 55,64, 8,66, 12,17, + 47,58, 22,28, 31,31, 50,12, 52, 1, 22,34, 30,58, 2,27, + 59,54, 47,44, 69,61, 66, 8, 56,55, 22,67, 37, 7, 52,51, + 68,33, 12, 0, 30,41, 69, 4, 33,56, 25,53, 22,42, 37,24, + 43,41, 53,67, 15,25, 68, 0, 20,11, 41,13, 34,55, 60,28, + 39,64, 52,34, 53,68, 45, 3, 5,67, 15,20, 20,24, 38,24, + 50,28, 12,35, 24,55, 15,66, 47, 7, 67,49, 13,48, 12,16, + 68,56, 65,59, 7,56, 62,52, 20,23, 56,31, 69, 1, 12,45, + 21,38, 69,51, 58,62, 15, 7, 36, 1, 34,48, 24,14, 42,68, + 61,66, 45, 8, 59,39, 30, 4, 20,66, 25,55, 10,40, 1,42, + 54,66, 57, 5, 44,58, 10,37, 23,53, 1, 7, 43, 0, 18,24, + 62,10, 67,57, 60, 8, 29,62, 36,56, 2,36, 53,40, 0,35, + 61, 6, 69,66, 20,39, 49,64, 56,17, 46,10, 17,19, 60,69, + 43,56, 12,42, 42, 4, 9,15, 46,12, 14,16, 59,48, 57,27, + 36,29, 69,10, 37,29, 25,25, 16,34, 54,58, 34,42, 23,41, + 37,37, 8,21, 8,68, 32,14, 16,31, 24,13, 15,24, 25,23, + 46,67, 22,18, 63, 4, 13,69, 25, 5, 2,52, 29,18, 58,65, + 31,33, 36,43, 57, 3, 25,37, 11,68, 44,28, 30,35, 31,16, + 43,66, 60,31, 7,66, 38,43, 35, 8, 46,50, 1,50, 13,23, + 6, 8, 28,58, 61,49, 43,26, 63,33, 18, 7, 28,38, 44,52, + 24,26, 31,15, 36,46, 28,64, 43,11, 26,27, 50,15, 53, 3, + 44,56, 26, 3, 65,61, 9,42, 53,53, 22, 0, 25,41, 6, 2, + 25,64, 7, 4, 39, 2, 15,42, 2, 2, 9,54, 2,51, 52,19, + 34, 6, 30,21, 28,21, 44,46, 34,68, 30,61, 68, 4, 16,38, + 36,32, 68,21, 29,55, 16,41, 49, 0, 11,19, 38,60, 44, 5, + 63,28, 42,16, 14,67, 66, 3, 34, 8, 32,36, 43,55, 50,43, + 32,22, 38,32, 30,53, 42,49, 39,30, 41,19, 14,59, 2,38, + 1,41, 47,22, 25, 6, 12,44, 35,38, 52,10, 57,55, 9,56, + 49, 9, 64,42, 38,11, 24, 7, 68,26, 16, 0, 5,27, 52,55, + 12,34, 25,31, 32,65, 0,12, 47,43, 35,12, 16,20, 55, 5, + 11,30, 62, 4, 43, 6, 45,19, 2,30, 21,49, 9,65, 25,59, + 42,36, 64,29, 18,18, 53,25, 61,38, 62, 0, 26,54, 69,45, + 8,58, 27,65, 5, 3, 69,35, 3, 5, 53,18, 51,21, 62,36, + 53,30, 48,23, 1,28, 43,40, 24,17, 23,59, 60,19, 49,20, + 33,54, 26, 7, 20,37, 20, 4, 57,67, 43,22, 13,27, 40,26, + 35,57, 8,22, 43,43, 56,23, 27,55, 43,57, 27,62, 62, 1, + 36, 0, 13,37, 22,48, 6,47, 20,36, 57, 6, 17,50, 29,26, + 38, 9, 30,17, 49,55, 2,29, 35,42, 50,60, 0,41, 65,54, + 41, 6, 16,65, 42,17, 35, 4, 65, 4, 47,51, 38,58, 52,21, + 19,69, 46, 9, 38,16, 63,39, 60, 0, 41,34, 39, 6, 6,17, + 68,31, 7,58, 47,35, 49, 1, 63,21, 11,65, 48,49, 28,23, + 48,57, 26,14, 50,42, 5, 9, 32,10, 8,42, 60, 1, 33,40, + 29,66, 54,48, 5,25, 6,22, 62,57, 34,12, 33,47, 15,11, + 64,19, 39,31, 48,31, 62,55, 16,19, 22,41, 50,58, 43,58, + 63,31, 18,52, 61,22, 29,58, 66,28, 27,35, 51,32, 61,48, + 34,17, 69,54, 9,31, 53,22, 55,17, 57,37, 39,59, 61,57, + 28, 7, 46,14, 17,60, 7,40, 8,67, 5,12, 61,41, 14,11, + 20,50, 15,29, 37, 5, 36,52, 20,16, 20,20, 45,23, 4,64, + 40,17, 18,49, 31,37, 59,24, 37,43, 50,65, 57,64, 32,32, + 39,50, 46, 4, 2,44, 13,25, 49,30, 55, 9, 11, 9, 45,39, + 5,37, 44,62, 37,48, 44, 0, 35,53, 58,38, 21,44, 66,63, + 1,49, 41,57, 68,24, 31,28, 47,46, 62, 7, 13,68, 9, 8, + 32,27, 54, 6, 47,34, 53,24, 0,28, 32,18, 35,65, 54,33, + 23,11, 20,63, 64,16, 50,45, 51, 2, 40,57, 43,24, 8,44, + 63,55, 10,36, 49, 5, 64,55, 50, 1, 54,16, 4,18, 49,29, + 12,31, 22,12, 23,31, 12,43, 36, 4, 60,68, 42,56, 6, 9, + 42,29, 2,63, 24,46, 66,25, 52,36, 12,69, 25,24, 47,67, + 5, 7, 30, 6, 34,15, 35,69, 18,33, 35,27, 20,42, 33,27, + 64,18, 23, 0, 22,11, 11,41, 27,15, 42,40, 43,60, 11,10, + 12,63, 57,63, 0,53, 7,37, 35,17, 51,48, 16,40, 45,36, + 14, 0, 63,37, 2, 1, 53,32, 48,58, 69,14, 68,11, 3,65, + 64,41, 54,55, 52,64, 23,58, 0, 8, 16,11, 51,27, 68, 5, + 63,54, 13,53, 41,64, 7,48, 20, 0, 10,23, 10,63, 69,27, + 33,58, 50,54, 25,51, 49,57, 59,23, 29, 9, 13,31, 20,15, + 7,23, 26,64, 59,34, 61,34, 31, 1, 49,11, 54,57, 14,41, + 35,46, 47,29, 2,48, 68,49, 37,28, 2,21, 48,10, 5,64, + 52,56, 21,52, 39,53, 57,65, 38,45, 56,15, 21,48, 57,44, + 41, 2, 48,25, 36,57, 43,33, 56,14, 17,32, 65,25, 53,51, + 44,21, 18,51, 49,58, 11,62, 61, 0, 61,28, 57,25, 2,41, + 35,54, 61,24, 14,65, 55, 4, 41,29, 8, 0, 16, 5, 67, 2, + 39,54, 12, 2, 20,61, 34,13, 38,59, 45,48, 29,47, 59,20, + 56,26, 49,28, 65,69, 59, 0, 29,14, 9,30, 3,14, 55,53, + 59, 8, 25,10, 23,16, 36,23, 25,15, 17,28, 4,14, 62,40, + 48,18, 49,52, 54,60, 66,48, 58, 3, 31,56, 53,50, 58,32, + 57,38, 29,35, 56,59, 19,41, 20,27, 28,35, 53,60, 42,32, + 5,45, 30, 2, 14,25, 20,64, 45,11, 49,51, 63, 3, 20,44, + 18,29, 19,67, 8,53, 49,21, 22,36, 60, 7, 31,69, 0,11, + 61,44, 49,67, 48,15, 50,20, 15,39, 11,54, 67,23, 57, 9, + 4,61, 5,54, 11,17, 40,27, 31,60, 58,47, 68,25, 67,60, + 52, 2, 19,40, 64,11, 21,17, 60,15, 11, 0, 68,45, 20, 6, + 53,33, 64,56, 31,36, 6,49, 38,23, 25,18, 33, 4, 63,44, + 64,69, 18,55, 63,66, 17,54, 16, 8, 48,20, 12,54, 57,31, + 34,56, 43,53, 62,34, 37,13, 39, 7, 24,27, 38,61, 16,35, + 16,16, 46,49, 67, 5, 28, 5, 38,69, 19, 2, 25,69, 47, 5, + 42,30, 65,29, 61,54, 5,56, 4,51, 50,63, 31,32, 47,57, + 24,37, 66,44, 52,65, 43,50, 47,59, 46,16, 35,15, 36,44, + 23,48, 57,39, 26,31, 69,47, 61,11, 68,28, 66,59, 63,15, + 10,16, 47,31, 56,33, 14,18, 41,30, 68,15, 62,49, 52,69, + 43,18, 30,28, 67,43, 13,18, 69,36, 8,20, 51,29, 8,30, + 10,56, 13,44, 67,21, 61,21, 27,14, 45,38, 65,50, 39,16, + 39,56, 15, 1, 64,20, 55,40, 42,22, 21,33, 56, 8, 58,57, + 10,43, 27,56, 68,67, 61,62, 28,37, 50, 3, 0, 7, 51, 4, + 24,41, 21,51, 60,24, 56,56, 17,63, 64,63, 23, 7, 45,56, + 20, 2, 44,11, 31,11, 58,14, 50,34, 60,14, 65,13, 4,40, + 22,26, 33,28, 53,59, 60,65, 69,18, 46,17, 54,22, 10, 9, + 14,52, 34,40, 8,18, 68,54, 39,66, 37,57, 50,29, 21,55, + 28,26, 66,14, 52,46, 22,33, 5,42, 65,26, 56,34, 64,49, + 13,46, 6,69, 26,20, 24,28, 56, 4, 67,61, 61,33, 3,15, + 31,49, 43,36, 21,11, 7,14, 54,62, 29,69, 30, 0, 50,62, + 37, 4, 56,47, 34,45, 32,68, 48,13, 30,24, 12, 7, 15,28, + 34,14, 20,58, 36,16, 28,16, 22,50, 17, 0, 37,56, 33,29, + 55,39, 5, 2, 61,10, 13,65, 9,20, 31,40, 34,61, 42,26, + 34, 5, 4,57, 12,46, 18,50, 48,33, 64,15, 7,69, 58, 9, + 4,39, 20,25, 17,48, 19,63, 0,13, 64,24, 6,54, 2,55, + 23, 4, 0,32, 62,66, 26,32, 67,50, 31, 6, 22,17, 41,43, + 40,67, 29,54, 23,24, 0,17, 0,47, 20,26, 27,52, 63,11, + 5, 4, 49,59, 9,37, 48,32, 65,55, 1,26, 57,24, 13,20, + 36,19, 46, 6, 8,26, 1,13, 7, 1, 68,64, 63,48, 5,52, + 41,50, 47,32, 59,17, 5, 1, 47,23, 43,13, 33,22, 52,28, + 33,32, 27,34, 60,33, 31,54, 23,52, 16,29, 0,14, 61,35, + 57,69, 32,15, 25,43, 59,21, 62, 5, 14,26, 40,37, 23,14, + 7,21, 3, 2, 30,69, 9,34, 3,34, 53, 6, 56,67, 44,68, + 53,64, 5,14, 22,43, 29,20, 59,47, 20,18, 36,13, 28,17, + 8,57, 16, 4, 8, 8, 20, 8, 1,31, 40,43, 35, 6, 8,16, + 66, 2, 37,38, 69, 8, 7,30, 4,58, 7,25, 65,32, 48,66, + 64,28, 0,58, 65,12, 12,19, 34,51, 47, 0, 40,13, 60, 9, + 68,36, 18,41, 0,49, 3, 6, 26,24, 49,27, 58,21, 50,25, + 3, 1, 24,21, 33,57, 67,62, 17,12, 6,30, 34,26, 44,40, + 7,64, 47,39, 6,37, 50,36, 64, 5, 14,14, 30,10, 41,25, + 11,52, 11,55, 8,12, 44,33, 59,42, 65, 0, 4, 6, 63,47, + 58,56, 60,51, 38,62, 31,41, 2,43, 24,65, 12,29, 49,48, + 36,55, 2,46, 25,35, 34,64, 64, 4, 18,25, 45,67, 30,43, + 3, 9, 22,66, 5,35, 7,61, 25,17, 57,19, 40,35, 39, 0, + 17,30, 35,11, 20,34, 13,63, 8,61, 32,21, 68,69, 59,56, + 19, 1, 67,31, 63,30, 23, 3, 42,67, 8,25, 31,53, 1,40, + 51,37, 6,27, 56,10, 27,12, 65,41, 61,40, 58,18, 7, 9, + 35,14, 10,46, 10,31, 67,41, 67,20, 66,43, 60,55, 6,64, + 7,53, 39,11, 31, 7, 35, 5, 31,20, 35,26, 20,54, 39,40, + 12,38, 68,13, 57,61, 55,25, 37,53, 0,64, 44, 1, 26,60, + 9,22, 20,35, 42,28, 30,56, 62,42, 11,33, 52,40 +}; +const int p_70_15[] = { + /// Number of people on picture + 70, + /// Number of preferences + 17, + /// Array of preferences + 26, 2, 40,13, 42, 9, 34,53, 66,16, 25,37, 46, 7, 49,48, + 45,13, 21,12, 35,44, 34,35, 39,27, 32, 5, 69,23, 14,29, + 66,28 +}; +const int p_70_16[] = { + /// Number of people on picture + 70, + /// Number of preferences + 789, + /// Array of preferences + 42,57, 38, 5, 57,29, 42,44, 22,37, 67,41, 44, 1, 53,43, + 32,56, 50,13, 12,26, 53,15, 13,16, 33,57, 22,17, 58,20, + 46,26, 58,28, 24,18, 55,20, 53, 5, 43,46, 9, 4, 31,44, + 9,17, 12,65, 35,51, 37,18, 13,28, 37,14, 17,17, 13,20, + 31,61, 52,22, 66,69, 38,13, 60,30, 40,28, 30,50, 22,44, + 9,50, 69,66, 46,30, 51,29, 13,62, 41,44, 53,48, 53,40, + 3,60, 5,27, 62,37, 11,36, 10,68, 37,40, 41,17, 11,10, + 16,31, 5,45, 40,37, 20,20, 62,32, 3,16, 56, 5, 56,69, + 9,42, 39,42, 16,47, 29,17, 17,54, 35,36, 8,66, 16,32, + 41,47, 28,44, 12,42, 11,37, 33,55, 46,40, 9,66, 26,34, + 12,60, 49,21, 16,26, 20,24, 31,65, 32,68, 3, 8, 59,53, + 31,41, 14,16, 3,30, 30,60, 56,59, 31,54, 25,52, 24,21, + 33,41, 26,68, 33,40, 18,17, 49,32, 10,32, 55,51, 37,44, + 6,28, 2,59, 43, 9, 66,49, 40,38, 55, 6, 51, 4, 54,52, + 0,30, 16,30, 1, 7, 59,45, 24,40, 39,16, 23,21, 57,56, + 55,64, 34,63, 35,32, 8, 4, 59,36, 14,53, 27,18, 66,17, + 67,29, 44,69, 20,28, 63,28, 36,47, 25,29, 36,37, 12,61, + 61, 7, 0,26, 1,51, 40,24, 44,30, 11,68, 47,24, 49,17, + 29,40, 19,69, 55, 5, 43,60, 41, 3, 37,27, 54,66, 63,62, + 26,14, 1,61, 41,68, 50,37, 48,46, 19,30, 18,48, 5,52, + 9,11, 8,46, 10, 5, 14,64, 41,32, 28,68, 27,49, 48,15, + 40,32, 34,11, 58,46, 64,14, 10,51, 50,18, 21,61, 67,39, + 63,10, 45,49, 61,50, 17,45, 54, 1, 56,12, 36,60, 56, 4, + 46,28, 37,29, 8,50, 60,34, 7,32, 4,69, 32,46, 50,60, + 31,55, 21, 8, 28,21, 21,45, 19,11, 55,52, 8,69, 16, 0, + 23, 2, 9,39, 51,52, 31,62, 69,58, 10,12, 67,68, 28, 1, + 48,24, 52,30, 27, 7, 54,36, 17,26, 7,36, 68,45, 25,14, + 25,65, 43,48, 9,38, 27,19, 36,63, 68,25, 10,39, 24,43, + 51,22, 27,31, 39,63, 29,42, 52,60, 21,53, 16,28, 22,21, + 37,61, 12,14, 45,25, 31,14, 2,55, 64, 8, 2,69, 19,39, + 10,36, 21,20, 34,15, 8,68, 60,20, 38,69, 1,15, 7, 9, + 58,63, 42, 0, 58,43, 58,42, 39,52, 47,47, 11,33, 8,61, + 15,50, 63,16, 15,20, 21,13, 17,31, 51,65, 36,23, 43,69, + 63,50, 24,47, 26,26, 54,46, 60,49, 36,68, 33,19, 52,16, + 46,62, 12,69, 0,47, 68,66, 67,20, 12,13, 19,56, 54,27, + 63,19, 33,45, 16,59, 41,14, 66, 4, 59,18, 25,46, 46,64, + 19,64, 43,32, 43,36, 11,12, 26,67, 35,68, 13,52, 27,28, + 69,67, 63, 0, 34,10, 5,25, 3,54, 53,28, 63,63, 3,44, + 7,15, 47,59, 30,19, 5,13, 61,58, 4,21, 61,17, 27,22, + 39,34, 2,62, 20,17, 2, 4, 29,44, 13,37, 43,63, 9, 2, + 33,26, 19,40, 11,42, 35, 4, 62,57, 28, 3, 51,61, 10,34, + 16,16, 3,25, 39, 9, 53,64, 22,10, 22,40, 48,20, 24,64, + 19,37, 48,43, 65, 9, 44,27, 38,50, 1,58, 39,51, 58,68, + 10,69, 66,37, 31,64, 19,17, 48, 8, 27,59, 15,58, 65, 8, + 42,63, 10, 9, 24,10, 63,51, 46, 9, 54,17, 62,66, 63,69, + 65,50, 5, 5, 4,13, 21,23, 5,69, 43, 3, 63,52, 42,51, + 46,42, 48,40, 20,60, 26,60, 57, 0, 39, 4, 21,42, 14, 1, + 30,68, 32, 4, 69, 0, 16,22, 32,17, 30,48, 56,24, 30,35, + 64,40, 56,54, 29,19, 61,46, 33,25, 64,57, 29,37, 1,36, + 8,10, 28,51, 31,27, 50,50, 44,13, 55,26, 28,26, 45,13, + 20,32, 2,64, 39,46, 26,59, 59,11, 64,16, 52,66, 64,53, + 29,60, 12,66, 55,37, 40, 5, 16,56, 28,60, 25,11, 38, 3, + 44,44, 32,40, 21,55, 8,22, 14,18, 62,40, 21,51, 22,60, + 34,56, 65,45, 44,58, 14,56, 32, 5, 35,58, 17,67, 11,51, + 0,14, 43,25, 33,53, 13, 9, 7,61, 15,29, 1,46, 63,53, + 31,47, 16,39, 62,43, 31,28, 28,11, 65,31, 60,48, 7, 2, + 33,68, 15,24, 2,40, 66, 7, 40,21, 18,29, 1,68, 58, 3, + 65,49, 42,26, 13,40, 16,66, 65,12, 62,36, 66,44, 57,14, + 6,44, 7, 0, 66,35, 17,65, 55,66, 56, 6, 43,30, 65,34, + 45,36, 62,47, 9,69, 49,15, 40,53, 4,51, 27,24, 35,67, + 20,69, 7,27, 20,31, 18,28, 32, 8, 38,36, 18, 8, 6,26, + 43,66, 44,45, 15,33, 14,38, 39,54, 59,35, 53,55, 6,25, + 64, 4, 2,61, 23,43, 54,23, 56,42, 47,17, 41, 4, 52,27, + 61,60, 16, 8, 60, 0, 23,44, 28,25, 65,24, 0,35, 38,42, + 20,45, 31, 4, 23, 4, 12, 9, 9,67, 64, 3, 19,52, 9,22, + 18, 7, 0,49, 65,40, 61, 2, 48, 4, 11,27, 7,57, 32, 7, + 58, 1, 41,35, 64,45, 33, 5, 31,58, 24,28, 54,18, 69,57, + 40,22, 3,64, 68,53, 61,62, 21,43, 7,56, 35,66, 47,62, + 35,29, 56,64, 65, 4, 17, 9, 1,53, 22,32, 33, 0, 58, 5, + 50,69, 55, 4, 35,61, 20,53, 24,17, 23,42, 18,39, 68,33, + 23,68, 1,66, 36,13, 23,58, 62,17, 1,45, 8,48, 18, 5, + 47,65, 30, 8, 29,36, 9,46, 49,34, 31,13, 26,11, 6,57, + 19,29, 13,41, 13,39, 65,19, 55, 0, 4,53, 24,65, 51,53, + 26,41, 36,12, 2,34, 19,63, 41, 6, 4,44, 19,10, 44,29, + 13, 0, 47, 5, 21,41, 10,50, 53,51, 39,41, 13, 4, 39,15, + 40,20, 29,41, 2,19, 12,24, 46,68, 4,16, 60,31, 16,44, + 65,35, 12,39, 44,51, 34,58, 66,10, 14,42, 42,28, 65,69, + 37,30, 17,41, 29,22, 41, 0, 53,39, 36,46, 61,51, 48,16, + 47,31, 1,28, 60,11, 53,58, 17,62, 24,34, 34,27, 51,57, + 7, 8, 10,56, 18,27, 10, 4, 19,47, 24,31, 45,33, 26,56, + 42,25, 46,52, 68,19, 4,48, 9,28, 15,21, 57,67, 28,33, + 6,24, 52,44, 60, 8, 15,16, 30,58, 45,14, 39,37, 32, 1, + 43,52, 21,54, 12,38, 41,18, 19, 4, 44,59, 35,52, 41,40, + 51,49, 13,68, 16,63, 49,51, 42, 7, 58,58, 5,10, 5,47, + 44,65, 34,23, 66,52, 10,14, 36,66, 68,29, 66,24, 52,49, + 46,22, 64,64, 2, 9, 56, 1, 36,52, 40,54, 52,57, 58,64, + 63, 1, 10,31, 39,43, 52,45, 11,50, 20,11, 65,17, 23,11, + 15,49, 36,28, 50,28, 6,64, 38,66, 45,58, 50,45, 59,41, + 11,41, 20,46, 59,47, 47,16, 43,58, 51, 6, 6,30, 27,11, + 55,68, 15,27, 62,31, 13,18, 44,34, 26,10, 7,55, 9,21, + 2,58, 38,59, 8, 1, 24,61, 27,15, 57,17, 41,15, 36,35, + 36,48, 24,25, 49,44, 54,21, 23,20, 30,11, 5,66, 47,33, + 3,35, 57,37, 54,45, 35,57, 56, 3, 45,59, 35,40, 55, 2, + 1, 9, 19, 1, 20,52, 38,21, 27, 9, 17,36, 30,28, 4,22, + 34,24, 40,52, 26,25, 0, 1, 25,54, 62,63, 65,64, 20,65, + 27,38, 57,49, 62, 0, 11,64, 46, 0, 53, 4, 13, 7, 32,27, + 12,29, 60,19, 14,66, 43,64, 16,54, 63,15, 57,22, 63,40, + 32,67, 40,59, 36,22, 39,40, 37,62, 37,58, 5,33, 11, 9, + 21, 9, 10,59, 43,41, 56,44, 11,17 +}; +const int p_70_17[] = { + /// Number of people on picture + 70, + /// Number of preferences + 933, + /// Array of preferences + 52,30, 67, 1, 26,42, 64,30, 5,62, 67,10, 33, 5, 59,25, + 33,62, 13,13, 69, 9, 0, 4, 17,16, 63,18, 17,18, 29, 4, + 0,62, 44,51, 62,23, 48,13, 56,25, 61,62, 27, 0, 6,32, + 44,38, 20,56, 67,25, 19,56, 13,23, 7,47, 29,36, 8, 8, + 65,12, 22,33, 36,62, 49,30, 12,52, 39,43, 38,11, 24, 6, + 10,24, 54,38, 27,50, 15,19, 34,25, 44,68, 64,18, 66,49, + 20,42, 34,37, 67,18, 4,53, 48,21, 31,23, 42,43, 11,26, + 16,22, 56,44, 19,22, 55,49, 60,49, 3,48, 27,42, 13, 7, + 61,25, 35,29, 43,21, 29,50, 18,62, 12,53, 6,52, 12,49, + 20,61, 22,18, 15, 1, 42,50, 13,21, 56,18, 13,41, 37,10, + 25,69, 25,41, 62,38, 5,14, 3, 4, 30,47, 49,68, 56,34, + 14,66, 54,27, 13, 3, 61,27, 26,24, 55,12, 48,52, 60,64, + 2,67, 31,68, 42,65, 55,68, 67,66, 37,39, 23,31, 56,51, + 6,46, 46, 3, 60,35, 19,69, 52,26, 64,39, 2,60, 54,15, + 19,27, 66,57, 34, 5, 36,30, 48,42, 39,50, 39,68, 46,64, + 32,14, 7, 8, 14,24, 3,66, 45,12, 10,43, 1,38, 7,12, + 33,69, 13,33, 33, 1, 57,16, 30,21, 58,31, 33, 4, 48,55, + 54,34, 40,60, 56,24, 66, 3, 62,17, 14, 8, 1,16, 51,56, + 57,34, 53,64, 1,23, 15,58, 40,32, 49, 5, 8,38, 41,21, + 51,65, 62,13, 36,44, 6,50, 20, 8, 60,21, 66,35, 11,52, + 25, 2, 40,55, 40,17, 66,36, 24, 3, 33,19, 53, 8, 13,34, + 5,55, 21,50, 69, 7, 60, 0, 67,17, 62,42, 37,66, 24,23, + 50,68, 66,56, 60,23, 24, 7, 26,28, 7,65, 12,26, 62,35, + 34,54, 38,28, 50,50, 67,55, 16,23, 58,39, 16, 6, 62,11, + 33,10, 4,59, 54,32, 25,42, 38,22, 19,33, 65,58, 51,64, + 69,68, 50,51, 33,56, 50,58, 45,24, 42,12, 61, 1, 61,21, + 29, 3, 64,60, 45,22, 56,37, 10,52, 23,60, 52,54, 10,63, + 36,53, 7,29, 53,21, 28,10, 65,21, 57,56, 9,31, 35, 7, + 39,38, 50,12, 26,57, 17, 9, 35,63, 14,48, 53,39, 55,14, + 11,14, 21,34, 2,41, 56,64, 5,17, 31,19, 48,19, 0,16, + 26,47, 16,34, 21,20, 12,40, 54, 9, 59, 1, 40, 1, 25, 7, + 32,65, 3,29, 64,57, 10,37, 69,64, 44, 0, 46,26, 2, 4, + 29,53, 2,18, 59,17, 11,38, 37,12, 0,67, 17,35, 14, 9, + 34,55, 27,15, 49,25, 53,20, 30,61, 29,41, 65,63, 54,43, + 15,30, 28, 5, 17, 1, 61, 7, 21,12, 52,39, 7,10, 3,11, + 63,33, 37,35, 17,54, 63,66, 5,51, 33,61, 22,39, 68,32, + 21,41, 39,35, 48,34, 43,69, 67, 4, 3, 3, 5,59, 9,28, + 45, 8, 6,34, 4,15, 66,48, 53,31, 21,16, 64,54, 53,67, + 18,12, 22,23, 11,28, 13,65, 43, 0, 30,39, 62,19, 59,49, + 44,66, 1,59, 20,24, 48,10, 25,14, 5,27, 2,16, 38,50, + 29,34, 30,62, 40,27, 65,17, 52, 7, 66,32, 29,64, 4,64, + 3,69, 23, 1, 44,64, 13,36, 1,66, 51,24, 9,54, 49,38, + 17,46, 22,51, 25,49, 7,57, 40,23, 2,49, 29,68, 3,37, + 32,11, 58,44, 66,33, 15,18, 8, 0, 12,69, 50,27, 26,62, + 40, 3, 2, 3, 46,29, 46,43, 50,64, 35,68, 34, 3, 55, 9, + 62,58, 19,31, 50,42, 16,15, 42,37, 40,30, 51,51, 16,44, + 42,17, 11,47, 8, 5, 23,26, 2,37, 67,28, 22,31, 15,66, + 28,64, 57,39, 47,24, 8,18, 24,68, 0,11, 36,46, 37,50, + 33, 6, 49, 0, 6,62, 29,42, 14,67, 25,27, 8,55, 32,44, + 26,38, 60,41, 67,23, 25, 9, 31, 9, 24,26, 34, 6, 38,69, + 31,64, 63,49, 32,43, 38,35, 0, 1, 13,20, 5, 0, 32,48, + 19,20, 59,45, 21,35, 69,67, 39,13, 57,68, 54,35, 4,11, + 47, 4, 16,54, 47,42, 20,64, 4,22, 47,65, 40,41, 40,14, + 35, 4, 48,45, 56,55, 63,58, 68,37, 41,68, 15,57, 32,63, + 6, 7, 41,50, 20,51, 33, 9, 0,14, 58,36, 0,59, 43,58, + 28,45, 7,28, 42,28, 18,29, 44,21, 57,53, 10,14, 59,21, + 9, 3, 22,46, 4, 4, 35,11, 18,55, 16, 5, 23,45, 53,25, + 49,58, 28,51, 29,63, 36,50, 55,52, 9,59, 1,24, 64,14, + 67,46, 56,30, 32,25, 11, 7, 25,33, 14,27, 1,50, 20,22, + 5,26, 38,21, 55,33, 69,40, 58,64, 40,52, 47,18, 39,25, + 55,19, 49,31, 33,30, 50, 2, 10,58, 58,37, 33,52, 62,14, + 41,40, 35,16, 50,33, 43,11, 50,14, 35,38, 35, 3, 62, 2, + 6,22, 69,37, 17,56, 64,23, 53, 0, 67,62, 68,23, 31,48, + 42,62, 8,37, 55,26, 16,29, 1,28, 50,28, 12,37, 0,28, + 62,26, 47,35, 57,31, 50,66, 41,49, 55,43, 24,60, 20,41, + 13,32, 47,63, 23,25, 45,63, 17,17, 23,28, 45,50, 35,21, + 30,38, 47,38, 10,30, 7,43, 41,22, 59,19, 42,64, 52,67, + 12,25, 33,36, 27,56, 40,24, 14,10, 37,27, 35,47, 63,21, + 23,27, 51,49, 46, 9, 15,28, 41, 6, 2,64, 19,59, 57,62, + 45,37, 24,69, 31,67, 35,55, 67,65, 61, 5, 7,59, 31,51, + 51,44, 67,39, 18,50, 34,60, 37,37, 22,30, 15, 3, 29, 5, + 25,66, 62,34, 20,53, 54,33, 23,38, 53, 1, 17,57, 25,63, + 62,43, 68,11, 54, 1, 39, 1, 58,15, 58,47, 9,46, 62,32, + 3,44, 56,54, 6,25, 32,46, 21,26, 44,42, 30,37, 58,41, + 27,51, 8,26, 61,55, 55,21, 50,13, 31,54, 51,58, 39,39, + 32,34, 39, 2, 52,31, 26,10, 68,40, 18, 3, 44, 1, 49,62, + 34,29, 40,57, 61,14, 22,29, 4, 0, 61,51, 42,55, 25,46, + 10,28, 69,16, 29, 8, 56,10, 42,33, 47,64, 56,14, 62,50, + 55,63, 45,28, 63,59, 66,39, 65,55, 55,62, 44,57, 3,17, + 56, 0, 40,26, 36,60, 12,39, 46,16, 68,18, 46,21, 37,24, + 12,21, 16,62, 52,57, 59, 0, 61,56, 66,52, 65,25, 64,59, + 34,57, 53,60, 37,57, 56,38, 15,41, 31,20, 30,18, 52,55, + 59,60, 6,13, 20,36, 10,44, 8,12, 65,66, 32, 1, 36,55, + 54,16, 25, 8, 27, 3, 29,58, 33,40, 28,15, 11,49, 27,16, + 63,36, 27,34, 44,28, 39,22, 11,68, 15,29, 21,61, 49,32, + 32,10, 27,13, 26,19, 68,52, 67,59, 3, 2, 32,57, 36,28, + 49, 3, 17,47, 1, 6, 68,51, 5,60, 0,63, 60,29, 30,56, + 14,37, 19,54, 27, 2, 67, 5, 40,29, 23,22, 52,34, 36,17, + 58,35, 25,48, 53,12, 55,27, 28,48, 15,63, 16,28, 17,41, + 5,23, 44,22, 2,45, 21,64, 44,39, 12,62, 60,13, 42,18, + 4,46, 37,44, 3,18, 29,20, 10, 4, 33,12, 3,34, 21,60, + 65, 0, 12,42, 57,10, 68,16, 23,19, 34,35, 21,66, 17,48, + 3,43, 36,56, 2,30, 14,26, 61,19, 21,48, 48,37, 21,22, + 0, 9, 31,24, 7,20, 65,49, 25,59, 43,49, 23,23, 47,19, + 8,59, 8,63, 10,64, 43, 9, 55,29, 24,16, 63,12, 64, 1, + 0, 8, 9,55, 6,65, 45,10, 7,17, 51,11, 7,56, 67, 2, + 21,33, 2,59, 67,31, 0,31, 37,52, 43,66, 19,68, 41,26, + 47,48, 61,28, 38,12, 14, 0, 35,15, 15,49, 61,68, 28, 8, + 30,27, 32,22, 18,21, 23, 3, 38,39, 4,49, 61,32, 15,52, + 46,42, 17, 5, 1,33, 8,49, 56,19, 37, 6, 17,59, 36,39, + 46,39, 37,64, 51,35, 14,57, 51,43, 57, 3, 44,62, 36,42, + 19,30, 17,13, 30,32, 68,22, 56,28, 34,65, 46,33, 19, 3, + 66,21, 28,14, 6,10, 51,28, 3,26, 58,57, 11, 9, 49,49, + 44, 6, 50,46, 43,68, 3,61, 26, 0, 41,20, 49,53, 19,66, + 46, 5, 20,62, 38, 8, 35, 2, 32, 7, 22,64, 53,53, 68,14, + 66,14, 14,38, 60,52, 45,34, 3,45, 22, 2, 44,37, 59,44, + 52,28, 41,36, 68,42, 12, 7, 9, 4, 43,35, 34,31, 21,49, + 35,25, 31,32, 57,65, 12,35, 32,21, 67,11, 8,31, 26, 8, + 32,27, 54,14, 24, 2, 7,37, 31,53, 35,60, 26, 4, 58,65, + 62, 4, 38,45, 53,11, 49, 6, 33,14, 64,20, 43,10, 67,58, + 65,27, 63,14, 16,66, 69,44, 16,51, 9,12, 60,16, 34,51, + 43,32, 64,42, 20,37, 66, 1, 18,23, 24,39, 62,59, 50,30, + 47,20, 14,58, 34,28, 20,15, 61,40, 58,54, 27,59, 6,55, + 4,27, 45,51, 30,42, 63,42, 35,36, 15,31, 0,18, 13,19, + 40,51, 34,14, 13,31, 57,66, 33,11, 6,58, 62,37, 49,65, + 37,42, 9,19, 16, 3, 3,54, 42,38, 61, 9, 9, 5, 56,49, + 63, 0, 67,13, 12, 1, 21,63, 67,19 +}; +const int p_70_18[] = { + /// Number of people on picture + 70, + /// Number of preferences + 23, + /// Array of preferences + 66,36, 67,50, 31,52, 21,45, 48,68, 65,32, 52,34, 60,55, + 49,55, 5,23, 65,27, 32,17, 25,54, 34,61, 11,29, 55,15, + 0,11, 67,20, 5,64, 55,16, 28,12, 67,29, 13, 2 +}; +const int p_70_19[] = { + /// Number of people on picture + 70, + /// Number of preferences + 273, + /// Array of preferences + 49,38, 42,49, 40,54, 49,51, 53,31, 42,61, 58,64, 41, 5, + 59,46, 13,22, 67,40, 25,18, 21,17, 7, 2, 30,21, 6,48, + 13,62, 38,68, 65,39, 49,24, 43,41, 39, 7, 69,50, 37,55, + 16,61, 25,12, 26,48, 25, 9, 29, 5, 41,22, 32,55, 1,67, + 29,51, 61,63, 38,55, 64,22, 16, 8, 42,46, 2,53, 65,26, + 68, 8, 32,33, 2,12, 45,56, 63,65, 2, 6, 47,59, 31,63, + 42,65, 39,57, 59,14, 64,66, 29, 2, 45,30, 55,61, 39,66, + 63,44, 47,47, 58,49, 29,18, 65,20, 58,18, 67,35, 45,20, + 21,24, 61,16, 61,30, 27,27, 41,42, 44,28, 53,69, 60,10, + 6,13, 42,22, 58,15, 34,13, 3,20, 46,12, 2, 0, 49,48, + 50,13, 55,40, 39,59, 52,58, 16,48, 56,55, 60,47, 47,60, + 6,44, 12,54, 36,65, 46,51, 63, 4, 66,41, 12,37, 7,33, + 66,61, 19,59, 60, 5, 12,64, 33,43, 68, 3, 24,65, 58, 0, + 21,38, 30,19, 2,16, 16,21, 24,25, 44, 1, 52,49, 14, 1, + 7,32, 34,35, 3, 7, 22,35, 66,63, 27,69, 30, 5, 48,41, + 66, 1, 23,54, 46,47, 45,29, 15,17, 31,61, 14,68, 45,31, + 50,65, 65,24, 63,13, 64,58, 27, 9, 42,44, 62,42, 20,38, + 35,37, 27,35, 52,69, 54,36, 65,21, 51,29, 36,18, 41,40, + 11,41, 67,63, 10,17, 24,57, 31,44, 61,48, 49,16, 62,56, + 60,59, 46,39, 45,22, 43,26, 26,20, 16,44, 2,32, 2,41, + 24,50, 44,43, 13,30, 40,47, 43,18, 0,57, 9,35, 31,53, + 53,27, 46,25, 37,22, 7,69, 59,65, 22,11, 68,48, 69,44, + 30,51, 22,25, 55,37, 67,26, 58, 3, 20,42, 40,31, 25,14, + 50,44, 4,50, 67,28, 31,34, 53,19, 15,59, 27,45, 60,66, + 1, 2, 27,59, 20,47, 11,66, 25,43, 36,68, 69,49, 58,12, + 8,33, 54,46, 21, 8, 38,62, 51,57, 30,67, 1,23, 23,18, + 40,17, 38,66, 28,26, 15,49, 48,59, 55,21, 65,56, 30,56, + 10,12, 47,67, 39,67, 58,46, 56,21, 36,41, 14,31, 8, 3, + 12,51, 36, 6, 19,54, 12,33, 43,46, 64,67, 55,31, 12,16, + 41,64, 65,48, 59,26, 36,45, 17,65, 28,51, 38,30, 65,53, + 34,53, 3,11, 48,28, 39,40, 20,49, 33,25, 68, 0, 9,62, + 64,45, 50, 8, 30,10, 65,12, 36,53, 68,38, 40,12, 18,14, + 61,27, 25,27, 21,21, 25,34, 59, 5, 47,20, 12,40, 8,40, + 23,37, 63,45, 27,15, 61,59, 45,59, 5,15, 25,13, 44,42, + 52,48 +}; + +const int p_80_0[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1317, + /// Array of preferences + 69,49, 76,73, 31,58, 1,41, 78,61, 76, 8, 16,36, 60,31, + 48, 0, 75,38, 30,66, 46,34, 26,56, 73,43, 16,12, 36,66, + 59,43, 48,42, 28,60, 45,34, 49,39, 65,21, 27,50, 18,53, + 42,21, 12,23, 55,33, 10,35, 71,69, 53,67, 28, 5, 3,37, + 21,62, 61, 5, 35,40, 76, 1, 18,27, 73,79, 33,51, 4,28, + 44,23, 44,61, 2,32, 34,53, 27,14, 5,42, 32,67, 32,21, + 27, 4, 18,22, 53,30, 49,53, 41,40, 49,49, 52,20, 60,41, + 39,70, 55, 3, 52,70, 33,34, 43,37, 39,14, 61,18, 10,15, + 47,72, 22,75, 74,24, 43,32, 26,24, 24,55, 57,43, 43,79, + 43,19, 10,33, 43,58, 31, 7, 78,75, 52,69, 0,73, 1,17, + 47,51, 26, 4, 31,73, 12,56, 16,21, 18,54, 10,30, 66,69, + 1, 6, 61,49, 62,77, 44,42, 52,49, 75,77, 41,79, 16,79, + 38,21, 43,34, 37,24, 54,67, 54,64, 43,41, 67,18, 41,51, + 33, 7, 69,45, 44,12, 74,36, 30,23, 57,34, 73,12, 17,75, + 15,40, 19,18, 50,22, 20,79, 71,41, 11,36, 40,56, 6,57, + 56,43, 45,28, 63,57, 56,21, 4,20, 14,58, 1,16, 73,70, + 30,63, 71,24, 5,73, 77,78, 19,62, 77,49, 20,56, 42,79, + 47,40, 17,54, 27, 7, 10,39, 33,56, 18,39, 62,63, 60,19, + 23, 1, 79,61, 70,47, 54,66, 39,57, 5,57, 9,12, 39,44, + 67,28, 19,37, 3,59, 22,70, 63,14, 71,40, 55,15, 21,74, + 16,63, 61,12, 45,36, 27,76, 59,38, 12, 7, 71,62, 66,26, + 7,33, 19,30, 78,48, 47,10, 27,67, 51,65, 15,62, 34,21, + 78,74, 35,23, 59,69, 11,50, 70,75, 53,52, 32, 8, 50, 2, + 14,19, 7,78, 77,44, 38,33, 8, 7, 68,25, 61,58, 72,52, + 18,47, 8,72, 66,71, 57, 4, 8,42, 37,17, 11,40, 7, 7, + 36,67, 48, 4, 55,76, 14, 6, 68,72, 79,56, 63,11, 59,52, + 13,42, 41,24, 6, 7, 14,77, 62,36, 56,30, 31,56, 50,52, + 39,59, 75,54, 73, 1, 65,73, 30,68, 19, 1, 77,75, 5, 1, + 11,78, 44, 0, 15, 8, 7,29, 14,71, 42,72, 44,19, 40,20, + 66,25, 19,24, 28,28, 50,53, 1,12, 63,54, 33,31, 69,67, + 1,71, 79,28, 52,24, 77,32, 37,72, 78,69, 61,64, 21,46, + 50,79, 44, 1, 75,33, 10, 6, 57,17, 56,47, 70,26, 2,76, + 73, 6, 9, 7, 29,60, 41, 8, 34,56, 7,52, 24,48, 33,73, + 30,30, 38,43, 37,30, 65,17, 21,37, 25,67, 67,55, 50,58, + 61,76, 73, 4, 76,70, 79,11, 9,22, 35, 7, 4,45, 44,76, + 31,24, 57,49, 15,58, 65,71, 77,18, 17, 7, 30,70, 28, 6, + 66,43, 43,48, 23, 8, 13, 5, 21,47, 48,79, 1,59, 55,18, + 72,12, 78,59, 52,40, 66, 8, 9,79, 16,56, 79,68, 9,51, + 50,35, 66,50, 59,58, 6,45, 38,70, 29,61, 51,59, 71,16, + 49,36, 45,11, 43,15, 44,15, 42,30, 28,13, 15,25, 1,25, + 71,54, 28,20, 33,71, 68, 3, 2,26, 15,26, 15,75, 69, 1, + 33,36, 79,53, 63,45, 78,14, 30,48, 57,54, 78,77, 39,55, + 68,56, 40,52, 75,36, 70,71, 29,78, 8, 1, 78,36, 25,74, + 37, 3, 23,51, 41,36, 36, 8, 75,29, 13,30, 4,25, 78,73, + 38,65, 16, 9, 78,13, 28,78, 23,69, 11,39, 0,20, 10,61, + 22,56, 17,59, 59,48, 77, 0, 64,53, 64,55, 7,17, 13, 6, + 56,20, 34,16, 4,31, 29,21, 17,29, 64,73, 38,49, 66,37, + 16,35, 12,58, 20,30, 4,42, 56, 6, 49,42, 40, 5, 25,70, + 9,48, 16,40, 64,44, 43,30, 29,79, 47,19, 77,22, 37,22, + 42,29, 15, 5, 54,71, 73,30, 29,57, 23,52, 11,67, 37,71, + 7,26, 24,58, 36,34, 68,43, 77,62, 6,10, 67,31, 71, 9, + 61,57, 76,31, 32,58, 36,69, 76,43, 5,30, 7,10, 35,29, + 28,50, 13,46, 64,68, 6,55, 33,42, 77,17, 58,45, 57,71, + 71,23, 7,61, 23,78, 24,52, 2,68, 43,68, 21,48, 78,64, + 51,22, 62, 0, 56,29, 70,17, 77,58, 42,12, 22,46, 61,72, + 16,14, 20,73, 41,18, 18,37, 53,29, 12,65, 57,65, 40,79, + 45,32, 28,70, 35,11, 74,41, 41,38, 50, 3, 71,59, 10,49, + 60,78, 27,73, 1, 0, 17,55, 0,41, 51,68, 72,14, 14,24, + 34,69, 11,38, 20,14, 22,40, 17,69, 63, 0, 32,65, 12, 5, + 26,34, 27, 3, 76,40, 78, 6, 19,71, 48,58, 49,63, 69,50, + 74,33, 57, 0, 8,69, 30, 3, 63,24, 33,12, 19,26, 2,52, + 25,66, 43, 0, 32, 7, 53,42, 52,78, 73,21, 64,25, 72,32, + 14,30, 25,53, 78,55, 37,48, 0,72, 69,32, 56,66, 40,10, + 0,28, 79,67, 30, 8, 24, 1, 22,24, 73,49, 66,58, 42,28, + 1,40, 11,47, 66,23, 47,33, 3,56, 75,48, 37,67, 36,75, + 8,24, 4,18, 68,10, 3,60, 45,69, 60,47, 75, 1, 4,35, + 5,76, 57,56, 55,31, 19,35, 42,44, 39,28, 51,62, 25, 8, + 60,37, 35,64, 13,14, 31,41, 27,21, 63,53, 67,78, 35,18, + 3, 5, 30,20, 36,47, 44,46, 17,18, 10,68, 0,45, 36,59, + 12, 6, 42,61, 23, 4, 76,34, 10,55, 11,71, 9,26, 17,10, + 17,51, 23,58, 75,58, 12,57, 35,34, 57,77, 31,12, 64,27, + 56, 1, 51,50, 52,33, 48,59, 50,23, 21,32, 51,45, 70,43, + 41,10, 59,63, 50,61, 4,68, 9,47, 58,39, 50,25, 31,22, + 17,76, 39, 0, 3,47, 4,59, 17, 1, 64,48, 46,56, 65,34, + 54, 2, 71, 8, 31,44, 8,70, 73,66, 6,32, 63,55, 3,31, + 54,51, 45, 0, 36,53, 19,22, 46,35, 78,17, 36,13, 8,71, + 77, 2, 5,64, 21,65, 13,19, 55, 0, 62,21, 20,46, 19, 2, + 67,39, 56,53, 6,43, 27,29, 61,50, 73,24, 53, 3, 34,40, + 9,60, 49,29, 31,16, 61,22, 7,58, 38,22, 47,59, 13, 9, + 33, 1, 76,77, 74,57, 49,47, 37,74, 15,61, 59,21, 14,11, + 74,74, 61,35, 58,17, 72,35, 76,12, 15,57, 56,13, 4, 2, + 78,12, 56,24, 18,44, 50,48, 5,32, 66,76, 60,50, 33,52, + 4, 5, 75,53, 41,59, 37, 1, 63,34, 62,43, 24,47, 48,52, + 29,49, 54,62, 23,33, 51,48, 52,51, 40, 8, 51,71, 45,21, + 44,60, 20,60, 62,19, 20,32, 45,56, 20,41, 55,53, 3,49, + 78,24, 16,17, 50,32, 8,14, 68,12, 74,60, 33,64, 28,53, + 2,36, 62,13, 20,19, 59,74, 13,44, 78,47, 28,45, 71,60, + 57,35, 32,29, 0,39, 34,30, 47,28, 10,12, 14,68, 41,73, + 58,70, 23,64, 13,39, 29,52, 75,71, 42,50, 7, 5, 17,48, + 57,40, 68,74, 58, 1, 51, 3, 9,10, 61,43, 70, 2, 68,60, + 27, 5, 41,25, 27,10, 73,63, 40,53, 6,41, 16,67, 25,25, + 77,63, 2,29, 51,37, 64,65, 62,79, 79,47, 65,39, 29,63, + 42,76, 49,19, 13,66, 66,28, 26,63, 34,34, 52,61, 24, 8, + 59,70, 0,25, 3,41, 32, 1, 17,22, 68,79, 48, 9, 24,40, + 72,37, 47,34, 72,47, 68,69, 7,56, 17,53, 29, 7, 30, 4, + 72,79, 22,18, 42,24, 74,79, 12,55, 19,55, 33,60, 65, 1, + 29,65, 22,60, 7, 6, 22,13, 65,18, 42,36, 26,77, 0,57, + 77,71, 0,30, 32,30, 22,54, 64,76, 35,15, 58,14, 39,74, + 69,62, 24,46, 69,48, 28,17, 47,67, 30,53, 34, 8, 48,54, + 29,59, 44,66, 16,29, 32, 4, 12,70, 32,18, 53,13, 75,37, + 67,53, 61,68, 75,63, 30,41, 14,70, 47,52, 0,60, 25,20, + 9, 0, 41,65, 0,37, 27,49, 11,21, 50,31, 63,36, 12, 4, + 35,68, 65,33, 52,55, 6,13, 38,14, 13, 2, 5,60, 36, 3, + 7, 0, 71,61, 69,34, 39,53, 78,72, 12,51, 50,43, 65,70, + 45,35, 38,55, 42,18, 64,46, 69,29, 0, 0, 63,52, 53, 6, + 77,59, 51,27, 20,54, 9,57, 64,47, 26,33, 35,44, 2,22, + 45, 7, 36,25, 57,27, 31,65, 51,57, 9,13, 57,36, 48, 6, + 16,51, 78,18, 33, 9, 38,23, 9,70, 16,44, 65,60, 18,28, + 13,12, 61,44, 35,79, 64,70, 19,75, 36,48, 27, 9, 3,12, + 57,32, 17,50, 79,62, 8,30, 74,16, 32, 3, 14, 9, 40,72, + 43,46, 26,51, 29,34, 72, 6, 11,13, 12,19, 34,20, 35,60, + 45,38, 73,15, 54,65, 36,79, 42,63, 40,62, 17,71, 24,19, + 22, 8, 33,37, 11,53, 72,26, 56,48, 4,12, 2,35, 46,37, + 68,14, 1, 2, 47,37, 37,31, 26,69, 56,15, 61,16, 39,10, + 4,30, 53, 2, 64,79, 57, 7, 47,66, 28,41, 67,44, 23, 0, + 31,78, 11,77, 46,79, 2,46, 28,65, 44, 2, 66,53, 75,64, + 13,52, 41,48, 70,46, 33, 8, 27,52, 43, 3, 59, 8, 47,64, + 75,43, 19,50, 63,66, 68,57, 49, 1, 46,75, 72,51, 14,66, + 78,30, 22,64, 41,50, 25,48, 54,61, 73,50, 59,20, 6,40, + 11,31, 48,20, 42, 5, 13,61, 19,52, 25,55, 58,34, 5, 8, + 43,33, 68,36, 75,44, 76,53, 72,38, 53, 1, 39, 7, 26,37, + 27,68, 43,35, 52,35, 21,21, 29,56, 41,27, 16,55, 47,25, + 5,15, 19,46, 22,68, 8,51, 8,27, 48,34, 52,65, 73,38, + 0,67, 72,60, 46,78, 29,23, 17,39, 65,28, 13,22, 10,47, + 39,60, 76,52, 10,19, 24,63, 8,53, 39,76, 70, 5, 5, 9, + 56,18, 67,21, 64,56, 31, 2, 1,34, 59,72, 60,21, 73, 7, + 17, 0, 5,25, 3,50, 69, 0, 32,68, 52,25, 49,31, 15,68, + 74, 0, 53,46, 18, 1, 23, 2, 23,75, 24,45, 20,45, 9,71, + 46,61, 50,37, 37,65, 41,23, 55,57, 44,70, 6,31, 53,50, + 59,55, 48,50, 45,46, 1,53, 63,62, 41,22, 48,74, 20,47, + 23,68, 50,51, 55,72, 7,51, 22,52, 57,78, 66,64, 56,55, + 38,75, 11,79, 52,11, 59,64, 33,35, 47,21, 71,27, 74,39, + 48,35, 13,56, 23,77, 33,43, 39,62, 56,44, 44,41, 0,18, + 15,56, 32,25, 53,33, 43,22, 62,12, 31,52, 43,16, 41,60, + 66,32, 34,72, 9,19, 65,44, 1,36, 17,44, 12,34, 4,49, + 47,46, 69,18, 72,48, 42,42, 50,70, 0,70, 62,39, 39, 4, + 68,37, 66,55, 60,46, 59,44, 28,73, 60, 1, 12, 1, 36,35, + 76,14, 20,37, 12,46, 13,49, 7,71, 74,72, 1,10, 7,11, + 36, 6, 9,75, 55,48, 14,39, 34,62, 79,31, 23,50, 27,77, + 1,35, 74,38, 56,71, 43,42, 7,43, 66,59, 29,71, 41, 4, + 56,33, 13,63, 4,26, 76,78, 40, 7, 71,68, 0,11, 26,45, + 33,32, 70,31, 37,55, 19,20, 28,55, 43,40, 2,44, 65,24, + 10,22, 30,58, 24,32, 24,14, 37,18, 29,40, 72,78, 51,33, + 3,10, 14,35, 13,17, 33,23, 27,57, 3,64, 60,40, 57,21, + 24, 3, 32,43, 36,40, 45,66, 74,34, 25,12, 8,29, 52,14, + 49,64, 47, 2, 72,30, 6,67, 24,67, 25,71, 34, 0, 52,77, + 73,47, 31,33, 26,72, 78, 3, 39,77, 34,67, 57,10, 15,36, + 38,24, 15,60, 78, 9, 52,71, 54,11, 77,64, 15,51, 10,58, + 79,63, 54, 4, 39,30, 64,15, 79, 4, 64,43, 77,35, 47, 6, + 6,59, 23,48, 50,66, 79,46, 50, 1, 15, 9, 5,53, 41,43, + 11,60, 42,22, 1,49, 4,75, 10,10, 29,27, 25,10, 11,57, + 73,48, 45,12, 36,73, 74,77, 55,25, 5,71, 35,20, 39,15, + 62,64, 1,47, 8,54, 12,29, 78,79, 77,38, 1,24, 68,30, + 56,26, 48,16, 62, 7, 78,44, 28,40, 51,38, 42,17, 21,75, + 52,79, 52,42, 34, 5, 74,35, 28,19, 9, 5, 5,12, 40, 4, + 77,46, 67,77, 61,31, 38, 9, 53,38, 33,47, 0,13, 53, 5, + 45,59, 56, 2, 46,25, 46, 8, 31,30, 27,19, 23,11, 54,20, + 17,40, 68,40, 11,34, 8,34, 72,42, 39,34, 22,20, 32,16, + 14,63, 9, 9, 72,11, 12,17, 73,33, 20, 8, 29,45, 14,33, + 30,15, 73, 3, 32,44, 21,63, 23,43, 59,37, 52,43, 22,29, + 54,43, 58,75, 79,27, 77,70, 61,40, 46, 4, 55,63, 72,56, + 48,31, 58,61, 21, 6, 46,48, 18, 5, 60,57, 73,75, 50,49, + 56,72, 34,54, 46, 5, 63,76, 48,33, 58,35, 43,67, 47,39, + 32,70, 71,10, 29,12, 43,76, 25, 1, 67,79, 0,22, 27,79, + 30,31, 5,78, 41,54, 40,73, 41,30 +}; +const int p_80_1[] = { + /// Number of people on picture + 80, + /// Number of preferences + 509, + /// Array of preferences + 9,59, 40,61, 63,11, 41,67, 58,38, 41,52, 0,72, 14,50, + 33,26, 31,46, 8, 2, 4,16, 22,59, 44,66, 12,72, 26,40, + 75,26, 56,67, 52,62, 25,43, 28,48, 26, 3, 78,37, 72,25, + 67, 7, 62,27, 42,49, 17, 6, 59,50, 2, 6, 49,34, 9,65, + 64, 3, 52,55, 59,58, 50,55, 42,25, 23,49, 28,38, 57,59, + 16,50, 53,61, 76,44, 73,66, 51,37, 20,47, 38,11, 39,76, + 54,74, 67,53, 25,35, 8,31, 7,30, 24,46, 36,55, 23,55, + 37,30, 76,28, 71,23, 53,10, 21, 1, 60,72, 58,48, 78,72, + 30,50, 1,25, 31,38, 75,49, 23, 3, 58, 0, 19,27, 68,57, + 53,36, 77,13, 50,39, 55,28, 9,32, 66,18, 35,46, 11,69, + 7,23, 47, 6, 23,23, 66,79, 33, 4, 28, 0, 22,48, 57,47, + 78,31, 46,42, 55,74, 33,78, 18,57, 66,64, 47,61, 11,72, + 58, 4, 75,59, 79,70, 69,46, 37,58, 5,27, 58,66, 52,59, + 40,75, 21,39, 10,63, 52,68, 27,16, 10,22, 53,42, 44,20, + 69,12, 32,62, 13,17, 5,65, 47,32, 54,56, 41,34, 76,31, + 77,64, 0,34, 0, 1, 41,69, 59,49, 37,59, 14,13, 19,39, + 59,61, 25,42, 64,74, 64,68, 34,42, 37,34, 76,40, 46,10, + 64,42, 71,40, 33,76, 45,39, 63,14, 10,12, 56,20, 70, 1, + 29,79, 63,16, 69,26, 62,55, 75,41, 7,59, 36,58, 2,34, + 74,31, 14,52, 10,15, 59,73, 25,27, 10,65, 13,72, 70, 4, + 74,22, 70,57, 5,71, 52,41, 24,36, 60,76, 38,57, 41, 6, + 35, 6, 5, 8, 72,15, 7,76, 57,69, 48,63, 36,76, 38,70, + 67,61, 66,47, 56,61, 61,62, 7,42, 62,49, 57,24, 48, 9, + 65,69, 64,43, 78,69, 24,50, 26, 7, 68,65, 66, 4, 67,65, + 50,44, 16,53, 9,49, 26,44, 9,19, 5,66, 35,45, 33, 2, + 18,72, 2,65, 46,37, 79,72, 42,74, 32,72, 30,30, 79,28, + 56,10, 76,17, 56,11, 3,29, 32,36, 47,66, 14,41, 69,13, + 41,29, 53,78, 71,62, 38,48, 45,35, 44,19, 19,46, 49,35, + 73,29, 36,65, 44,31, 7,32, 18,38, 77,59, 26,77, 49,27, + 39,69, 15,18, 24,68, 19,65, 8, 9, 49, 2, 34,14, 5, 2, + 58,43, 28,65, 56,73, 67,32, 22,40, 77, 0, 34,32, 21,31, + 4,25, 50,33, 39,31, 70,78, 49,57, 6,71, 53,56, 18,10, + 42,10, 12,14, 59,43, 64,59, 37,74, 24,74, 13,64, 24,60, + 1,67, 28, 8, 76,74, 35,52, 28,33, 8,59, 50, 4, 6,39, + 72,42, 66,25, 18,21, 11,64, 41,21, 51,63, 62, 2, 7, 6, + 34,71, 73,76, 54,43, 57,10, 79,45, 13,44, 34,59, 35,42, + 32,55, 44,43, 28,49, 8,40, 24,17, 40,57, 54,23, 46,11, + 70,38, 25,12, 68,14, 48,50, 72, 6, 10,39, 62, 3, 10,46, + 45,32, 60,74, 45,47, 63,54, 31, 7, 56,55, 68,63, 78,26, + 29,15, 77,18, 49,13, 66,58, 68,42, 17,26, 19,34, 44,47, + 11,73, 63,58, 28,69, 74,69, 36,75, 19,18, 34,45, 8,58, + 51,74, 16,25, 20,16, 46,58, 50,57, 50,53, 47,30, 14,60, + 39,60, 12,42, 9,38, 11,53, 67,33, 76,16, 54,39, 58,45, + 54, 1, 71,39, 2,26, 41,68, 37,76, 8,76, 48,58, 63,31, + 12, 9, 24,24, 68,16, 23,78, 22, 8, 7,65, 34,24, 53,35, + 58,70, 71,12, 9,14, 4,22, 59,55, 22,10, 68,60, 59,67, + 45, 1, 18,18, 20, 4, 37,19, 45,26, 41,75, 8,54, 12,54, + 56,35, 51,65, 3,18, 30,74, 12,73, 8,14, 64,79, 33,21, + 55,72, 29,38, 41,23, 58,11, 0,79, 3, 1, 30,69, 35,62, + 52,47, 60,14, 50,56, 55,42, 53,51, 38, 3, 26, 1, 56,27, + 20, 1, 21,54, 36,35, 54,32, 65,13, 23,14, 11,58, 30, 2, + 34,21, 44,37, 73,71, 38,59, 71, 5, 38,64, 75,18, 24,45, + 55,56, 74,29, 45,56, 35,76, 8, 6, 14, 5, 63,10, 18,26, + 10,44, 15,27, 10, 6, 4,35, 61,19, 32,77, 31,65, 50,52, + 26,25, 59,23, 52,48, 12,74, 48,12, 56,18, 55,25, 42,42, + 10,26, 73,17, 17,75, 68, 9, 33,54, 25,14, 28,45, 40,73, + 45,68, 36,16, 25, 1, 13,16, 71,30, 28,76, 41,26, 71,17, + 32,66, 1,39, 32,56, 34, 6, 59,21, 50,76, 49, 1, 55,47, + 65,15, 32,41, 44,25, 43,69, 8,23, 73, 8, 27,72, 26,12, + 18,47, 76,52, 37,16, 17,68, 10,25, 41, 1, 57,26, 20,35, + 18,61, 59,13, 16,41, 75,25, 62,33, 38,66, 15,75, 2,73, + 5,76, 18,36, 9,77, 56,49, 67,66, 36,11, 48,43, 79,37, + 9,58, 20,57, 18,16, 47,26, 22,32, 66,26, 45,24, 19,26, + 71, 7, 32,76, 60,58, 20,69, 18,14 +}; +const int p_80_2[] = { + /// Number of people on picture + 80, + /// Number of preferences + 749, + /// Array of preferences + 37, 4, 9, 0, 21,79, 22,48, 35, 7, 36,55, 20,38, 29,33, + 74,35, 78,58, 6,27, 0,60, 69,19, 72,46, 42,46, 6, 5, + 43, 0, 7,15, 27, 3, 45, 2, 67,33, 72, 4, 8,13, 4,75, + 20,40, 5,24, 31,35, 66,37, 39, 7, 16,30, 79,11, 52,48, + 4,23, 44,43, 46,34, 39,53, 28,49, 32,18, 7,61, 76,10, + 27,36, 57,10, 46,67, 8,24, 44,39, 46,26, 62,73, 74,66, + 67, 3, 69,41, 58,23, 58,28, 40,66, 78, 6, 71,17, 73,67, + 60, 9, 16, 2, 79,68, 38, 8, 15,57, 38, 9, 78,12, 32, 0, + 63,26, 3,72, 56,59, 17,25, 9,73, 26,13, 29,63, 76, 0, + 42,40, 24,12, 65,46, 62,55, 50,56, 66,47, 6,51, 7,35, + 68,34, 6,11, 20,22, 27,25, 54,28, 55,22, 10,23, 35,69, + 34,33, 76, 7, 23, 9, 16,20, 62,28, 51, 4, 12,32, 12,18, + 60, 2, 75,62, 75,36, 41,43, 69,64, 77,46, 67,10, 22,78, + 38,62, 25,52, 9,53, 5,12, 31,71, 0,62, 72,51, 42,61, + 3,53, 32,39, 40,65, 77,17, 10,51, 34,43, 1,53, 24,40, + 26,69, 6,28, 41,16, 71,61, 26, 1, 61,47, 43, 4, 44,66, + 53,11, 1,45, 16, 9, 18,13, 32, 4, 57,50, 8,37, 49,76, + 25,51, 51,34, 65,50, 0,10, 37,34, 19,16, 74,79, 59,56, + 8,57, 20,29, 31, 9, 43,20, 9,13, 12, 7, 65, 2, 7, 9, + 21,31, 42,21, 8,33, 72,24, 7,47, 70,69, 58,47, 18, 0, + 27,15, 72,33, 16,33, 61,13, 39,47, 7,49, 41,54, 1,33, + 5,41, 4,20, 25,74, 42,19, 25,62, 53,65, 11,51, 73,35, + 35,57, 38, 1, 10,75, 61,26, 26,22, 42,41, 38,52, 53, 9, + 54, 8, 19,43, 35,10, 16, 5, 8,11, 66,13, 28,76, 2,30, + 4,24, 41,66, 24,70, 79,16, 54,19, 36,13, 36,19, 11,49, + 61,51, 66,72, 31,16, 31,59, 61, 6, 48,36, 31,29, 45,36, + 28,36, 53,33, 17,54, 22,65, 15,43, 46,44, 0,64, 4,73, + 9, 4, 52,31, 5,52, 22,73, 32,15, 68,76, 23,46, 12, 4, + 3,43, 49,17, 21,27, 0,11, 63,57, 26,35, 25,28, 21,58, + 58,56, 20,52, 38, 7, 51,32, 8,22, 40,75, 50,36, 2,35, + 53, 2, 74,38, 61,76, 17,72, 20,57, 4,54, 45,75, 64,14, + 62,66, 72,75, 71,37, 72,56, 37,21, 53,67, 27, 5, 48,58, + 72,17, 9,70, 59,77, 48,72, 65,72, 43,47, 25,34, 13,69, + 52,34, 10,50, 74,76, 5,63, 48,39, 37,74, 7,26, 66,27, + 45,46, 56,79, 27, 4, 11,44, 65,16, 30,18, 10,27, 46,12, + 6,69, 56,66, 42,34, 14,35, 33,52, 37,49, 3,23, 62,19, + 37, 0, 49,13, 5,27, 55,78, 22,54, 42,17, 24,72, 53, 3, + 49,40, 20,12, 52,75, 9,32, 21,77, 37,42, 27,46, 10,73, + 22,66, 71,24, 13,39, 2,20, 41, 4, 15,12, 26,79, 45,52, + 74,31, 13,56, 40,46, 43,63, 56,12, 12,20, 77,51, 4, 4, + 14,46, 9,36, 36,73, 27,79, 8,27, 9,76, 37,23, 63,62, + 52,61, 45,74, 47,66, 0,57, 75, 6, 56,65, 74,43, 57,75, + 53,61, 4,52, 17,10, 30,62, 21,22, 55,19, 78,23, 75, 1, + 21,11, 45,24, 48,20, 13,12, 67,23, 23,58, 78,48, 47,51, + 63,61, 49, 7, 68,13, 59,72, 1,52, 76,12, 7, 3, 11,40, + 66, 8, 7,20, 55,68, 43,50, 1, 9, 12,46, 27,16, 14,37, + 73,42, 69,62, 73,20, 33,42, 37,79, 48,76, 50,23, 19,66, + 48,38, 59,68, 56,34, 2,73, 24,49, 61,27, 6,67, 38, 5, + 24,18, 78,25, 24,23, 50,22, 52,68, 50,63, 32,37, 33,23, + 13,49, 22, 2, 17,51, 42,33, 41,28, 19,14, 50,57, 17,38, + 75,26, 79,54, 61, 1, 67,72, 8, 0, 24,39, 79,35, 3, 7, + 28, 2, 54,44, 52,14, 65,75, 46,42, 48, 1, 4,30, 34, 2, + 16,38, 1,77, 50,27, 70,32, 22,35, 20,59, 4,44, 78,44, + 19,18, 3,51, 10,64, 47,19, 45,38, 47,34, 45,50, 56,14, + 39,50, 65,23, 63,30, 19,15, 45,27, 0,78, 72,58, 37,27, + 2,58, 51,43, 38,65, 47,50, 1,76, 60,25, 37,77, 34,36, + 46,31, 32, 6, 22, 8, 2, 2, 59, 1, 51, 0, 21,74, 0,73, + 47, 9, 27,34, 48,27, 3,76, 67,36, 65,14, 28,73, 40,52, + 26,57, 23,19, 15,61, 44,56, 33,77, 3,79, 70,70, 16,14, + 75,20, 25,47, 72,15, 73,21, 3,28, 2, 5, 54,57, 61,28, + 33,46, 39,66, 72,13, 61,37, 0,51, 11,17, 76,30, 27,55, + 26,70, 46, 6, 74,49, 64,46, 77,64, 59, 7, 43,46, 72,10, + 39,55, 44,49, 29,56, 42,56, 58,49, 29, 2, 15, 3, 62,67, + 19,27, 8,79, 51,19, 48, 0, 30,22, 25,20, 23,57, 67,73, + 77,29, 29, 5, 79,49, 43, 3, 23,31, 42,29, 77, 2, 74,42, + 44,21, 64,72, 28, 7, 39,25, 46,22, 6,32, 32,17, 77, 4, + 12, 2, 32,30, 70,35, 71,14, 17, 2, 25, 2, 27,32, 30,24, + 71,60, 51,23, 74, 8, 51,14, 23, 1, 71,57, 16,13, 35, 6, + 50,40, 1,18, 66,25, 49,41, 22, 4, 73,57, 30,49, 23,38, + 70, 9, 35,60, 21,33, 72,26, 50,64, 44,35, 18,14, 77,56, + 9,49, 39,67, 39,65, 24,15, 31,64, 40,24, 35, 1, 68,29, + 8,50, 40,38, 1,38, 68,31, 9,68, 50,68, 16,63, 46,50, + 5,42, 32,44, 29,75, 22,33, 21,45, 29, 3, 53,31, 9,74, + 66,53, 43,15, 57,29, 63,59, 17,32, 8, 7, 59, 0, 8,25, + 52,40, 18,21, 18,26, 42, 6, 11,71, 8, 6, 44,33, 10,13, + 56,52, 56, 2, 59,55, 31,54, 76,32, 70,36, 37,28, 62,71, + 8,12, 3,68, 13,20, 7,17, 11,57, 79,37, 74,61, 22,60, + 61,40, 1,66, 46,57, 12,68, 72,72, 78,11, 40,55, 39,34, + 47,52, 52,39, 9, 9, 50,32, 69,10, 47,48, 66,45, 63,67, + 43,48, 51,66, 34,64, 64,45, 78,47, 32,49, 39,49, 45,60, + 5,79, 64, 8, 27,63, 10,63, 60, 4, 73,17, 14,44, 74,24, + 30,52, 60,37, 42,32, 18,31, 67,56, 0, 3, 55,35, 37,18, + 19,60, 60,56, 37,32, 78, 7, 65,68, 34,13, 12,49, 35,45, + 22,23, 42,72, 45,11, 43,72, 60,17, 78,69, 46,25, 41,68, + 55,71, 22,50, 73,64, 56, 4, 48,50, 43,13, 12,14, 13,64, + 18,11, 26, 7, 56,28, 0,21, 26,40, 34,20, 35,54, 44,52, + 24,34, 23,51, 49,37, 18, 8, 11, 8, 0,14, 32,79, 21,72, + 79,60, 74,19, 29,44, 3,48, 20,50, 50,20, 16, 4, 60,35, + 49,31, 72,29, 45, 4, 77,31, 32,41, 47,68, 14,27, 63,12, + 2,49, 35,74, 6,15, 9,46, 17,50, 23,13, 48,10, 2,16, + 35,71, 20,23, 3, 0, 21,47, 35,23, 63,13, 55,20, 20,54, + 46, 3, 56,30, 34,66, 77,49, 73,52, 55,52, 35, 5, 58,27, + 34,62, 29, 6, 48,32, 58,58, 4,77, 60,19, 29,55, 56,32, + 4,67, 44,29, 7,31, 15,19, 55, 5 +}; +const int p_80_3[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1246, + /// Array of preferences + 27,67, 45,22, 58, 3, 54,19, 2,49, 76, 5, 69,24, 12,58, + 77, 7, 64,74, 79,72, 36,59, 65,19, 75, 0, 22, 1, 7,34, + 67, 4, 32, 4, 55,52, 47,26, 2,77, 64,66, 66, 8, 56, 0, + 0, 7, 29,28, 46,15, 70,75, 32, 0, 3,40, 24,76, 15,50, + 33,70, 65, 6, 73,49, 44,19, 71,47, 68,25, 3,62, 57,77, + 47, 9, 31,13, 77,71, 37,44, 7,47, 77, 1, 8,76, 77,48, + 66,26, 51,20, 57,54, 79,63, 40,41, 47,32, 74,37, 77,58, + 70,67, 67,12, 10,44, 23,34, 21,10, 34,21, 57,46, 17,57, + 51,26, 3,60, 29,19, 16,20, 10,67, 71,44, 39,59, 26,23, + 76,58, 41,71, 40,11, 23, 8, 18,74, 12,67, 9,72, 12,35, + 34,43, 2,26, 16, 4, 23,35, 63,21, 0,32, 76,12, 75,19, + 62, 9, 74,29, 72, 2, 79,22, 75,56, 54,63, 51, 5, 36,12, + 50,40, 41,22, 55,64, 42,66, 12,69, 29, 3, 23,22, 16,55, + 70,18, 14,49, 77,69, 64,23, 69,23, 20,51, 30,67, 76,19, + 56,10, 29, 9, 9,55, 68,61, 46,76, 51,62, 5,15, 33,49, + 55,19, 5,13, 37,42, 54,32, 64,63, 49,60, 76,32, 41,36, + 40,25, 5,44, 11,12, 63,66, 24,39, 2,27, 18,54, 48, 3, + 47,57, 61,24, 29,22, 42, 1, 78,44, 39,48, 30,53, 72,18, + 16, 7, 79,35, 30,72, 69,12, 7,73, 15, 3, 58,32, 15,13, + 23,56, 76,49, 25,45, 0,28, 47,17, 31,39, 50,30, 50,14, + 64,71, 25,23, 50,76, 9,46, 5, 0, 23, 5, 43, 6, 9,20, + 50, 1, 9,17, 21,74, 73,70, 43,33, 19,44, 36,45, 19,37, + 31,55, 50,52, 32,66, 20, 6, 4,17, 10,41, 3,27, 26,30, + 12,74, 8, 0, 55,41, 36,50, 25,59, 77,15, 45,16, 27,15, + 36,26, 47, 3, 15,77, 6,58, 56,28, 17,21, 68,69, 78,42, + 21,40, 59,71, 64,20, 34,57, 78,39, 41,25, 73,39, 78,29, + 13, 0, 9,13, 79,46, 36,24, 71,28, 34,60, 59,43, 76,60, + 37,45, 67,44, 59,53, 31, 5, 8,12, 71,62, 70,12, 23,16, + 17,47, 14,29, 46,19, 15,41, 40,79, 29,34, 74, 4, 44,64, + 70,72, 41,77, 15, 6, 2,19, 45,74, 69,15, 33,25, 4,72, + 58,37, 79,26, 34, 1, 9,11, 10,70, 3,52, 44,66, 57,37, + 25,16, 42,14, 37,46, 61, 9, 53,18, 34,79, 27,61, 33,79, + 27,43, 17,16, 62,69, 57,64, 12,45, 40, 3, 75,77, 16,47, + 47,30, 58,33, 70,63, 50,23, 31,76, 9,66, 32,36, 61,40, + 51,53, 33,28, 7, 7, 59,72, 71,15, 70,54, 12,42, 18,12, + 25,15, 8,62, 30,27, 61,10, 69,47, 72,74, 4,30, 73,28, + 61,17, 14,11, 20,70, 51,18, 2,23, 35,25, 50,19, 79, 2, + 66,72, 62,67, 42,65, 38,64, 4,50, 22,67, 18,52, 69,13, + 32,44, 20,52, 60,16, 14,61, 8,31, 20,25, 53,21, 9,47, + 77,33, 21,36, 70,33, 21,73, 16,32, 67,50, 31,47, 45,66, + 71,54, 44,58, 3,67, 23,38, 47,18, 49,36, 12,27, 34,26, + 8, 3, 1,46, 18,31, 56,72, 24,61, 52,68, 20,74, 79,31, + 27,72, 7,18, 15, 7, 28,78, 23,66, 15,47, 79,44, 78,11, + 28,18, 55,38, 68,48, 8,66, 38,69, 41,45, 8,39, 26, 7, + 64,78, 39,76, 41,50, 22, 6, 18,37, 64, 2, 38,11, 72,43, + 62,65, 69,40, 49,79, 45, 8, 10,15, 29,58, 67,43, 21,21, + 25,47, 37,43, 1,64, 43,28, 43,32, 79,10, 22,48, 42,16, + 20,58, 41,26, 5,79, 69,52, 30,73, 64,51, 63, 8, 67,61, + 41,70, 70,24, 17,73, 1, 5, 13,32, 57,39, 47,59, 22,57, + 0,57, 77,38, 2,41, 49,72, 19,27, 35,76, 65,22, 56,61, + 20,17, 11,62, 37,35, 29,42, 23,73, 16,49, 54,58, 50, 8, + 27,39, 24,19, 32,76, 9,70, 62,47, 48,34, 32,32, 36, 3, + 77,40, 42,42, 50,67, 40,39, 10,16, 20,15, 42,70, 42,53, + 67, 2, 28,61, 41, 2, 71, 7, 69,28, 1,69, 30,26, 8,57, + 39,67, 19,23, 52,78, 71,37, 22,46, 19,32, 16,68, 43,40, + 0, 2, 39,44, 10,25, 30,74, 52,30, 1,54, 7,61, 71,14, + 22,22, 12,24, 15,58, 41,74, 63,44, 75,42, 0,34, 75, 8, + 9,75, 70,20, 31, 4, 21, 5, 28,55, 9,62, 45,68, 37,41, + 49,74, 17,49, 0,13, 67,41, 54,68, 74,71, 1,57, 44,61, + 5,40, 48,45, 54,61, 56,16, 79,52, 44,77, 23,19, 57,63, + 45,28, 33, 7, 50, 7, 13,34, 21,30, 2,70, 38,75, 78,14, + 46,70, 10, 6, 18,47, 60,51, 39,66, 0,15, 66, 6, 19,25, + 47, 1, 62,11, 21,11, 31,24, 41,10, 7,42, 44,39, 71,67, + 19,51, 4,71, 4,27, 30,13, 74,69, 12, 1, 60,25, 37,48, + 6,20, 62,59, 26,61, 43,66, 54,51, 65,67, 35,44, 56,42, + 15,36, 66,56, 59,30, 4, 7, 12,26, 41,51, 24,50, 64, 1, + 11,56, 32,40, 6,54, 14,33, 39,71, 28,74, 18,27, 49,52, + 62,74, 60,74, 66,23, 2,68, 28,14, 0,77, 35,61, 29,55, + 72,20, 70,17, 44,33, 42, 4, 55,58, 48,30, 76,65, 62,76, + 44,12, 4,44, 50, 3, 39,75, 25,60, 73,48, 73,46, 26,45, + 77,44, 75,61, 61,23, 67,77, 50,46, 58,64, 34, 6, 19,58, + 14,35, 53,16, 64,15, 54,34, 53,40, 37,56, 64,44, 25,70, + 67,27, 12, 3, 13,63, 12,39, 38,48, 22,23, 79, 0, 54,38, + 71,74, 38,50, 43,13, 55,75, 79,53, 49,58, 21,60, 40,69, + 46,78, 9,79, 51,47, 5,54, 55,50, 28,29, 24, 4, 79,29, + 45, 7, 19,26, 30,17, 32,26, 42,69, 18,13, 22,40, 2,21, + 15,10, 65,18, 6,48, 5,37, 18,42, 58,12, 10,64, 53,27, + 14,73, 30,39, 41, 1, 73,27, 77,75, 11, 2, 23,79, 48,72, + 42,10, 44,31, 69,50, 38,22, 42,47, 61,13, 51,46, 77,18, + 29, 0, 67,39, 56, 3, 35, 4, 22,72, 54, 9, 53,19, 34,39, + 68,70, 64,17, 42,48, 5,14, 5,30, 9,52, 14,23, 51,60, + 34,69, 30, 9, 46,42, 29,67, 25,76, 46,52, 67, 5, 10,66, + 58, 2, 52,72, 78,46, 16,79, 63,62, 78,59, 10,73, 66,32, + 66,22, 70,68, 26,70, 11,27, 65,79, 11,63, 57,24, 68,27, + 31, 3, 24,11, 7,13, 32, 3, 6,33, 6,50, 62,35, 47,27, + 37,69, 78,76, 51,43, 51,25, 54,25, 20, 1, 22,70, 30,35, + 6,46, 66,76, 8,54, 1,52, 29, 5, 50,27, 14,56, 69,69, + 65,78, 28,35, 25,13, 6,37, 76,24, 47,68, 50,21, 70,43, + 18,38, 43,34, 3,46, 14,72, 7,12, 50,79, 13,50, 7,49, + 33,50, 29,31, 69,62, 40,33, 1,12, 51,74, 28,56, 44,79, + 65,48, 58,36, 73,58, 79,78, 48,44, 53,49, 45,78, 20,31, + 31,57, 15,51, 18, 4, 29,37, 13,19, 65,50, 29,38, 20, 7, + 33,57, 20,73, 60, 0, 45,57, 47,67, 61,71, 14, 4, 19,22, + 25,37, 78,71, 29,63, 39,37, 1,44, 69,29, 39,54, 6,19, + 56,76, 47,44, 69,68, 73,17, 27, 4, 5,34, 57,36, 54,27, + 67,28, 59,65, 15,40, 17,59, 15,64, 52, 2, 10,49, 17,78, + 14,32, 16, 8, 42,25, 76,13, 69,76, 26,38, 9, 5, 79,69, + 5, 8, 29,78, 3,41, 35,21, 43,39, 78,20, 64,33, 60,55, + 50,58, 27,75, 9, 8, 6,18, 15,39, 34, 7, 21,51, 72,79, + 0,17, 52, 9, 28,60, 22,78, 49,73, 26,10, 36,21, 26,75, + 67,79, 74,63, 18,55, 30,11, 62,48, 13,28, 66,68, 18,28, + 7,55, 30,14, 24, 7, 11,72, 12,51, 52,27, 27,45, 53,32, + 37, 1, 49,38, 14,40, 28,43, 20,18, 2,28, 45,11, 51,79, + 56,79, 43,76, 34,40, 35,30, 72,72, 0, 3, 66,59, 75,60, + 31,58, 6,65, 61,69, 31, 6, 48,64, 8,74, 15,79, 38,26, + 23,25, 2,33, 58,34, 57,43, 27, 2, 66,41, 37,28, 33,30, + 78,45, 71,23, 6,63, 40,54, 8,56, 16,23, 58,25, 20,38, + 53, 0, 56, 5, 5,53, 9,35, 25,21, 1,11, 2, 5, 59,76, + 25,71, 3,14, 29,41, 52,24, 3,36, 45,55, 36,69, 50,72, + 15,75, 74,77, 45,24, 3,58, 55,27, 34, 2, 43,72, 39, 0, + 47,35, 70,36, 57,65, 70,23, 77,66, 47,55, 10,77, 62,51, + 66,75, 9,65, 19,45, 24,34, 66,18, 45, 9, 16,35, 35,64, + 70,41, 65,62, 3, 0, 24,46, 35,12, 54, 6, 4,32, 37,18, + 66,61, 27,50, 73,79, 46, 1, 28,15, 33,33, 72, 3, 19,50, + 72,75, 54, 7, 75,12, 10,57, 64,67, 73,67, 33,42, 3,17, + 35,11, 62,26, 53,57, 50,64, 43,61, 45, 2, 52,45, 65,37, + 28,39, 66,50, 16,33, 37,11, 10,38, 28,38, 4,20, 74,43, + 20,37, 1,75, 42,59, 40,66, 11,13, 25,77, 31,26, 21,55, + 6,59, 59,69, 2,31, 68,45, 49,22, 65,74, 72,67, 16,74, + 48,10, 35,46, 14,21, 43,12, 44,36, 39,30, 60,57, 64,48, + 72,57, 7,33, 75,65, 29, 1, 42, 9, 61,66, 50,66, 14,47, + 19, 4, 74,32, 52,21, 25,63, 46, 7, 0,61, 32,42, 0,73, + 65,10, 9,16, 35,51, 77,68, 13, 9, 32,59, 13,47, 4, 3, + 47,42, 60,45, 73,31, 24,38, 63,78, 69,49, 22,28, 33,29, + 28, 6, 48,23, 1,39, 23,67, 13,71, 52,50, 0,26, 63,29, + 70,46, 35,66, 57,12, 0,46, 4,51, 14,64, 66,79, 14,39, + 65,60, 44,69, 36,23, 58,61, 59,67, 5,71, 56,15, 70,71, + 41,58, 14,36, 76,57, 60,68, 73,14, 0,72, 29, 8, 31, 0, + 37,23, 41,40, 47,23, 20,56, 79,28, 22,60, 28,28, 11,49, + 45,69, 18,50, 21,26, 8,32, 21,22, 60,10, 15,46, 33,66, + 2,75, 71,35, 73,73, 33,36, 21, 6, 46,59, 8,24, 65, 1, + 6,66, 10,32, 18,79, 68,10, 34,38, 79,64, 32,78, 9, 1, + 59,42, 17,70, 27,64, 38,57, 18,44, 4,75, 17,37, 21,78, + 49,34, 63,58, 4,31, 10,40, 64,49, 75,11, 17,15, 13,45, + 58,11, 66,47, 11,69, 13,20, 58,26, 66,44, 39,68, 29,23, + 29,53, 32,18, 73, 4, 22,54, 20,50, 17,31, 71,63, 38,12, + 77,16, 57,79, 43,41, 32,17, 48,61, 24,79, 17,32, 0,76, + 39,40, 41,65, 15,33, 42,71, 59,35, 52, 7, 40,65, 20,47, + 3,42, 14,13, 29,43, 7,50, 68,34, 63, 4, 55,54, 8,38, + 27,25, 74,57, 73,50, 50,47, 26,69, 47,77, 53,51, 70,60, + 40,19, 30,48, 24,37, 46,20, 20,49, 6,36, 53, 5, 44,76, + 5, 5, 77,20, 44,71, 46,31, 33,43, 49,67, 60,69, 12,66, + 28,21, 79, 8, 3,30, 74,42, 2,67, 29, 7, 79,15, 24,15, + 63,37, 8,50, 75,63, 66, 9, 40,61, 23,14, 44,22, 14,77, + 35,63, 78,21, 10,26, 14,22, 48, 8, 48,39, 68,14, 64, 0, + 19,55, 11,74, 1,10, 38,53, 64,50, 15,27, 35,43, 67,35, + 24,43, 66,71, 50,25, 9,41, 24,52, 39,72, 31,17, 76,20, + 61, 8, 38,38, 27,46, 2,48, 21,25, 70,50, 37,65, 16,41, + 0,20, 38, 2, 34,35, 68,19, 35,72, 46,79, 61,20, 69,26, + 62,42, 46,55, 15, 9, 39, 9, 65,30, 40,72, 9, 4, 24,57, + 15,24, 28,49, 48,33, 60,44, 48,69, 21,58, 30,77, 67,26, + 5,27, 70,65, 44,73, 20,77, 14,12, 54,12, 63,55, 68, 4, + 75,70, 9, 7, 74,26, 51,61, 62,14, 67,70, 30,20, 56, 9, + 36, 4, 70,52, 48,70, 64,73, 59,47, 25,72, 45,32, 62, 4, + 19,16, 76,52, 2, 7, 44,37, 50,10, 42,15, 48,54, 29,75, + 57,25, 64,12, 58,29, 50,29, 61,53, 65,33 +}; +const int p_80_4[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1190, + /// Array of preferences + 23,67, 48,56, 31,25, 25,70, 59, 4, 8,20, 11,11, 1,45, + 51,33, 48,67, 17,40, 62,39, 14,59, 65,62, 43,48, 72,19, + 64,76, 0,79, 79,15, 53,35, 31, 2, 26,72, 34,16, 49,36, + 67,15, 58,53, 3,29, 13,69, 44,59, 34,28, 24,39, 78,26, + 28, 8, 28,17, 56,31, 66,26, 9,62, 76,34, 59,48, 1,26, + 22,42, 56,40, 20,70, 2,59, 49,16, 58,51, 55,66, 26, 5, + 27,20, 29,54, 30,70, 48,35, 50,13, 23,28, 62,49, 19,59, + 32,48, 46, 5, 2,79, 9, 9, 56,17, 4,60, 54,37, 35,41, + 8,57, 24,78, 21,38, 26,66, 26,64, 54,59, 38,62, 52,58, + 24,40, 36,37, 42,74, 43,45, 24,31, 36,57, 15,24, 15,68, + 38,69, 3,21, 12,22, 62,42, 77,35, 4,70, 3,40, 37,33, + 50,51, 21,76, 12,60, 65,66, 11,50, 53, 2, 68,46, 25,41, + 42,52, 20, 5, 69,47, 53,49, 23,23, 44, 6, 31,43, 39,12, + 39,30, 22,25, 24, 8, 40,61, 24,12, 40,72, 50,55, 65, 4, + 61,72, 27,69, 29,35, 15,78, 72,24, 58,61, 36,66, 57,63, + 55,44, 53,66, 68,13, 66,59, 18,37, 76,36, 74,37, 77,21, + 72,78, 76,61, 23,71, 75, 7, 3,35, 49,70, 77,62, 22, 1, + 72,44, 7,26, 15,51, 49,30, 67,66, 18,36, 31,71, 14,12, + 41, 7, 55,67, 22,37, 30,47, 3,58, 18,72, 3,56, 7,59, + 58,21, 55,43, 4,62, 3,55, 5,48, 79, 6, 44,33, 6,71, + 6,65, 48,33, 59,47, 72,65, 14,52, 4,48, 24,60, 61,33, + 34,58, 68,44, 39,28, 35,45, 32,78, 59,12, 31,13, 11,55, + 8,75, 34,48, 67,31, 20,33, 35,51, 46,42, 63,49, 69,52, + 16,15, 79,35, 33,68, 27,68, 29, 1, 35,19, 41,26, 27,73, + 3,28, 19,23, 44, 3, 63,35, 68,33, 66,65, 47,41, 66,39, + 17,64, 33,77, 55,32, 76,15, 0,68, 21,27, 56,48, 53,47, + 66, 7, 70,39, 29,27, 20,69, 24,66, 2,62, 62,69, 29,79, + 0,27, 13,41, 38,61, 65,58, 64,72, 65, 8, 51,55, 58,27, + 30,51, 33,22, 3,13, 79,64, 9, 5, 27,70, 59,71, 28,63, + 8,38, 59,49, 63, 2, 53,74, 65,63, 7,16, 22,39, 76, 4, + 9,43, 48,61, 37, 3, 61,13, 21, 7, 23,10, 25,54, 58,76, + 66,35, 10,43, 71, 8, 9,72, 42,34, 12,79, 44,66, 76,44, + 78,77, 62,64, 63,16, 50,31, 36,65, 27,22, 35,58, 13, 1, + 50,58, 26, 0, 54, 8, 17,11, 34,20, 18,43, 26,46, 21,19, + 64,77, 2,40, 34, 6, 22,66, 10,26, 5,69, 73,63, 59,29, + 36,76, 64,44, 41,21, 77,27, 78,75, 52,73, 46,62, 25,60, + 38,39, 36,23, 42,26, 57, 2, 42, 6, 32,33, 70,49, 20,62, + 5,50, 2,24, 51,63, 13,35, 71,11, 73, 9, 2,10, 35,42, + 43,33, 22,69, 9,29, 10,48, 46,15, 50,65, 6,25, 74,70, + 42,71, 37,45, 35,39, 21,44, 30,50, 11,45, 18,60, 3,44, + 57,52, 23,78, 19,24, 61,68, 51,19, 21,54, 20,72, 65,44, + 39,43, 27,28, 11,38, 27,51, 12,73, 4, 6, 53,75, 47, 9, + 38,70, 65,68, 18, 5, 73,34, 44,76, 53,53, 34,64, 36,41, + 56,51, 48, 8, 22,56, 34, 7, 24,74, 62, 3, 60,28, 21, 5, + 21, 2, 13, 0, 46,59, 27,34, 61,36, 45,71, 47,36, 5, 1, + 13,70, 77,78, 31,66, 49,73, 69,14, 17,36, 54, 0, 24,18, + 52,26, 69,66, 54,43, 36,35, 61,54, 66,71, 77,24, 4,28, + 26,56, 78, 2, 44,32, 29,43, 30,25, 42,25, 38,52, 77,41, + 72,14, 15,63, 11, 6, 8,50, 71,31, 66,49, 4,18, 7,52, + 3, 3, 38, 4, 41,11, 28,67, 13,48, 28, 7, 70,10, 38,74, + 32,60, 8,34, 52,11, 55, 0, 66, 9, 47, 4, 51,62, 43,68, + 78,43, 63,44, 72,50, 39,73, 42,19, 34, 1, 6,67, 60,51, + 28,56, 41,55, 19,72, 69,38, 48,78, 65,23, 26,61, 39,60, + 65,20, 30,33, 64,35, 14,40, 24,65, 54,67, 5,22, 35,33, + 12,10, 5,54, 67,53, 37, 1, 58,31, 69,69, 22,51, 32, 6, + 20,30, 21,41, 34,46, 66,13, 18,71, 8,45, 53,57, 66,32, + 27,53, 14,38, 25,22, 45,67, 51,52, 64,61, 28,75, 15,74, + 15, 8, 78,37, 1,15, 60,11, 43,67, 31,75, 64,33, 70,12, + 47,10, 3,39, 63,63, 38,17, 34, 9, 56,43, 6,48, 62,51, + 13,36, 70,55, 25,25, 54,26, 58,33, 27,72, 57, 5, 2,51, + 70,53, 19,37, 32,68, 2,69, 26,67, 60,62, 37, 5, 1,40, + 76,56, 79, 4, 66,21, 38,30, 5,27, 34, 5, 47,75, 41,47, + 28,27, 47,48, 51,17, 55,61, 19,10, 17,56, 17,58, 37,26, + 47,46, 19,38, 39,39, 74,71, 8,64, 40, 4, 74,52, 74,56, + 19, 2, 52, 7, 3,67, 25, 9, 75,35, 52,54, 27, 2, 43,15, + 4,72, 45,36, 37,44, 7,58, 68,61, 47,70, 50,77, 3,73, + 48,64, 22,50, 70, 7, 34,67, 74,44, 40,74, 8,14, 1,10, + 42, 4, 56,68, 22,44, 18,45, 21,67, 19,29, 6,15, 5,19, + 7,42, 23,73, 8,13, 62,35, 13,45, 74,33, 36,67, 60,26, + 51,22, 31,72, 7,70, 4,73, 60,35, 0,57, 7, 3, 14, 7, + 47,57, 70,64, 29,37, 56,18, 14,54, 78,72, 34,13, 77,46, + 22,71, 42,23, 32,47, 49,42, 73,31, 67, 0, 77,31, 73,10, + 26,68, 29,18, 71,35, 54,65, 69,35, 4,50, 39,23, 36,48, + 18,69, 29,13, 28,55, 52,36, 41, 6, 75,44, 51,24, 76,11, + 49,55, 53, 5, 59,79, 12, 7, 65,16, 33,44, 36,25, 23,48, + 55,27, 30,23, 39, 3, 35,18, 70, 2, 25, 0, 23, 8, 54,20, + 10,71, 67,29, 0, 3, 46,48, 68,30, 44,40, 46,56, 73,27, + 35,70, 28,52, 1,58, 72,58, 9,30, 67, 6, 3,32, 0,78, + 8, 1, 13,29, 37,57, 5,24, 62,56, 68,12, 15,20, 15,40, + 5,28, 7,64, 5,49, 50,61, 11,64, 19,18, 50, 4, 39, 9, + 46,60, 0,23, 67,34, 0,53, 63, 3, 52,64, 18, 7, 79,58, + 38,54, 70, 6, 57, 1, 8,26, 72, 1, 14,16, 67,63, 65,14, + 71,60, 50, 6, 13,50, 35,16, 67, 4, 50,48, 11,63, 66, 0, + 12,72, 31,14, 61,62, 45,79, 18,11, 8,59, 21,22, 77,59, + 14,57, 14,17, 36,27, 5,13, 24,36, 63,19, 44, 7, 74,12, + 57,78, 47,76, 32, 8, 48, 6, 75, 1, 76,20, 47,40, 43,76, + 7, 1, 57,39, 24,50, 30,59, 60,38, 56,33, 0,51, 30,26, + 75,48, 26,60, 12,48, 74,41, 25,62, 42,77, 6,23, 27,78, + 45,58, 78,45, 59,52, 1,55, 7,25, 69,41, 12,51, 59,77, + 79,46, 41,53, 20,18, 4,46, 51,67, 47,30, 6,44, 62,36, + 62,13, 36,22, 17,72, 73,45, 1,49, 78,52, 71,18, 77,34, + 68,37, 1,34, 52,21, 35,10, 10,29, 28,16, 69,34, 40,17, + 27, 3, 28,22, 5,77, 70,71, 13,54, 7,65, 16,52, 0,36, + 57,32, 67,14, 52,44, 18,57, 27,18, 43,25, 35,48, 52,27, + 78,20, 24,14, 54,41, 49,60, 50,74, 31,42, 46,31, 34,24, + 16,24, 32,21, 19,73, 71,78, 40,32, 41, 5, 72,67, 20,53, + 63,32, 74,45, 15,23, 56,73, 3, 0, 18,23, 58,34, 24,33, + 35,37, 45,66, 2, 8, 19,55, 63, 8, 29, 8, 1,31, 79, 7, + 76,76, 49,56, 17,34, 64,71, 55,46, 79,67, 6,49, 47,33, + 79,39, 17,69, 48, 7, 8, 4, 47,65, 50,54, 31,21, 27,75, + 59,51, 23,59, 79,31, 49,31, 5,41, 49,61, 20,77, 58,77, + 52,48, 26,49, 23, 7, 13,46, 53,50, 50,52, 19,34, 35,68, + 9, 8, 77,32, 55,51, 46,25, 0, 8, 66,72, 69,48, 43, 1, + 22,72, 14,53, 29,64, 58,58, 78,25, 11,35, 34,57, 72, 7, + 30,61, 35,71, 19, 3, 68,43, 57,12, 35,22, 6, 6, 23,19, + 61,47, 52, 8, 16, 3, 36,46, 41, 3, 25,30, 12,36, 56,49, + 64,78, 77, 5, 24,69, 9,61, 1,21, 44,19, 20,45, 55,54, + 12,77, 24, 3, 0,60, 51, 7, 61,50, 12, 5, 40,71, 47,60, + 31,53, 61,65, 65, 5, 60,16, 29,65, 77,37, 32,11, 79,77, + 52,39, 19,49, 73,59, 13,57, 69,54, 45,53, 57,26, 65,76, + 4,10, 16,48, 14,44, 22,31, 50,38, 4,20, 40,28, 13,52, + 77, 9, 26,75, 34,27, 11,30, 53,41, 39, 1, 6,17, 37,34, + 62, 6, 44,41, 22, 2, 27,10, 49,22, 54,72, 2,45, 12,28, + 25, 1, 20,57, 72,28, 11,71, 42,53, 25,26, 8,61, 44, 8, + 22,62, 74,50, 74,57, 54,55, 63,55, 26,33, 69,76, 15,17, + 44,69, 64,32, 31,76, 9,48, 8,33, 11,75, 54,47, 37, 6, + 13,56, 68,65, 12,50, 12,58, 18,56, 23,74, 59,75, 46,49, + 10,20, 33,49, 2,22, 8,12, 55,37, 52,22, 66,29, 56,76, + 21,16, 9, 1, 78,79, 16,21, 67,71, 12,42, 32, 3, 30,69, + 50, 2, 67,46, 8, 2, 29,71, 38,43, 1, 5, 28,25, 33,34, + 73,23, 74,27, 29, 4, 59,33, 47,22, 20,58, 64,14, 69, 5, + 25,19, 32,39, 1, 7, 8,76, 6, 4, 62,66, 31,45, 23,35, + 15,61, 42,72, 52,42, 62,31, 43,50, 65,12, 28,14, 5,79, + 56,23, 65,51, 30,58, 10,63, 56,26, 5,67, 6, 7, 32,29, + 18,29, 29,68, 67,67, 19,75, 53,70, 9,73, 22,14, 69,31, + 56,77, 49,23, 56, 0, 77,57, 67,45, 8,73, 27,40, 37,53, + 73,69, 37,52, 63,15, 65, 7, 22,20, 54,19, 53,73, 78,29, + 42,66, 15,43, 78,42, 26,43, 55,63, 71,69, 59,36, 14,19, + 9,36, 28,73, 48,41, 20,36, 50,28, 1,69, 22,60, 43,23, + 55,19, 79,38, 51,59, 63,45, 65,27, 73, 1, 49, 2, 69,40, + 74, 8, 40,67, 5,45, 27,59, 7,39, 70,54, 78,68, 77,30, + 15,72, 35,25, 45,51, 29,60, 0,30, 40,13, 58,25, 38,50, + 12,74, 58,24, 67, 5, 58,43, 8,30, 36,53, 4,29, 32, 4, + 44,39, 62,18, 15,57, 76,33, 9,10, 52,34, 17,28, 26,58, + 66,11, 71,17, 47,39, 60,67, 15,44, 62,21, 0,46, 47,54, + 32,57, 69,75, 9,19, 10,56, 44,16, 15, 5, 38,19, 63,33, + 38,60, 28,71, 22,79, 66,51, 54,42, 26,65, 37,48, 11,42, + 37, 2, 51,68, 76,52, 55,59, 67, 2, 53,37, 11,18, 1,77, + 25,40, 73,73, 5,57, 63,78, 55, 4, 59, 3, 24,35, 0, 0, + 44,54, 65,64, 68,40, 4,15, 13,47, 69,16, 63,50, 31,56, + 52,18, 39,38, 55,49, 28, 5, 62,68, 5,20, 32,49, 43,32, + 13,65, 15,60, 21,68, 47,11, 25,69, 45, 7, 29,41, 56,53, + 10,60, 12, 4, 60,76, 24,20, 50, 3, 34,31, 23, 1, 1,12, + 77,47, 12,67, 7,68, 24,75, 42,79, 12, 8, 20,17, 62,11, + 76,53, 42,69, 63,74, 48,37, 13,10, 30,75, 26,54, 41,25, + 23,68, 76,67, 31,37, 21,71, 14,28, 73,28, 3,51, 45,74, + 28,33, 73,35, 23,62, 16,36, 62,54, 54,61, 18,15, 70,17, + 45, 4, 3,57, 69,65, 2,31, 22,43, 53,39, 77,60, 14,66, + 68,71, 14,61, 26,21, 33,21, 62,52, 18,76 +}; +const int p_80_5[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1401, + /// Array of preferences + 59,57, 13,55, 27,31, 21,48, 78,40, 51,49, 23,39, 20, 8, + 68, 2, 64,41, 5,72, 29,63, 52,33, 30,30, 71,10, 79, 5, + 10, 9, 9, 9, 19,47, 79,25, 48, 8, 48,27, 69,79, 5, 5, + 41,39, 18,16, 55,26, 63, 8, 24,75, 6,50, 51,69, 19,58, + 56,45, 57,49, 79,20, 45,16, 37,25, 24,28, 58,29, 5,53, + 29,42, 58,68, 15, 6, 70,77, 64,43, 4, 5, 54,52, 63,44, + 75, 5, 0,60, 73,25, 20,43, 7,47, 30,44, 78, 2, 56,57, + 4,25, 52,70, 38,20, 8,47, 78,62, 4,78, 22,37, 67,51, + 13,72, 2, 0, 54, 5, 52,19, 20,24, 26,52, 12, 1, 41,68, + 78,74, 41,21, 3, 3, 45,10, 48,28, 45,49, 6,13, 10,49, + 72,49, 15, 8, 69, 1, 34,45, 17,28, 36,37, 26,78, 68,43, + 75,19, 53,47, 62,60, 56,39, 14,19, 10,23, 39,72, 11,69, + 6,73, 0,76, 9,25, 28,53, 29,22, 79,79, 3,30, 60,56, + 23,37, 53, 3, 43,62, 38,33, 69,55, 56,67, 67,57, 79,54, + 61,55, 36,71, 25,68, 23, 7, 29,35, 12,31, 52,43, 74,71, + 8,42, 52,55, 50,58, 41,72, 35,12, 53,31, 52,42, 31,29, + 61,31, 4,27, 15,29, 8,52, 0,70, 43,68, 11,64, 78,24, + 18, 2, 50,23, 65,79, 14,71, 46,74, 3,26, 21,37, 64,21, + 13, 0, 32,17, 20,54, 34,30, 0,31, 65,33, 32,26, 23,18, + 6,22, 55,57, 28,19, 9,41, 17,38, 61,22, 48,53, 47,19, + 17,78, 58,73, 50,55, 4,26, 47,56, 45,77, 57,25, 51,65, + 71, 7, 77,70, 72,10, 69,72, 0,14, 53,52, 63,15, 45,53, + 42, 1, 42, 3, 59,52, 12,47, 2,63, 16,16, 54,75, 3, 7, + 59, 0, 16,57, 46,59, 13, 3, 63,74, 31,42, 58,76, 70,52, + 37, 6, 34,54, 51,17, 39,37, 55,61, 28,35, 3,34, 21,58, + 23,12, 59,12, 9,32, 48,72, 11,21, 55, 8, 67,42, 68,51, + 36,38, 31,12, 48,30, 56,22, 47,70, 11,71, 35,46, 75,16, + 41,23, 72,71, 13,16, 44,38, 74,44, 75,43, 42,26, 48,12, + 47,51, 25,70, 50,26, 8,28, 57,12, 68,37, 34,47, 65,48, + 26,27, 7,46, 40,71, 77,16, 76,49, 67,71, 71,78, 36,16, + 29,56, 23,36, 63, 3, 0,61, 12,62, 42,36, 12, 6, 36,52, + 42,57, 0,45, 45,14, 6,27, 40,12, 54,20, 79,44, 62,39, + 21, 5, 48, 5, 18,11, 22,59, 77,58, 52,49, 64,68, 36,76, + 67,59, 32,67, 44,59, 36,65, 42,16, 77,30, 35,70, 25, 8, + 15,19, 65,57, 21,26, 65,44, 71,45, 3,27, 13,62, 36,70, + 13,54, 28,42, 61,37, 76,67, 34,46, 73,24, 50, 7, 19,31, + 26,54, 70,71, 36, 6, 41,19, 44,52, 38,38, 8,14, 51,12, + 23,45, 62,22, 39, 9, 4, 6, 42,55, 8,40, 31,25, 60,63, + 34,72, 21,64, 61, 5, 24,65, 50,14, 23,40, 33,77, 65,30, + 43,25, 2,74, 18,77, 2,45, 17,37, 33,44, 2,25, 55,75, + 29, 5, 51,43, 48,21, 1,26, 49,54, 75,18, 53,64, 25,65, + 18,42, 19, 3, 3,40, 66,15, 2,17, 19,53, 1,21, 56,59, + 34,77, 73,18, 53,45, 68,70, 63, 9, 27, 8, 56,60, 70,34, + 12,67, 30, 6, 44,14, 66,62, 28,60, 40,44, 7,26, 53, 1, + 38,46, 40,24, 31,74, 79,55, 60,16, 34,21, 16,79, 34,14, + 45,51, 72,61, 3,71, 66,52, 69,52, 17,26, 36,24, 36,28, + 65,34, 0,68, 66,39, 70,39, 38,23, 55,45, 10,79, 78,79, + 74,67, 24,37, 42,75, 36,41, 57,61, 69, 0, 63,11, 12,48, + 8, 1, 68,63, 4,50, 57,75, 21,12, 5,39, 69,53, 69,61, + 31,47, 13,32, 16,53, 15,69, 65,22, 61,60, 37,67, 33, 0, + 54,62, 3,79, 19,51, 69,24, 78,69, 64,49, 50,69, 12,40, + 65,40, 48,39, 72,68, 33, 8, 36,35, 5,23, 22,35, 67, 0, + 38,76, 45,30, 64,19, 53,16, 47,77, 18,73, 31,59, 59,21, + 34, 7, 26,49, 68, 1, 38,10, 17, 8, 57,21, 24,29, 20,10, + 72, 0, 67,60, 30,10, 65,56, 65,66, 9,73, 2,16, 17,40, + 41, 3, 69,34, 60,65, 14,21, 24,13, 38,14, 63, 2, 14,13, + 69,17, 69,59, 75,31, 45,17, 10,46, 43,55, 45,39, 76,25, + 0,15, 69,23, 8,29, 22,16, 73,59, 7,21, 32,77, 57,37, + 26,77, 63,77, 1,52, 63,62, 77,31, 52,29, 49,72, 17,25, + 50,36, 4,52, 15,62, 53,28, 50, 6, 9,14, 29,24, 32,15, + 1,64, 67,54, 51,41, 32,12, 76,38, 52, 5, 45,54, 58, 6, + 30,49, 60,71, 71,47, 66,73, 56,36, 12,53, 21,52, 48,33, + 22,27, 45,52, 35,39, 30,74, 67,72, 4,58, 14,50, 39,70, + 66,17, 76,30, 56, 4, 57,74, 50,42, 3, 2, 57,76, 59,30, + 72,57, 10,34, 54,12, 54,30, 70,53, 35, 6, 12,38, 71,25, + 50,12, 62,79, 29,49, 71,14, 63, 7, 58,78, 63,16, 43,37, + 73, 1, 23,77, 11,51, 39,30, 24,39, 7,39, 41,58, 37,55, + 74,24, 24,24, 76,18, 66,64, 79,14, 0,57, 32,19, 45,25, + 21,11, 1,37, 45,56, 65,63, 52,13, 59, 5, 75,56, 48, 3, + 8,37, 39,17, 41,38, 78,54, 33,43, 37,66, 4,22, 2,58, + 65,26, 7, 5, 0,44, 36,56, 51,77, 72,29, 11,29, 29,55, + 73, 5, 17,65, 74,54, 62,72, 26,48, 60,26, 49,44, 72,54, + 22, 5, 15, 4, 35,56, 16,11, 4,29, 28, 4, 1,69, 60,22, + 13,29, 22,19, 18,22, 2,11, 4,12, 24,46, 41,10, 44,61, + 46,11, 69,22, 37,60, 46, 8, 45,47, 31,67, 9,33, 59,15, + 31,32, 46,45, 46,50, 68,22, 59,45, 45, 7, 7,33, 77,66, + 8,76, 67, 5, 59,66, 34,43, 38, 5, 65,16, 78,57, 57,47, + 65,62, 14,63, 34,17, 16, 6, 46,51, 72,26, 67, 6, 2,62, + 4,33, 73,43, 49,45, 34,59, 16,10, 79, 3, 23,34, 28,46, + 59,59, 65,72, 28,58, 68,41, 42,51, 74,28, 49,48, 47,25, + 19,50, 79,23, 21,27, 55,76, 51,14, 71,18, 3, 4, 17,59, + 25,71, 17, 7, 20,69, 43,17, 23,74, 59,16, 48,17, 47,34, + 75,73, 70,65, 58,66, 26,69, 9,78, 5,35, 67,24, 51,19, + 58,18, 30,78, 67,20, 39,52, 44,30, 37,22, 59, 4, 67, 1, + 20,78, 20,21, 73, 0, 68, 6, 60,13, 63,19, 12,58, 3,44, + 23,61, 70,68, 42,77, 70,47, 39,71, 54, 1, 50,79, 26,57, + 39,27, 66, 5, 26,31, 78,11, 39,63, 78,26, 23,68, 35,48, + 16,61, 37, 9, 55,41, 79,30, 77,39, 45,23, 9,28, 19, 5, + 1,22, 39,21, 28, 1, 79,36, 65,32, 14,40, 50,32, 20,12, + 18,60, 7, 9, 44,45, 78,22, 29,54, 20,49, 72,59, 40,74, + 41,60, 48,29, 24,58, 12,12, 57,19, 60, 2, 77,76, 18,20, + 42,54, 57, 1, 21,71, 64,59, 67,52, 28,15, 28,32, 15,17, + 12,73, 57,29, 9,21, 57,63, 40,23, 36,74, 28,62, 35,20, + 54,28, 41,66, 26,56, 49, 7, 75,41, 55,37, 11,54, 47, 8, + 28,50, 8,21, 37,10, 46,25, 69,77, 43,63, 5, 7, 38,32, + 30,39, 3,11, 34, 0, 30,16, 64,34, 6,18, 78,63, 55,42, + 63,40, 77,46, 44,31, 48,18, 48,23, 8,51, 42,41, 44,51, + 6,71, 13,58, 68,19, 4,21, 58,11, 12,75, 40,11, 14,54, + 6,75, 45,67, 72,58, 48,69, 65,46, 15,50, 2,67, 23,75, + 75,63, 65,12, 40, 5, 73,69, 36,68, 54,10, 43, 5, 25,67, + 57,35, 16,27, 40,79, 73,48, 43,67, 64,65, 51,72, 35,11, + 14,61, 43,18, 28,26, 11, 3, 68,15, 75,69, 38,29, 58,59, + 38,59, 67,16, 56,44, 7,71, 25,31, 14,24, 54,46, 30,75, + 47,69, 57,71, 15,55, 34,62, 64,78, 15,14, 15,61, 66,63, + 7,50, 69,36, 77,61, 10,64, 19,36, 32,29, 56,30, 77,27, + 65,20, 62,37, 73,31, 76,48, 29,37, 23,50, 46,46, 42, 0, + 56, 3, 6,60, 21,44, 66,45, 35,36, 30,59, 6,57, 79,28, + 22, 1, 26, 3, 78,12, 25,64, 62,73, 16,74, 31, 9, 12,16, + 33,12, 41,25, 47, 6, 19,33, 4,30, 47,76, 28,67, 24, 8, + 36,32, 26,20, 47,59, 21,38, 35,78, 3,46, 31,23, 4,32, + 58,10, 15,43, 53,73, 0, 1, 3,22, 72,55, 49,50, 48,54, + 8,45, 70, 2, 70,35, 19,65, 72,42, 42,40, 21,43, 73,52, + 32,30, 79,58, 41,34, 71,71, 60,44, 79,57, 18,70, 77,13, + 31,33, 66,58, 39,42, 73,66, 74,74, 67,30, 46,49, 26,40, + 33,34, 7,66, 22,20, 38,47, 55,72, 61,35, 16,31, 30,76, + 29,21, 39,39, 41,32, 1,66, 59,60, 59,71, 27,76, 74,43, + 6,47, 61,65, 31,17, 41,43, 26,51, 11,44, 16,56, 9,79, + 22,14, 48,65, 30, 5, 35,74, 60,39, 61,10, 16,58, 24,57, + 4,56, 32,60, 35,26, 69,73, 21,50, 20,25, 20,46, 66,41, + 74,64, 64,24, 2,77, 78,34, 29,12, 19,18, 59,65, 25,30, + 38,70, 33,69, 63, 1, 53,60, 2,19, 17,34, 35,64, 78,28, + 5,51, 59,33, 22,39, 42, 4, 53,34, 79,64, 17,55, 33,24, + 56,55, 62,75, 65, 7, 26,50, 72, 7, 32,74, 59,29, 78,23, + 41, 6, 56, 6, 60,70, 62, 0, 66, 0, 78,51, 42,68, 7,10, + 70,37, 39,15, 19,19, 65,52, 53,55, 71,12, 43,12, 38,58, + 17,12, 55,20, 49,10, 42,14, 77,25, 53,53, 14, 7, 4,65, + 64,25, 27,17, 12, 5, 34,58, 69,76, 0,33, 58,34, 13,57, + 66,21, 31,75, 37, 5, 33,42, 40, 6, 20,44, 69,44, 31,60, + 74,77, 28,17, 19,63, 55,10, 78, 8, 29,71, 21,61, 42,50, + 75,29, 46, 2, 74,12, 46,18, 37,37, 21,63, 58,38, 64,12, + 69,28, 3,60, 68,16, 26,74, 28,38, 36, 4, 51,21, 12,65, + 41,76, 0,20, 50,54, 73,12, 57, 3, 24, 4, 78,17, 74,65, + 57, 8, 12,43, 77, 2, 76,16, 67, 4, 43,32, 15,23, 43,71, + 78,53, 78,18, 10,74, 64,70, 40,67, 10,53, 68,47, 36,64, + 1,48, 19,54, 27,77, 51,74, 71,49, 45, 1, 43,46, 79,70, + 41,75, 5,57, 55,65, 11,47, 74,31, 30,27, 52,31, 64,16, + 59,39, 76,63, 54,78, 44,70, 18,48, 2,54, 55,59, 62,58, + 47, 2, 19,32, 51,10, 21,60, 6,35, 8,74, 40,54, 34,56, + 19,69, 38,51, 69,43, 61,15, 19,66, 19,16, 63,52, 9,47, + 17,31, 45,27, 64,26, 49,59, 53,40, 12,30, 65,15, 63,45, + 74,50, 12,79, 20,62, 0,66, 74,25, 6, 5, 56,10, 52,69, + 36,59, 51,56, 0,69, 39,40, 18,40, 3,47, 2,40, 14,78, + 46,22, 69,68, 73,10, 17,24, 73,15, 79, 0, 51,22, 77,75, + 20,36, 25,54, 31,71, 10,61, 44,16, 29,59, 26,44, 30,25, + 15,33, 58, 7, 35,42, 71,52, 47,58, 79,47, 23,13, 26,19, + 1,45, 17, 2, 50,38, 18, 5, 73, 2, 2,73, 34,75, 77,26, + 74,45, 10,18, 47,36, 65,77, 29,13, 17,16, 14,39, 22,51, + 7,62, 14,18, 79, 1, 77, 0, 60,79, 22,18, 22,73, 12,28, + 47,37, 30,61, 7,43, 7,31, 18,72, 46,65, 35,45, 41, 5, + 2,52, 34,73, 1,27, 30,63, 43, 0, 43, 2, 35,77, 13,59, + 67,25, 65,43, 33,19, 12,35, 1, 6, 59,31, 43,31, 46,19, + 1,16, 38,17, 37,20, 7,20, 26,10, 39, 3, 55,13, 77,37, + 38,74, 65,19, 48,36, 18, 4, 28,33, 76,31, 64,15, 20,53, + 11,72, 42,11, 72,16, 1,53, 39,53, 68,44, 19,60, 1,78, + 73,53, 40,40, 36,66, 32, 8, 71,60, 58,77, 66,34, 28,29, + 15,51, 47,33, 41,22, 15,13, 54,31, 8,36, 4,79, 40,59, + 8,39, 8,55, 55,69, 0, 5, 72,37, 55,19, 3, 6, 32,72, + 6,44, 75,66, 77, 3, 37, 3, 31,77, 23,33, 14,41, 53,14, + 60,58, 21,29, 25,66, 72,34, 74,60, 62, 7, 19,23, 6,21, + 22,29, 66,61, 50,34, 14,26, 8,17, 45,60, 53,22, 26,25, + 60,55, 32,70, 50,68, 40,50, 8, 7, 22,22, 54,17, 57,70, + 2,31, 46,79, 77,55, 29,29, 32,59, 54,37, 28,40, 17,67, + 46,36, 65,28, 49,35, 24,72, 42,31, 50,22, 1,31, 33,10, + 14, 5, 18,24, 41,16, 24,23, 53,24, 74, 7, 12,22, 37,47, + 79,35, 66,69, 37,16, 1,62, 61,17, 18,18, 76,41, 64,23, + 76,10, 75,32, 14, 1, 66,71, 49,19, 39,14, 23,41, 78,43, + 10,30, 28,70, 20, 3, 70,27, 2, 5, 16, 3, 61,23, 59,64, + 32,54, 49,33, 55,17, 14,34, 33,53, 24, 6, 63,63, 38,60, + 23, 3, 24,69, 29,46, 35,66, 79,12, 15,59, 1,10, 19,76, + 43,15, 74,72, 52,44, 46,47, 78,56, 6,79, 6,59, 40,41, + 73,78, 67,18, 42,29, 23,38, 7, 2, 3,56, 71,70, 69,70, + 58,42, 11,75, 20,47, 20,67, 63,42, 37,76, 47,48, 24,64, + 4,47, 10,62, 27,79, 77,41, 29,38, 47,20, 78,21, 11,53, + 37,45, 30, 1, 38,50, 63,46, 67,10, 75,45, 58, 8, 55,67, + 54,34, 28,13, 44,75, 42,21, 2,79, 11,22, 26,59, 35,21, + 7,49 +}; +const int p_80_6[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1453, + /// Array of preferences + 5, 2, 31,77, 10,28, 76,66, 36, 8, 24,24, 14,12, 5,48, + 34,19, 62, 6, 67,78, 62,62, 56,59, 1,79, 79,73, 33,15, + 73,53, 67,11, 9,37, 36,62, 3,75, 9,12, 44,72, 51,49, + 25,57, 71,16, 45,72, 9,39, 73,34, 29,45, 54,10, 7,43, + 32, 8, 49,79, 64, 0, 47,35, 23,25, 27,74, 70,19, 60,29, + 42, 2, 32,59, 66, 3, 66,54, 40,21, 43,22, 70,74, 60,21, + 49,78, 16,64, 7,30, 43,51, 18,47, 67,71, 69,25, 21,34, + 63, 4, 0,59, 0,40, 79,29, 57, 5, 55,16, 28,33, 34,41, + 50,54, 40,46, 16,60, 32, 2, 1,53, 74, 8, 40,25, 57,30, + 76,63, 9,58, 9,63, 41,76, 48,31, 75,58, 64,48, 35,63, + 19,25, 14,42, 59,47, 8, 3, 65, 2, 67,55, 62,44, 69,54, + 31,47, 7,68, 74,12, 6, 6, 59,43, 65, 1, 53,52, 56,11, + 71,50, 11,72, 63,78, 45,18, 15, 9, 2,78, 64,44, 18,74, + 72,17, 3,39, 77, 0, 5,22, 58,79, 76,24, 30,76, 52,14, + 43, 2, 4,51, 3,43, 41,48, 78,58, 51,20, 36,48, 49,16, + 47,66, 54,29, 38,41, 37,40, 73,45, 15,24, 53,16, 40,63, + 31,38, 10,53, 4,12, 3,77, 40,61, 39,73, 13,36, 67,65, + 9, 0, 50,65, 51,14, 17,63, 79,37, 1,60, 23, 2, 52,77, + 72, 8, 2,21, 73,18, 17,54, 46,57, 71,66, 69,70, 20,39, + 46,37, 51,11, 68,12, 69,49, 13,75, 76,61, 72,10, 70,78, + 22,65, 10,33, 30, 6, 31,65, 67,35, 45,45, 57,16, 21, 8, + 38, 4, 79,21, 16,73, 12,72, 63,75, 48,24, 11,55, 40,48, + 24,30, 46, 1, 35,67, 23, 5, 52,69, 65,27, 58,23, 35,31, + 17,52, 28,36, 49,12, 26,28, 68,73, 31,30, 30,22, 19,14, + 50,50, 54,51, 61,61, 74,37, 73,64, 60,76, 47, 5, 10,72, + 37,29, 5,37, 35,53, 67,29, 24,61, 23,35, 46,71, 54,12, + 25,15, 20,18, 28,14, 10,22, 20,78, 29,26, 0,22, 46,62, + 13,70, 44, 1, 57,11, 23,67, 64,53, 0, 7, 59,30, 37,57, + 64,66, 64, 3, 35,20, 37,56, 25,69, 30,40, 22,17, 43,26, + 65,49, 14,64, 32,45, 6,76, 28,76, 14,75, 31, 3, 79,56, + 31,63, 10,60, 28,29, 2,65, 66,28, 38,17, 21,64, 17,55, + 52, 5, 41,10, 74,75, 10,12, 41,38, 19,35, 8, 6, 50,35, + 65,79, 56, 6, 47,50, 27,17, 34,26, 7, 7, 74,32, 72,50, + 75,53, 46,65, 43,57, 3,42, 26, 3, 50,17, 36, 7, 61,54, + 62,48, 44,16, 30,24, 10, 4, 30,27, 18,50, 44,74, 20,75, + 78,22, 25, 8, 37,50, 40,75, 26,79, 13,68, 79,51, 38,69, + 54,21, 57,51, 61,36, 24,40, 20,70, 35,45, 77,29, 72,42, + 39,17, 73,44, 42, 0, 78,26, 78, 2, 71,54, 67,56, 21,59, + 65,72, 5,28, 35,79, 40,45, 78,45, 32,42, 24,76, 31, 9, + 20,59, 4,17, 0,33, 63,13, 2,68, 53,43, 37,11, 3, 7, + 70,31, 2,48, 75, 4, 1,65, 14,36, 57,37, 60,27, 30,25, + 31,71, 20,57, 2,31, 55,59, 64,75, 40, 3, 61,77, 4,66, + 12,48, 18,65, 79, 4, 61,28, 50,70, 20, 9, 49, 2, 3, 6, + 20,23, 3,13, 65,52, 61,26, 27,15, 70,65, 18,54, 30,59, + 24,66, 2,27, 72, 2, 58,19, 31,42, 44,27, 14,72, 15,55, + 39,44, 27,19, 11,47, 75,54, 51, 3, 53,54, 64,16, 4,19, + 79,38, 20,32, 54, 0, 70,14, 74, 0, 35, 1, 53, 9, 19, 6, + 37,73, 52,62, 1,27, 28,60, 42,67, 17,47, 8,58, 36,32, + 5,32, 22,30, 40,31, 79,16, 34,15, 24,10, 70,42, 55,42, + 68, 4, 11, 6, 46,23, 41,63, 60,41, 1, 8, 5,29, 66, 6, + 46,58, 14,46, 6,54, 54,34, 36,38, 8,67, 23,64, 14,17, + 79,58, 7, 3, 45,35, 21, 9, 58,49, 40,65, 12,79, 65,61, + 33,56, 71,17, 62,63, 26,32, 60,58, 40,78, 57,59, 5,50, + 56,54, 66,14, 73,75, 6,60, 56, 5, 73,52, 73,36, 36,17, + 18,38, 33,38, 36,73, 38,20, 55,29, 2,42, 71,14, 74,53, + 4,69, 65,23, 12,37, 41,37, 29,37, 30, 5, 20,66, 69,24, + 48,43, 6,26, 2,45, 75,17, 10,79, 14,62, 54,63, 79,28, + 75,29, 38,67, 31,26, 25,74, 41, 0, 16,62, 9,27, 59,73, + 71,30, 46,63, 33, 2, 51,31, 25,62, 18,18, 44,57, 37,48, + 28,58, 0, 6, 20,76, 37, 2, 17,62, 78,44, 20,10, 55,20, + 69,33, 9,20, 23,34, 9,29, 70, 9, 19,53, 1,19, 41,39, + 76,75, 19,62, 41,16, 24,54, 10,35, 3,36, 45,60, 57,21, + 41,61, 34,39, 37,75, 19,11, 7,39, 1,37, 50, 9, 41,11, + 79, 8, 71,39, 58,74, 25,14, 12,68, 4,27, 22,70, 52,44, + 68,37, 45,24, 3,48, 34,55, 6,56, 71,59, 59,36, 6,48, + 34,32, 77,31, 18,14, 42,30, 22, 8, 12, 1, 12, 2, 33,29, + 52,17, 71,19, 21,50, 39,68, 9,21, 1,18, 68,77, 25,65, + 74,52, 47,59, 50,31, 79,44, 5,47, 42,39, 38,54, 64,26, + 61,59, 32, 1, 21,29, 21,24, 51,15, 79,65, 27,53, 16,16, + 13,53, 26,36, 21,66, 33, 0, 8,12, 27,32, 45,71, 31,13, + 39,57, 8,64, 41, 4, 14,79, 33,72, 65,45, 60, 1, 1,63, + 55,64, 41,58, 45, 4, 37,71, 69,51, 27,12, 36, 3, 23,17, + 68,45, 19,55, 65,68, 5,53, 62,68, 58,59, 22,55, 50,63, + 51,19, 14,58, 69,10, 48,16, 44,59, 70,13, 32,40, 21,11, + 22,35, 72, 6, 43,68, 54,38, 44,71, 65,19, 72, 1, 49,35, + 1,23, 14,60, 2,58, 16,27, 72,11, 52,42, 15, 0, 56,15, + 58,67, 46,70, 26,52, 13,32, 55,70, 39,72, 70,76, 21, 7, + 51,36, 77,27, 0,38, 2,43, 56,35, 76,65, 21,28, 10,50, + 34,50, 77, 3, 27,31, 5,24, 21, 1, 52,25, 13,44, 32,44, + 40,51, 3,40, 50, 4, 51,65, 61,68, 34,17, 50,46, 34,16, + 41,23, 7,13, 58,34, 69,64, 45,63, 27,41, 45,17, 18,17, + 30,67, 54,55, 22,62, 47,64, 47,14, 55,22, 27,52, 46,13, + 53, 2, 65,50, 75,46, 35, 7, 21,72, 12,57, 56,60, 4,70, + 70,24, 42,73, 50,34, 14,24, 44,32, 15,15, 9,41, 64,56, + 37,45, 57,45, 34,47, 22,58, 61,31, 49,11, 66,34, 79,10, + 30,15, 26,16, 28,24, 34,27, 27,37, 2,67, 30,38, 58,51, + 4,64, 36,30, 16,38, 6,64, 76,30, 50,44, 4,35, 52,20, + 54, 5, 68,22, 7,63, 52,23, 24,34, 24,78, 53,38, 47,44, + 60,24, 31,37, 62,54, 45,52, 65,55, 40,52, 16,44, 47, 9, + 13,30, 63,32, 2,55, 21,38, 35,32, 42,44, 8,60, 35,35, + 11,67, 53,24, 33,66, 70,70, 15,23, 30,78, 64,23, 1,72, + 36,24, 4,46, 11, 7, 67,37, 37,33, 71,10, 62,10, 36,78, + 5,36, 73,69, 62,41, 66,26, 75, 0, 18,60, 52,36, 67, 6, + 4,10, 61,78, 32,57, 62,29, 12,60, 24,55, 23,76, 36,22, + 28,47, 44,44, 43,74, 10,49, 0, 5, 9,10, 26,25, 60, 6, + 38,37, 59,58, 20,40, 16, 3, 27,51, 13,16, 70,58, 64,62, + 38,36, 54,54, 69,61, 28,10, 47,34, 71,15, 23,30, 29,40, + 8,71, 73,65, 4,39, 76,11, 32,33, 14,57, 26,74, 0,41, + 78,27, 77,75, 60,46, 4,63, 52,54, 24,79, 18,66, 0,28, + 11,13, 2,54, 7,59, 77,44, 39,58, 0,23, 38, 6, 32,23, + 59,31, 12,23, 77,39, 6,37, 49, 3, 4,37, 42,18, 17,21, + 77,49, 33,79, 19, 2, 12, 5, 72,24, 0,31, 20,44, 78,35, + 70,43, 29,41, 45,32, 62,66, 58,63, 39,10, 9,51, 24,14, + 31,20, 35,75, 16,18, 67,41, 32,37, 33,68, 40, 8, 9, 2, + 71,37, 70,36, 38,58, 54,40, 21,76, 67,57, 76,46, 48,39, + 18,24, 36, 1, 14, 7, 5,66, 26, 1, 15,40, 68,46, 24,47, + 77,50, 45,31, 8, 0, 11,59, 35,14, 0,55, 4, 9, 24,63, + 37,61, 76,39, 54,19, 56,40, 70,26, 16,32, 34,22, 46,41, + 57, 2, 38,47, 19,42, 52,29, 48, 2, 37, 1, 3,46, 35,40, + 22,64, 58,39, 17, 7, 60,59, 39,63, 5, 6, 2,72, 31,41, + 40,68, 20,16, 47,74, 39,30, 20, 5, 13,63, 43,42, 5,52, + 57,68, 73, 3, 54,37, 61,53, 40,64, 74,77, 68, 0, 41,54, + 1, 0, 71,31, 7,21, 28,12, 61,50, 42,52, 24,43, 64,31, + 66,36, 64,50, 14,19, 33,58, 42, 7, 21,77, 41,20, 76,49, + 43,25, 51,73, 10,64, 15,25, 6,65, 63, 1, 70,18, 50,14, + 40,19, 51,71, 15,41, 62,20, 72,20, 27,45, 61, 1, 46,17, + 18,16, 7,52, 76, 0, 16,54, 10,66, 26,55, 40,26, 78,66, + 6, 9, 23,31, 0,44, 38,75, 25,58, 60,62, 9,32, 15,34, + 38,49, 60,73, 6,22, 12, 9, 30,79, 8,50, 47,76, 47,18, + 54,59, 2,76, 43,12, 1,33, 5,16, 68,31, 5,14, 66, 1, + 55,60, 41,43, 74,24, 7,50, 69,67, 18,70, 11,78, 65,70, + 13,20, 14,66, 12,38, 4,52, 30,28, 10,68, 57, 6, 32, 0, + 32,55, 39, 9, 24,31, 5,49, 40,27, 15,63, 8,41, 63,58, + 29,38, 45,48, 42,74, 1,78, 22,74, 11, 0, 53,68, 46,49, + 13,29, 54,62, 66,47, 47,54, 25,34, 72,38, 78,18, 68,41, + 62, 3, 71,73, 78, 6, 43,61, 33,24, 79,20, 55,46, 44,40, + 20,65, 45,43, 17,72, 48,59, 50,16, 46,74, 34,38, 31,69, + 40,14, 25,16, 31,16, 51,68, 9,11, 62, 8, 30,21, 56,64, + 51,47, 61,25, 9,47, 37,36, 33,77, 74,65, 24,57, 78,19, + 12,74, 79,41, 43,29, 34,64, 14, 9, 6,50, 75, 6, 70,37, + 2,70, 38, 0, 49, 4, 75,40, 45,66, 36,11, 27,44, 29,31, + 49,26, 70, 5, 55,47, 10,14, 17,44, 0,35, 40,57, 47,53, + 13,38, 8,38, 63,25, 23,14, 64,22, 26, 4, 34,33, 7,23, + 72,30, 30,74, 19,18, 73,31, 19, 7, 24,41, 14, 5, 14,76, + 17,66, 24,52, 25,33, 49,29, 58,18, 74,29, 56, 7, 36, 6, + 34,65, 76,14, 61, 0, 42, 3, 21,33, 19, 9, 65,41, 4,76, + 3,30, 56,22, 28,25, 37,53, 7,61, 29,57, 72,63, 77,41, + 26,30, 3,68, 41,57, 55, 2, 51,46, 55,32, 5,23, 57,36, + 13,60, 74,36, 61,51, 73,48, 75,36, 9, 6, 53,49, 34, 2, + 44,24, 69,77, 38,38, 59,20, 71,77, 23,13, 50,48, 3,21, + 58,11, 6,49, 79,39, 56,12, 60,45, 19,47, 63, 5, 23,32, + 5,21, 72,41, 64,64, 2,17, 3,51, 2,39, 12,55, 15,54, + 18,32, 7,28, 28, 0, 50, 1, 74,19, 40,50, 1,34, 71,74, + 63,60, 65,34, 54,67, 4,21, 57,70, 17,65, 64,78, 8, 9, + 78,73, 46,14, 20, 2, 74, 4, 9,35, 70,64, 17,51, 0,62, + 12,12, 50,15, 38,50, 45,64, 44,48, 25,56, 48,70, 63,61, + 54,77, 4,13, 54,32, 69,21, 13,25, 59,74, 11, 3, 50,29, + 73, 2, 70,23, 32,48, 23, 0, 2,38, 10,56, 29,43, 61,75, + 73,19, 57, 0, 10,41, 49, 6, 19,68, 24,62, 47,45, 68, 9, + 73,61, 9,49, 32,13, 42,32, 33,14, 7,35, 16,47, 79,13, + 57,34, 75,67, 13,41, 6,31, 44,60, 41,64, 52,18, 60,72, + 79,17, 29,79, 33,54, 24, 5, 48,21, 3,41, 42,63, 73,21, + 7,72, 75,28, 53, 5, 47,77, 77,74, 38,61, 30,12, 33,67, + 20,46, 62,46, 75,20, 40,59, 59,45, 54,26, 28,20, 48,60, + 61,17, 8,42, 75,43, 2,49, 11,31, 25,19, 71,28, 8,14, + 24,38, 1,51, 18, 5, 33,60, 2, 1, 29,49, 76,73, 45,29, + 55,77, 11, 9, 61,65, 77,30, 0,30, 8,55, 42, 4, 7, 6, + 33,21, 48,65, 65,56, 40,74, 12,76, 77,68, 69,17, 58,58, + 60,57, 28,49, 67,28, 29,28, 41,62, 73,29, 25, 3, 0,42, + 75,18, 60,37, 13,76, 53,63, 15,13, 59,25, 16,25, 13,43, + 51,62, 52,38, 23,40, 12, 0, 35,41, 1,59, 15,33, 70,27, + 35,43, 47,43, 49,72, 3, 4, 54,20, 28,34, 58,69, 69,39, + 33,11, 45, 5, 40,47, 25,36, 56,17, 15,68, 7,47, 12,58, + 58,24, 14, 8, 71,53, 74, 3, 62,11, 38,63, 61,52, 39,26, + 6,70, 26,38, 28,22, 57,66, 46,27, 72,34, 55,52, 35,77, + 59,56, 59,42, 23, 8, 68, 5, 15, 4, 1,30, 17, 6, 33, 9, + 56,77, 17,33, 42,64, 74,43, 70,46, 62,61, 2,32, 36,61, + 50,73, 10,21, 60,71, 71,12, 69, 8, 75,55, 1,44, 35, 0, + 10,16, 14,56, 38,52, 78,69, 56,31, 10,62, 8,61, 46,56, + 9,30, 31,46, 63, 9, 11,35, 40,62, 64,39, 6,36, 25,64, + 31, 0, 17,57, 10,47, 75,75, 16,72, 18, 9, 55,44, 38, 1, + 55, 5, 41,22, 41,77, 67,68, 21,27, 38,46, 33,51, 36,74, + 62,60, 67,24, 36, 0, 8,70, 12,63, 43,32, 2,10, 34,23, + 78, 4, 8, 4, 7, 5, 41, 1, 63,28, 51,24, 71,61, 24,44, + 2,56, 6,27, 68,67, 53, 6, 21,44, 28,42, 11,30, 3,67, + 31,66, 7,20, 70,17, 64,12, 55,27, 9,13, 64,27, 29,12, + 54,66, 28,69, 79, 6, 3,73, 74,35, 53,10, 72,48, 18,31, + 21,53, 56,30, 49,59, 17,70, 65, 3, 60,69, 73,79, 51,51, + 30,17, 71,43, 7,11, 43,23, 40, 2, 65,67, 7,42, 22,63, + 40,15, 52,40, 73,76, 50,28, 44,17, 59,64, 4, 3, 56,28, + 5, 4, 54, 7, 9,18, 11,15, 58,12, 8,27, 68,33, 29,66, + 74,68, 10,65, 30,26, 71,33, 41,60 +}; +const int p_80_7[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1254, + /// Array of preferences + 20,30, 0,16, 1, 1, 11,23, 75,79, 57,79, 57,13, 48, 1, + 60, 1, 44,67, 32,27, 55,31, 26,25, 10, 3, 50, 4, 78,60, + 41,54, 73,27, 13,46, 26,71, 70,10, 24,67, 34, 0, 48,70, + 41, 4, 39,70, 0,56, 32,62, 68,26, 69,59, 5,12, 33,60, + 7,29, 62,42, 23,59, 23,52, 59,56, 31,49, 5,59, 48,79, + 65,24, 30,48, 48,49, 23,58, 77,56, 78,72, 21,59, 27,54, + 30,18, 47,34, 27,15, 33,41, 34,35, 6,63, 40, 7, 42,22, + 65, 3, 43,76, 61, 5, 60,75, 29,30, 76,13, 56,46, 55, 1, + 25,39, 15,25, 48,53, 54,15, 55,56, 17,23, 18,64, 69,28, + 26,36, 54,68, 75, 3, 68,77, 59,16, 76,39, 26,68, 54,35, + 63, 0, 71,39, 61,29, 11,22, 57,22, 41,41, 5,49, 14,57, + 31,67, 73,68, 12, 0, 20,18, 55, 8, 44,35, 44,22, 75,34, + 16,63, 44,13, 23,42, 72,79, 10,21, 48,38, 76,59, 43,23, + 28,55, 78,59, 28,43, 46,13, 2,48, 70,25, 8,42, 12,73, + 7,40, 30, 5, 19,59, 43,71, 12,20, 16,19, 62,66, 10, 7, + 9,79, 52,79, 11,15, 16, 2, 4,67, 27, 5, 62,33, 65,74, + 20,57, 79,33, 77,36, 42,79, 29,48, 33,63, 60,33, 33,24, + 52,14, 13,77, 2,25, 13,78, 43,18, 31,21, 65,62, 36,74, + 79,62, 53,59, 73, 3, 50,33, 71,67, 7, 9, 63,14, 54,41, + 1,47, 43,12, 16,46, 60,17, 47,22, 62,31, 73,15, 75,65, + 5,23, 43,30, 48,58, 48,50, 56,51, 58, 5, 11, 7, 75, 1, + 31,33, 30,56, 29,58, 46,27, 51,20, 65, 7, 62, 4, 64,27, + 51,71, 44,29, 8,19, 20, 4, 63,17, 0, 8, 18,12, 41,47, + 71,22, 54, 2, 32,44, 66,36, 67,32, 53, 5, 75,58, 5, 8, + 50,70, 39,78, 24,53, 3,77, 2,51, 62,45, 0,54, 13,67, + 24,20, 78,26, 79,38, 24,61, 10,57, 58,43, 22,36, 9,38, + 75,78, 43,44, 22,30, 47,27, 78,25, 2,44, 51,16, 33,37, + 8,75, 78, 1, 72,31, 20, 7, 79,55, 34,18, 53,53, 77,73, + 44,30, 51, 5, 3,50, 11,37, 50,71, 52,60, 27,37, 42, 2, + 65,55, 16,27, 33,48, 36,28, 20,66, 56, 0, 7,67, 23,37, + 10,67, 11,67, 76,50, 54,24, 19,69, 32,45, 38, 2, 11,58, + 44,47, 78,66, 71,17, 5,11, 68,51, 1,17, 57,74, 7,31, + 22, 1, 41,10, 2,22, 46, 1, 3,44, 64,13, 4,13, 29,11, + 12,26, 31,71, 72,41, 12,18, 32,10, 58,38, 20,34, 65,68, + 64,39, 44,77, 30,24, 31,56, 66,45, 78,79, 64, 6, 9,35, + 49,68, 30,62, 59,63, 52,30, 36,39, 76, 0, 71,52, 20,74, + 7,10, 11,27, 3,31, 10,18, 43,49, 72,43, 58,79, 23, 3, + 16,24, 9,17, 40,16, 69,68, 55,13, 16,66, 43,60, 43,47, + 23,15, 59, 8, 45,26, 27,79, 47,57, 4,69, 51,32, 37,66, + 55,43, 46,36, 40,26, 67,21, 35,61, 71,33, 22,75, 9, 2, + 54,10, 39, 9, 36, 0, 58, 3, 14,14, 41,65, 58,56, 2,56, + 9,50, 35,20, 2, 1, 73,18, 21,78, 19,60, 66, 5, 43,63, + 55,32, 56,72, 78,24, 55,12, 15,78, 1,59, 3,58, 59,59, + 76,17, 46, 0, 8,27, 51,44, 11,38, 78, 8, 58,39, 9, 1, + 7,19, 2,64, 22,76, 66,19, 75, 4, 58,55, 47,28, 75,68, + 21,69, 30, 1, 39,49, 74,75, 22,55, 12,48, 48,15, 75,73, + 70,78, 44,50, 10,22, 17,32, 2,42, 7, 1, 33,56, 56,75, + 7,36, 50,48, 52,42, 15,38, 33,55, 12,61, 42,41, 58,52, + 0,66, 74,56, 69,76, 53,55, 46,28, 26,23, 37,52, 67,72, + 37,25, 25,55, 21, 0, 22, 7, 7,70, 64,35, 8,50, 60,51, + 43,51, 78, 4, 68,55, 6,70, 60,35, 35,72, 23,32, 42,24, + 30,37, 79,75, 51,60, 33,62, 45,22, 20,72, 69,38, 70,51, + 35,67, 29,63, 18,40, 17,45, 12,22, 58,58, 33,58, 76,44, + 47,37, 30,36, 17,31, 45,45, 1,78, 30,14, 46,52, 35,70, + 38, 4, 11,24, 55,63, 36,65, 75,52, 32,24, 44,72, 71,26, + 56, 1, 21,75, 33,65, 8,59, 27,62, 5,73, 74, 9, 17,51, + 7,22, 76,30, 61,67, 18,36, 21,38, 13,35, 10,45, 19,62, + 8,45, 7,75, 21,31, 59,33, 69,42, 62,58, 56,68, 58,19, + 66,57, 17, 8, 28, 6, 39,79, 45,21, 68,38, 54,33, 19,48, + 55,51, 12,60, 36,21, 76,41, 49,26, 33,38, 31,36, 56,35, + 21,52, 51,63, 76,11, 71,47, 70,43, 14,62, 37,19, 20,20, + 54,36, 60,76, 69,71, 68,16, 48,74, 48,73, 11,62, 10, 9, + 65,58, 79,57, 32,54, 54,50, 3,76, 7, 3, 37,27, 45,61, + 61,54, 14,59, 54,20, 47,70, 74,74, 66,77, 73,52, 52,68, + 33,45, 78,69, 37, 4, 12,70, 50,22, 55,70, 17,25, 9,70, + 64,20, 65,51, 7,13, 0,61, 74, 6, 50,15, 36,54, 37,69, + 65,38, 53,75, 73,47, 72,44, 68,66, 2,53, 7,74, 53,19, + 14,35, 25,70, 19,70, 9,31, 44,51, 52,25, 0,50, 51,30, + 52,33, 15,40, 27,49, 38,56, 14,75, 21,79, 30,42, 12,24, + 21,71, 76,72, 51,34, 12,16, 53,62, 6,50, 66,33, 43,58, + 76,76, 5, 0, 59,67, 70,70, 3,54, 79,69, 20,76, 2,30, + 76,48, 30,20, 73,48, 54, 6, 49,74, 58,49, 79,76, 32,69, + 76, 8, 58,23, 72, 0, 57,55, 21,39, 27,76, 49,44, 71,48, + 70,32, 71,45, 45, 7, 41,60, 0,13, 54,73, 53,48, 3, 6, + 51,64, 49, 8, 75,41, 24,40, 5,37, 11,75, 36,75, 46,40, + 36,47, 56,44, 8,48, 71,16, 19,14, 44,59, 23,11, 62,22, + 65,46, 39,33, 43, 2, 25,24, 17,60, 66,63, 29,46, 70,72, + 72,32, 41,29, 23,53, 77,13, 32,34, 50,16, 2,71, 7,48, + 1,42, 40, 3, 79,48, 76,43, 53,20, 15,51, 8,79, 75,43, + 37,16, 56,11, 76,73, 2,31, 52, 5, 67,35, 52,66, 27,65, + 25, 1, 1,36, 40,35, 47,66, 58,73, 39,18, 49,42, 60, 3, + 12,36, 11,34, 25,11, 22,56, 51,13, 56,65, 60,19, 30,54, + 77,53, 36,56, 21,54, 41,69, 43, 7, 4, 2, 5,55, 52,48, + 3,47, 51, 9, 30,59, 8,56, 68, 4, 48,11, 11,35, 53,58, + 73,28, 3,46, 42, 3, 76,61, 21, 2, 79,46, 24,55, 68,14, + 8,30, 11,18, 63,73, 62,14, 60,29, 18,28, 23,46, 30,35, + 55,18, 31,30, 55,19, 75,69, 20,22, 63,79, 41,14, 3,13, + 35,66, 57,75, 61, 9, 5,38, 40, 8, 32,64, 36,24, 30,27, + 29,42, 14,21, 34,70, 18,20, 65,52, 35,77, 20,60, 38, 0, + 63, 3, 35,29, 13,19, 39,72, 13,30, 10, 2, 31,27, 3,36, + 38,10, 35,79, 66, 4, 55,79, 60,10, 39,19, 1,45, 56,32, + 66,74, 67,29, 79, 9, 43,37, 12,37, 1,18, 27,59, 49, 1, + 14,13, 64,59, 54,71, 47,56, 35,24, 75,63, 0,36, 56,74, + 67,67, 0, 5, 54,64, 50,61, 42,31, 61,56, 26,47, 10,60, + 1,14, 74,10, 20,37, 39,67, 62, 8, 43,64, 34,15, 37,71, + 72,48, 10,56, 39,68, 42,75, 61, 4, 58,41, 73,34, 61,32, + 25, 9, 47,51, 33,26, 44,73, 18,53, 40,55, 34,79, 57,10, + 48, 3, 30,57, 10,13, 74,13, 38,45, 64,57, 12,45, 27,66, + 11,71, 32,66, 59,13, 2,18, 34,13, 32,49, 44,55, 36,30, + 32,59, 77,24, 60,72, 21,15, 11, 5, 15,67, 59,29, 62,36, + 16,67, 41,15, 8,51, 55,41, 61,53, 63,18, 73, 2, 58,48, + 76,69, 42,37, 23,76, 71,70, 54,56, 19,41, 11,61, 73,65, + 0,35, 8,29, 43,55, 20,16, 4,49, 28,24, 42,13, 47,60, + 46,16, 69, 9, 23,71, 2,14, 75,12, 45,33, 74,14, 58,13, + 1, 5, 36,77, 7,54, 78,36, 26,77, 60,25, 19,16, 17,20, + 24,15, 69,75, 31, 2, 55, 9, 61, 0, 49,29, 40,50, 22,17, + 14,23, 49, 4, 11,69, 68,57, 59,77, 68, 5, 7,33, 46,26, + 50,11, 51,48, 32,46, 21,33, 3,62, 0,75, 20,24, 62,78, + 14,43, 60,63, 77,68, 34,44, 60,50, 58,67, 42,67, 4,77, + 38,77, 29,40, 70,37, 68,69, 4, 5, 48,22, 60, 0, 50, 3, + 36,41, 21,11, 10,50, 49,30, 62, 9, 52,54, 27,10, 60, 2, + 30,28, 64,67, 16,69, 45, 5, 19,73, 55,42, 49,41, 52,55, + 21,27, 79,79, 43,31, 44,45, 5,45, 48,33, 49,67, 17,65, + 42,44, 75,19, 37,22, 54,77, 2,60, 25, 8, 30,13, 22,51, + 70,76, 75,15, 72,36, 37,49, 42,29, 56,40, 4,34, 12,27, + 11,73, 39,24, 13, 2, 53,76, 5,44, 67, 4, 44, 3, 26,69, + 64,49, 69,20, 27,29, 67,66, 60,53, 69,78, 10,66, 19,75, + 38,41, 21,37, 64,50, 77,67, 64,54, 13,10, 76,42, 65,75, + 51,54, 74,26, 55,10, 17,11, 40,20, 65,32, 53, 3, 10,49, + 25,30, 74,60, 5,15, 1,66, 22,40, 49,66, 17,17, 63,77, + 62,64, 35,48, 76,34, 24,68, 28,72, 12,75, 8,12, 73,77, + 47,48, 51,14, 59,31, 60,16, 69,10, 6,39, 16,37, 49,40, + 32,12, 34,68, 64,45, 70,12, 1,76, 53,32, 46,41, 32,17, + 71, 2, 53,16, 30,47, 69, 5, 67,11, 51,36, 34,65, 79,28, + 35,50, 24,37, 77,69, 68,37, 29,67, 64,47, 71,37, 36,59, + 13,34, 65,41, 9,30, 59,41, 42,74, 32,25, 9,40, 63,75, + 52,28, 37,65, 0,20, 0,27, 57, 4, 34,76, 19,66, 63,35, + 14,73, 25,67, 58,10, 6,15, 78,39, 29,34, 24,64, 61,48, + 39,16, 46,49, 47,35, 72, 2, 40,42, 73, 0, 18,38, 43,73, + 79,44, 27, 2, 13,47, 10,63, 36,44, 77,63, 65,15, 73,61, + 46, 9, 2,12, 56,37, 21,26, 48,34, 32,32, 75, 9, 40,72, + 79,45, 60,31, 54,37, 3, 5, 13, 0, 77,60, 18,15, 19,21, + 5,78, 59,19, 76,32, 4,78, 5,29, 44,33, 74,18, 25,27, + 71,12, 12,50, 37,43, 68, 8, 41,58, 63,44, 25,15, 67,70, + 26,21, 68,19, 32,71, 48,18, 52,35, 76,31, 61,75, 78,33, + 50,26, 10,78, 28,29, 5,26, 34,33, 31,44, 44,71, 0,38, + 23,25, 39,66, 60,18, 28,61, 27,41, 68,50, 60,32, 65, 8, + 72,19, 9,57, 65,59, 48,16, 63,13, 44,39, 79,78, 30,25, + 3,41, 70, 1, 12,13, 69,65, 59,36, 11, 3, 69,53, 16,36, + 44,54, 48,32, 49,33, 29,60, 37,12, 5,70, 36,19, 15,30, + 8,60, 47, 0, 4,38, 76,66, 26,74, 47,32, 3,29, 64,56, + 1,49, 77,76, 50,55, 2,39, 72,78, 63, 8, 11,19, 23,34, + 57,36, 49,53, 9,71, 77,15, 40,43, 67,14, 64,58, 25, 0, + 12,40, 32, 3, 26,72, 42,54, 74,62, 30, 3, 36,31, 8,21, + 27,25, 60,62, 71, 1, 36,12, 46, 3, 13,74, 6,68, 77, 5, + 40, 6, 74,33, 54,57, 28,27, 71,72, 71,29, 65,22, 0,30, + 60,30, 10,59, 63,33, 0,11, 55,48, 55,26, 24,56, 11,47, + 29,24, 8,71, 46, 6, 23,41, 68,56, 42,16, 36,51, 31,48, + 46,60, 20,45, 27,16, 55,69, 1,29, 17,48, 9, 6, 61,62, + 53, 1, 63, 7, 62,46, 36,38, 74,35, 7,44, 29, 6, 41, 0, + 12, 7, 45,58, 30,75, 40,19, 15,74, 10,79, 26,79, 20, 5, + 33, 3, 62,53, 42,56, 69,14, 61, 2, 25,32, 41,50, 53,72, + 45,52, 7,50, 31,20, 38,63, 33,51, 15,11, 65,31, 20,61, + 28,11, 4,57, 32,33, 3, 3, 59,21, 12, 3, 11,56, 64,72, + 0, 3, 12,56, 31,39, 7, 4, 4, 4, 43,32, 11,14, 63,16, + 71,71, 28, 1, 77, 8, 42,73, 60,69, 25,60, 36, 5, 55,54, + 13, 9, 55,15, 17, 1, 31, 4, 58,59, 52,31 +}; +const int p_80_8[] = { + /// Number of people on picture + 80, + /// Number of preferences + 690, + /// Array of preferences + 44,36, 41,71, 5,10, 26,54, 3,29, 29, 8, 19,44, 57,49, + 74,69, 29,25, 5,76, 16,19, 54,79, 12,75, 67,76, 11,62, + 48,43, 64,37, 44,63, 28,22, 59,42, 45,37, 49, 5, 45,75, + 25,32, 70,22, 40, 6, 36,39, 24,57, 8, 1, 15,73, 47, 9, + 67,78, 38, 1, 17,59, 71,42, 66,15, 23,64, 61,50, 8,57, + 10,53, 4, 1, 27,12, 23,33, 3, 5, 25,69, 17,27, 62,46, + 17,31, 11,51, 2,33, 23,22, 33,59, 54,40, 49,62, 15,43, + 43,11, 67,53, 46, 1, 68, 7, 35,68, 33,63, 57,76, 9,25, + 4,21, 47,77, 12,57, 41,30, 52,60, 56,28, 3,18, 25, 7, + 74, 2, 79,73, 22, 0, 54,72, 50,46, 49, 1, 64, 3, 77,23, + 51,71, 55,28, 26,60, 22,27, 45,36, 42,68, 16,73, 66,61, + 24,75, 10,41, 41,66, 30,12, 70, 3, 46,72, 67,75, 72,68, + 41, 0, 61,25, 11,15, 60,36, 69,53, 0, 4, 0,29, 18,44, + 19,10, 26,11, 65,16, 54,78, 49,41, 6,34, 1,19, 16,40, + 49,14, 68,10, 72,51, 30, 1, 18,62, 25,60, 61,35, 9,45, + 54,44, 16,77, 29,45, 79,28, 3,51, 15,20, 13, 2, 37,35, + 53,66, 4,37, 50,41, 66,45, 72,28, 53, 9, 15,36, 11,58, + 53,72, 28, 8, 63,71, 35,40, 36,44, 1,16, 4,66, 77, 0, + 35, 0, 55,71, 30,25, 58,69, 54,74, 21,11, 29, 0, 65,39, + 39,10, 57,11, 42, 3, 7,34, 20,35, 65,17, 40,47, 71,53, + 3,79, 65,40, 65, 9, 16,50, 7,67, 54,19, 5, 0, 62,62, + 20, 7, 46,40, 0, 1, 59,66, 78,30, 44,56, 5,29, 41,42, + 30,41, 26,77, 54, 3, 34,50, 28,15, 53,27, 10,16, 51,44, + 8, 4, 18, 5, 27,45, 63,73, 1, 6, 56,10, 49,77, 13,74, + 47,52, 77,48, 22,49, 18,12, 56,59, 50,11, 18,37, 36,32, + 70,37, 20,75, 79,64, 41, 2, 54,75, 12, 8, 36,13, 44,11, + 57,74, 11,61, 79,24, 43,22, 70,43, 58,61, 43,21, 50,52, + 48,20, 14,67, 31,46, 14,20, 38,77, 38,70, 6,12, 10,75, + 28,41, 35, 3, 59,48, 10,68, 7,77, 9,27, 65,64, 12,40, + 64,50, 21,73, 6,69, 19,35, 48,11, 73,38, 11,21, 22,59, + 8,28, 42,22, 72,11, 20,31, 60, 0, 62, 4, 2,46, 59,43, + 70,78, 47,38, 47,62, 60,42, 16,39, 46,22, 34,72, 11,39, + 58,11, 52,63, 69,56, 39,78, 52,16, 16, 8, 70,38, 71,18, + 12, 0, 39,56, 3, 0, 44, 0, 14,43, 22,70, 22,64, 3,72, + 3,28, 77, 8, 54,65, 1,77, 68,35, 40,17, 11, 9, 19,53, + 37,36, 47,44, 30,48, 63,16, 65,47, 44,24, 45,74, 16,33, + 17,39, 44,65, 42,24, 35,13, 52, 2, 59,21, 31,76, 6,40, + 72,16, 38, 9, 44, 7, 6,51, 42,78, 58,73, 16,46, 49,12, + 10,63, 34,15, 27,50, 26,34, 43,40, 30,74, 50,75, 9,29, + 36, 2, 55,10, 45,73, 13, 3, 64,18, 1, 9, 77,10, 52, 5, + 79,48, 31,71, 74, 1, 56,39, 52,52, 1,56, 5, 8, 35, 6, + 47,54, 64, 8, 55,62, 19,63, 16,56, 15, 5, 74,27, 42,13, + 48, 0, 14,55, 6,26, 15,18, 27,46, 32,66, 73,61, 76,49, + 67,68, 36, 8, 78,13, 2,55, 21,16, 40,10, 41, 3, 29,10, + 57,22, 68, 1, 21,57, 42,55, 72,35, 78,60, 67,67, 58,51, + 13,42, 15,23, 22,23, 14,12, 19,47, 40,16, 79,16, 9,57, + 22,31, 36,74, 15,12, 35,23, 1,43, 35, 2, 34,31, 48, 7, + 26, 3, 65, 8, 26,38, 38,67, 29,17, 60,25, 69,57, 63,64, + 16,12, 76, 8, 3, 3, 6,32, 61,65, 24,11, 61,51, 70,64, + 22,75, 55,31, 31,31, 31,40, 35,34, 15,58, 19,17, 32,25, + 49,43, 34,68, 17,55, 32,72, 33,40, 60, 5, 25,47, 3,10, + 66,78, 44,73, 8,26, 7,30, 30,38, 6, 7, 58,57, 37,26, + 45,78, 6,79, 42,16, 18,30, 51,11, 26,15, 68,19, 74,20, + 48,52, 25,51, 34,59, 48,36, 62,45, 62,71, 2,44, 18,79, + 50,77, 39,70, 22,46, 0, 2, 73,73, 21,32, 23,79, 5,34, + 19,40, 5,32, 63,21, 35, 1, 70,56, 31,68, 40, 8, 26,40, + 8,13, 74,50, 75,61, 1,69, 11,70, 19,74, 78,58, 35,15, + 72,79, 29,74, 73,45, 55,38, 71,24, 43,25, 43,44, 31, 4, + 21,75, 68,72, 30,32, 6,65, 63,74, 78,10, 7,57, 71,16, + 62,28, 10, 7, 72,34, 28,21, 11,52, 41,15, 50,17, 69,47, + 43, 4, 35,72, 65,20, 64,26, 78,51, 4,24, 67,41, 37,10, + 51, 5, 61,24, 41,56, 41,39, 58,10, 26,75, 25,57, 68,57, + 7, 7, 68,36, 25,22, 49,22, 48,14, 7,26, 10,23, 60,68, + 52,54, 65,22, 57,35, 27, 5, 37,48, 63,31, 45,27, 33,13, + 63,54, 1,32, 15,51, 3,45, 2,19, 62,73, 66,36, 14,62, + 53,65, 48,15, 23,26, 7,43, 60,50, 44,43, 57, 6, 8,21, + 19,68, 56,67, 20,63, 44,69, 13,16, 4,75, 19, 8, 66,69, + 42,56, 33,44, 9,23, 17, 4, 38,64, 41,12, 6,20, 73,18, + 18,53, 9,11, 57,13, 24,73, 13,46, 26,24, 69, 1, 62,17, + 76, 9, 34,13, 6,24, 52,24, 19,30, 31,62, 12,52, 75,22, + 75, 9, 29, 4, 8, 5, 32,51, 28,38, 31,26, 1, 4, 64,48, + 4,45, 54,12, 57,23, 22,10, 29,49, 31,78, 23,70, 57,14, + 43,59, 17,57, 13,50, 14,53, 17, 5, 47,23, 26, 7, 72,17, + 76, 0, 36,62, 77,47, 28,33, 11, 6, 16,16, 45,77, 8, 6, + 49,49, 66,11, 16,13, 35,69, 12, 4, 2,13, 76,55, 32,79, + 28,20, 37,40, 67,70, 61, 1, 73,77, 44,51, 33,35, 64, 1, + 53,51, 8,11, 42,48, 28,52, 58,66, 43,14, 36,47, 32,74, + 42,14, 2,41, 44,18, 63,43, 23,73, 1,48, 61,11, 32,32, + 46,52, 44,31, 33,60, 73,52, 78,61, 34,38, 47,43, 50,69, + 43,32, 13,72, 67,47, 44,27, 28,34, 25,53, 75,26, 59,71, + 43,54, 46,14, 42,51, 62,75, 39,53, 37,38, 39,69, 8,65, + 25,23, 31,12, 35,59, 5,65, 32,54, 62, 6, 64,74, 5,75, + 61,26, 62,29, 65,59, 74,65, 59,73, 30,15, 10,78, 12,16, + 26,62, 16,70, 74,21, 7,48, 22,21, 13,36, 26, 9, 35, 5, + 54, 1, 67,18, 19,27, 56, 1, 28,37, 49, 8, 70,60, 49,65, + 28, 1, 0,35, 11, 7, 53,61, 52,31, 39,50, 55,45, 3,70, + 59,68, 69,43 +}; +const int p_80_9[] = { + /// Number of people on picture + 80, + /// Number of preferences + 469, + /// Array of preferences + 23,63, 41,57, 78,11, 39,62, 36,15, 24,40, 74, 3, 34,61, + 79, 3, 18,35, 74,63, 20, 9, 15,16, 50,74, 30,22, 42,43, + 34,67, 43,79, 30,39, 35,65, 53,10, 56,48, 65,66, 11,30, + 60, 7, 54,17, 18, 1, 24,16, 49,13, 74,75, 56, 2, 32,50, + 70,25, 72,32, 53,31, 79,53, 58,62, 58,39, 14,66, 71,73, + 25, 1, 5,18, 29,70, 55,31, 4,79, 3,63, 24,49, 78, 0, + 47,57, 75,48, 20,71, 76,24, 24,15, 53, 9, 28,36, 69,13, + 40, 9, 45,27, 78, 8, 49, 0, 72,74, 18,30, 0,20, 6,32, + 60,72, 28,77, 24, 2, 37,37, 70,66, 11,33, 60, 8, 43,47, + 5, 1, 47,60, 12,24, 22, 9, 17,12, 54,42, 75,34, 40,30, + 57,70, 67,66, 36,77, 69,41, 27,76, 60, 6, 8,66, 49,28, + 72,43, 51,21, 20,27, 55,35, 79,34, 21,60, 3, 2, 51,12, + 30,63, 36, 7, 19,30, 25,24, 34,31, 70, 8, 9,41, 59,29, + 57,79, 7,19, 0,52, 6,30, 25,10, 6,72, 39,56, 29,63, + 8,16, 58,69, 40,14, 25,60, 61,46, 45,66, 37,71, 11,36, + 61,74, 56,66, 70,55, 26,10, 2,28, 1,32, 8,68, 28,72, + 52,15, 73, 8, 23,44, 66,40, 35,73, 45,40, 68,24, 11,73, + 29,79, 47,13, 21,67, 62, 9, 74,65, 0,41, 42, 8, 70,62, + 66, 9, 23,25, 31,51, 9,58, 31,72, 3,12, 20,20, 56,22, + 75,61, 55, 6, 52,75, 59, 1, 3,50, 48,31, 14,61, 79,58, + 19,53, 14,19, 15,37, 38,15, 48,66, 62,74, 5,14, 51,53, + 69,39, 49,38, 30,44, 23,79, 16,22, 67,15, 69,66, 63,72, + 21,75, 24,26, 59,59, 71,46, 48,10, 0,27, 75,77, 51,41, + 1,61, 42,48, 2,76, 13,48, 24,33, 56,77, 57,16, 13,46, + 4,43, 28,27, 56,75, 28,63, 5,47, 33,39, 52,79, 25,22, + 62,29, 54,22, 62,17, 30,78, 3, 7, 60,42, 41,71, 39,25, + 22, 8, 56,51, 54,37, 37,14, 70, 9, 26,65, 70, 7, 59,63, + 73,29, 41,34, 76,50, 25, 9, 2,38, 8,30, 9,72, 14, 0, + 21,20, 46,55, 39,53, 74,32, 39,40, 44,61, 37,76, 45,74, + 2,51, 16,19, 46,73, 71, 8, 41,55, 70,17, 47,18, 42,25, + 21,10, 52,22, 40,45, 25, 5, 29,61, 21,66, 37,44, 41,42, + 77,48, 53,15, 4,72, 56,12, 67,32, 15,13, 1,56, 70, 0, + 70,22, 33,24, 59,42, 62,27, 74,68, 23,20, 33,57, 0,32, + 26,44, 43, 3, 42,77, 45,53, 56,38, 77,40, 45,68, 9,50, + 43,27, 26,51, 52,51, 74,78, 34,72, 30,58, 22,65, 32, 2, + 11,60, 5,54, 66,19, 11,77, 61,15, 56, 4, 7,11, 26, 4, + 63,37, 42,61, 57,15, 77,30, 14,24, 16,63, 46,29, 66,64, + 69,55, 17,49, 75,41, 11, 1, 3,23, 17,59, 0, 9, 36,69, + 31,67, 63,26, 21,43, 45,67, 0,43, 44,18, 56,45, 37, 0, + 26,68, 49,55, 47, 4, 17,65, 59,32, 68,44, 13,65, 7,73, + 53,13, 63,50, 41, 8, 42, 7, 32,24, 49,33, 62, 1, 70,44, + 75,72, 63,32, 21,22, 39,72, 66,73, 22, 1, 42,40, 52, 3, + 78,52, 47,32, 45, 3, 66, 4, 52,28, 62,23, 51,11, 32,75, + 43,48, 6,51, 12,20, 38,71, 22,75, 22,33, 49, 4, 7,37, + 22,70, 65,44, 11,78, 32,21, 62,26, 78,62, 17,56, 1,40, + 52, 4, 35,25, 20,73, 25,37, 15,68, 4,70, 61,71, 50,67, + 56,52, 47,53, 65, 0, 51,38, 36,47, 60, 1, 77,23, 35,16, + 6,37, 71,36, 18,14, 11,56, 26,73, 5,35, 50,18, 0,61, + 49,58, 12,79, 49,36, 35,19, 26,21, 78, 9, 49,46, 56,78, + 11,24, 61,64, 15,63, 59,48, 73,23, 34, 6, 66,55, 5,22, + 49,51, 65,45, 67, 0, 17,60, 65,47, 12, 5, 39,15, 20,29, + 77,70, 58,13, 55,49, 33,77, 45,18, 43,19, 7,65, 2,14, + 64,47, 64,11, 69,19, 47, 6, 16,69, 65,30, 78,34, 27,37, + 63,10, 60,53, 50,68, 0,60, 19, 2, 58,68, 76,36, 15,75, + 66,18, 64,35, 3,14, 13,69, 16, 2, 55,78, 21,78, 6,44, + 9, 6, 1,58, 20,23, 31,39, 48,77, 34,54, 10,75, 5,50, + 13,52, 34,38, 1,60, 56,15, 11, 4, 9, 3, 72,47, 20,54, + 79,57, 75,68, 73,22, 41,78, 29,14, 51,76, 76,79, 35, 7, + 20,26, 66,36, 10,65, 55,76, 43,41 +}; +const int p_80_10[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1474, + /// Array of preferences + 32,46, 8,29, 75, 3, 6,10, 20,37, 32,18, 24,45, 65,41, + 35,52, 23,13, 11,62, 1,58, 7,27, 71,61, 18,41, 59,76, + 6,18, 58,46, 12,45, 62,29, 67,37, 37,66, 28, 7, 72,74, + 32,62, 9,35, 4, 2, 33,11, 31,47, 13,67, 29,27, 19,71, + 64,58, 22,54, 7,55, 0,61, 11,40, 54, 5, 76,11, 57,31, + 33,64, 68,73, 20,54, 25, 6, 8,66, 23,51, 12,62, 56,53, + 12,36, 21,32, 69,31, 35,37, 10, 3, 70,63, 4,38, 29,13, + 20,42, 4,46, 15,67, 17,29, 70,52, 23,64, 73,71, 26,42, + 64,79, 65,27, 24,66, 29,63, 9,79, 54, 7, 36,15, 7,26, + 15,65, 59,34, 4,39, 3,59, 71,49, 4,59, 33,27, 27,23, + 42,68, 48, 6, 44,17, 56,65, 32,47, 11,14, 76,67, 23, 3, + 66,41, 26,32, 58,37, 28,22, 69,79, 55,70, 19,56, 1,38, + 67,34, 38,21, 68,63, 60,20, 64,18, 54,63, 51,52, 34,28, + 60,43, 42,59, 29,65, 45,71, 26,48, 11,60, 18,30, 54, 1, + 19,16, 30,31, 55,79, 15,10, 38,73, 19,48, 46,70, 9, 5, + 55, 1, 27,27, 37, 6, 77,58, 55, 5, 9, 0, 46,35, 43,18, + 68,23, 23,46, 7,10, 69,18, 62,16, 53,14, 34,60, 61,35, + 15,15, 3,54, 24,51, 43, 3, 26, 2, 17,35, 25,43, 29,24, + 5,59, 11,23, 1,21, 36,21, 12,51, 60, 0, 55,74, 13,62, + 49,51, 76,72, 78,33, 55,25, 37,22, 2,33, 75,68, 25,50, + 40,55, 13,16, 8,58, 51,21, 52,37, 50,79, 63, 8, 71,34, + 79,41, 77,23, 36,55, 44,22, 59, 6, 52,48, 64,30, 71, 4, + 18,23, 27,41, 0,23, 37,42, 48, 0, 4,21, 68,24, 40,34, + 66,65, 20,63, 48,37, 71,40, 43,16, 1,20, 27, 9, 70, 8, + 29,14, 52,71, 12,11, 71,79, 37,31, 76,60, 28,72, 65,35, + 46,15, 39,73, 46,68, 1,23, 2, 4, 60,63, 48,24, 12,14, + 47, 8, 48,32, 79,76, 28,26, 54,48, 32,15, 22,47, 65, 0, + 38,18, 54,73, 39,57, 55,40, 21,55, 4, 9, 8,52, 67, 9, + 21,66, 18,26, 26,58, 74, 9, 7,25, 61,13, 64,11, 44,15, + 73,21, 11,37, 62,66, 5,21, 40,69, 77,29, 72,36, 70,60, + 32, 3, 36,41, 44,52, 27,51, 27,14, 18,66, 76,39, 43,75, + 69, 2, 23, 4, 25,55, 38,49, 41,28, 18, 8, 6, 8, 79,53, + 9,25, 28,42, 64,54, 50,19, 4,16, 27,72, 4,70, 23,22, + 14,61, 6,57, 72,69, 6,50, 31,70, 53, 5, 8, 3, 52,52, + 9,68, 77,17, 23, 2, 5,78, 71,29, 45,77, 79,36, 4,19, + 32,25, 79,54, 62,68, 0,35, 37,32, 49,42, 79,21, 59,26, + 21,23, 13,35, 79,58, 3, 3, 23,48, 68,51, 78,39, 29,53, + 55,13, 38, 8, 50, 5, 67,51, 15,52, 68,39, 22,61, 63,37, + 44,38, 55, 3, 42,47, 47,70, 10, 4, 57,64, 74,28, 27,30, + 72,35, 71,27, 20,56, 41,16, 3,25, 19,46, 9,34, 16,22, + 37,14, 4,22, 63,75, 27,64, 2,42, 40,77, 19,69, 74,43, + 26,69, 33, 8, 35,41, 28,73, 56, 5, 1,10, 8, 6, 41,29, + 72,31, 69, 8, 69,30, 67,75, 49,59, 35,73, 29,58, 39,18, + 63, 2, 59,19, 49,36, 52,76, 32,71, 8,57, 55,34, 46,16, + 41,65, 31, 3, 0, 2, 21,26, 39,29, 15,50, 25,75, 10,67, + 26,56, 49,62, 34,73, 51,76, 1,64, 69,21, 38, 3, 77,16, + 17,68, 39, 6, 18,65, 57, 0, 42, 3, 17,16, 39,32, 28,78, + 59,54, 49,28, 23,10, 62,33, 68, 9, 70,25, 41, 3, 66,13, + 43, 9, 9,56, 79,52, 28,56, 71,21, 32,74, 10,25, 18,68, + 8,79, 70, 5, 61,63, 34,37, 36,37, 55,24, 34,40, 37,54, + 45,29, 68,34, 8,63, 55, 8, 43,35, 44, 7, 4,35, 74,78, + 40,66, 31,28, 43,29, 71,72, 42,69, 37, 8, 73,19, 14,40, + 1,50, 63, 9, 34,10, 17,30, 15,37, 28,62, 2,14, 49, 0, + 7,75, 53,42, 26,67, 39, 2, 18,21, 1,28, 73,22, 73,67, + 31,25, 74,79, 78,53, 62,13, 29, 9, 16, 7, 5,70, 75, 8, + 38,48, 45,11, 79, 4, 52,11, 44,14, 16,13, 51,28, 5,52, + 50,68, 8,31, 9,16, 16,41, 2,64, 3,38, 74, 8, 1,65, + 72,34, 58,54, 28, 9, 9,53, 17,11, 47,41, 48,20, 50,26, + 15, 3, 50, 4, 33,45, 41,48, 27,37, 51,67, 73,17, 38, 4, + 27,56, 34, 9, 71,47, 26, 0, 73,43, 9,36, 45,43, 41,20, + 75,34, 44,26, 72,50, 25,72, 65,57, 79,15, 7,71, 9,78, + 28,54, 54, 3, 73, 2, 2,70, 1,59, 54,45, 52,41, 58,28, + 23,57, 24,76, 6,35, 23,15, 57,74, 67,12, 73,53, 42,74, + 36,76, 70,12, 26, 9, 49,45, 78,29, 74,15, 22,77, 53,11, + 65,28, 43,34, 12, 3, 33,12, 46,21, 35,56, 70,44, 33,50, + 10,63, 65,42, 23,37, 26,34, 18,42, 42,78, 27,12, 60,73, + 64,49, 71,35, 54,64, 34,56, 37,13, 37,60, 9,10, 78,61, + 60,53, 28,64, 42, 8, 46,29, 59,64, 5,67, 27,32, 30,52, + 16,26, 50,22, 15,75, 62,59, 39,34, 51,29, 24,59, 28,45, + 7,32, 47,34, 3,15, 60,28, 72,48, 69,64, 77,10, 69,33, + 4,34, 52,50, 22,16, 33, 1, 64, 9, 31, 8, 8,70, 51,17, + 54,77, 34,31, 78,41, 39,19, 35,58, 49,35, 0,28, 40,75, + 35,39, 60,57, 52,77, 29,57, 56,35, 57,40, 4,60, 67,73, + 2,44, 72,37, 74,63, 77,66, 46,60, 50,57, 4, 3, 79,28, + 14,33, 69,13, 26,31, 37,29, 69, 4, 74,62, 65,44, 1,40, + 44,70, 36,75, 14,32, 72,27, 53,78, 32,52, 64,32, 58,73, + 75,62, 72,21, 50,78, 73,63, 62, 4, 40,11, 24,28, 36,51, + 11,31, 39,41, 42,53, 40,50, 7,20, 76,61, 37,50, 40,79, + 31,44, 9,42, 10,38, 22,49, 67,70, 54, 9, 70,13, 25,36, + 3,34, 37,11, 74,57, 30,41, 64,69, 28,25, 1,78, 39,64, + 7,53, 41,74, 44,42, 64,70, 39,67, 71,67, 77, 5, 71,15, + 12,13, 25,61, 12,35, 77,67, 36,19, 23,59, 11,70, 8,67, + 42,13, 62,58, 57,16, 29, 8, 70, 0, 9,60, 44,10, 68,27, + 2,26, 32,53, 8,39, 68,16, 6,56, 58,70, 43,72, 26,18, + 51,49, 41,31, 37, 5, 52,79, 52,67, 62,31, 43,21, 50, 7, + 74,73, 48,21, 39, 9, 1,61, 40,62, 70,22, 47,61, 27,24, + 67,55, 65,24, 42,52, 11,32, 70,28, 15, 2, 21,57, 14,45, + 12,27, 63,38, 68,33, 54,41, 73,26, 61,10, 8,22, 32,75, + 33,31, 57,43, 34,25, 58,38, 9,47, 12,40, 17,20, 21,56, + 57,13, 74,74, 52,39, 77,79, 40,46, 8,69, 14,37, 60,58, + 73,28, 50,64, 68,21, 63,69, 38,24, 1, 5, 27,49, 70, 7, + 6,37, 34,17, 9,67, 56,54, 71,60, 62,50, 68,52, 21,67, + 24, 1, 0,46, 10,34, 42,55, 49,31, 20,18, 2,60, 10,29, + 37,44, 72,78, 45,70, 38,40, 12,32, 25,67, 6,69, 28,10, + 53,12, 68,50, 7,56, 0, 9, 75, 1, 56,28, 46,52, 59,17, + 50,51, 78, 5, 38,63, 34,52, 38,74, 66,74, 45,57, 23,66, + 36,65, 7,62, 53,69, 29,66, 27,54, 7,33, 0,62, 37,59, + 33, 5, 78,67, 49,43, 36,32, 29,33, 42,64, 0,20, 39,31, + 33, 9, 24,55, 64,21, 58,51, 20,61, 47,37, 78,11, 2,27, + 71,22, 25, 8, 38,15, 44,24, 56,24, 29,76, 31,48, 6,31, + 58,34, 2,65, 33,61, 2,31, 63,10, 53,59, 60,66, 24,34, + 18,59, 7, 8, 68, 1, 13,42, 14,16, 33,10, 31, 9, 0,19, + 47,55, 5,54, 25,27, 59,67, 17,56, 46, 7, 6,34, 72,73, + 60,56, 21,15, 51,59, 2,22, 46,39, 35,44, 29,43, 26,57, + 42,22, 52,78, 0,43, 46, 9, 15,28, 75,13, 73,58, 12,38, + 22,28, 5,46, 74,40, 25,32, 25,64, 46,79, 52,56, 72,22, + 46,30, 71,53, 10,52, 64,72, 16, 4, 5,20, 23, 5, 23,74, + 48,51, 13,78, 19,67, 49,46, 46,69, 23,65, 9,76, 7, 9, + 17,63, 41,57, 24,41, 73,56, 30,42, 16,47, 78,16, 79,27, + 64,71, 52,30, 0,27, 0,15, 67,76, 50,24, 2,32, 77,45, + 55,63, 51,50, 39, 3, 31, 2, 25,47, 52, 4, 20,17, 15,72, + 11, 6, 39, 5, 20,25, 6,11, 69,57, 7,65, 14,59, 51,61, + 49,70, 9,48, 62, 1, 52,22, 69,36, 67,52, 56, 6, 7,67, + 63,78, 39,20, 16,70, 50,36, 25,70, 37,70, 74,54, 56,27, + 4,47, 33, 3, 47,52, 21,36, 79,47, 51,19, 60,39, 47, 2, + 44,75, 65,65, 6,61, 13,18, 15,68, 39,38, 53,46, 79,66, + 58, 1, 11, 1, 10, 6, 63,21, 58,20, 40,25, 62,69, 57,55, + 36,44, 11,73, 38,26, 79,44, 32,42, 0,55, 40,71, 68,68, + 24,72, 50,58, 74,75, 34,75, 50,49, 49,24, 62,14, 56,71, + 10,64, 58,64, 36,34, 78,18, 13,20, 59,42, 62,28, 47,11, + 72, 1, 51,39, 56,13, 11, 8, 14,22, 56, 9, 68,53, 10,36, + 42,54, 66,79, 59,50, 16,60, 60,25, 4,55, 14,68, 41,58, + 16,43, 17, 4, 36,69, 21, 0, 61,37, 74,49, 68, 2, 16,59, + 45, 4, 33,43, 55,27, 71,44, 48,33, 6,24, 47,54, 39,45, + 63, 6, 1,47, 74,21, 25,51, 70, 3, 31, 5, 60,62, 25, 9, + 65,40, 75,11, 68,11, 72,51, 74,39, 7,45, 42, 0, 69,52, + 1, 3, 75,26, 27,19, 18,49, 35,43, 2,50, 55,68, 16,27, + 63,11, 68,49, 50, 9, 10,65, 27, 7, 27,79, 32,45, 35, 0, + 38,35, 19,75, 1,44, 34,65, 8,17, 47, 1, 76,70, 51,57, + 73,54, 41,17, 47,51, 20,39, 76,18, 5,42, 77,55, 72,76, + 10,54, 78,27, 9,46, 59,69, 33,68, 4,66, 0,52, 74,31, + 62,18, 52, 9, 49,63, 28,33, 73,62, 32, 8, 29,34, 77, 2, + 1,76, 0,79, 48,27, 41, 4, 48,79, 5,11, 59, 5, 48,22, + 38, 5, 25,15, 76,15, 70,76, 65,13, 18,28, 19,13, 10, 5, + 6,77, 60,27, 45,74, 11,42, 65,53, 64,24, 37,65, 36,72, + 6,25, 62,76, 4,72, 65, 3, 44,51, 44,20, 15,79, 59,24, + 57,75, 5,68, 9,14, 4,57, 32,26, 51,74, 45,21, 19,27, + 75,40, 71,52, 14,23, 54, 8, 54,29, 45,72, 21,73, 73,70, + 11, 5, 47,71, 70,68, 73,30, 59, 3, 67,60, 49, 1, 72,77, + 3,56, 77,70, 45, 7, 55,62, 56,10, 23,47, 45,69, 74,19, + 72,10, 15,53, 37,45, 17, 6, 28,30, 38,60, 27, 0, 60,34, + 5,33, 26,11, 5,72, 28, 4, 54,65, 51,62, 26,61, 62,70, + 24,50, 48,42, 54,30, 18,25, 0, 3, 57,11, 55,47, 53,24, + 26,20, 65,79, 63,27, 61,24, 68,71, 53,16, 53,61, 5, 9, + 52,49, 22,67, 31,20, 46,12, 2,17, 52,73, 19,18, 78,24, + 31,63, 47,14, 48,67, 17,39, 55,33, 18,45, 25,54, 53,28, + 43,33, 64, 8, 78,37, 25,19, 73,27, 51, 1, 15,70, 39,22, + 10,12, 56,17, 45,56, 18,36, 60,61, 30,21, 29,60, 29,47, + 10,43, 34,23, 61,14, 40,47, 19,72, 9,21, 64,13, 0,49, + 54,38, 55, 6, 42,24, 24,32, 55,20, 69,49, 27,43, 46,62, + 22,25, 33,78, 14, 3, 46, 3, 42,38, 73,38, 31,60, 61,61, + 72,53, 14, 0, 68,45, 32,60, 70,58, 7, 0, 45,40, 54,66, + 2,72, 25, 0, 17,34, 49,20, 26,17, 8,51, 27,60, 11,10, + 49,60, 17,64, 7,59, 10,33, 75,65, 54,59, 20,53, 69,24, + 57,76, 39,72, 3,20, 72,62, 8,32, 26,53, 32,33, 56,67, + 51,13, 21,46, 46,26, 79,68, 60,54, 7, 3, 46,43, 67,10, + 57,12, 66,73, 1,14, 76,42, 41,53, 6,71, 40,58, 79,16, + 46,10, 9,62, 67,64, 77,24, 76,10, 69, 0, 17,28, 71,42, + 66, 0, 72,28, 12,17, 43,46, 49,41, 18,77, 14,10, 47, 5, + 55, 2, 24,63, 25,35, 45,65, 75, 9, 25,23, 53,22, 32,73, + 0,76, 15,51, 3,36, 39,70, 2,67, 63,62, 61,19, 62,54, + 12,39, 39,27, 6,30, 55,78, 59,51, 74,48, 23,41, 41,41, + 40,16, 72,41, 54,33, 18,43, 67,16, 31,11, 0,58, 62,11, + 13,11, 46, 5, 51,54, 78,70, 38,54, 3,47, 42,29, 76,30, + 43,13, 41,66, 11,38, 67,23, 19,35, 19,33, 31,29, 43,48, + 1,36, 3,65, 56,32, 28,59, 22,51, 4,48, 76, 3, 7,54, + 46,45, 52, 6, 22,21, 78,10, 37,12, 9,33, 40,13, 32,19, + 43, 1, 4,40, 47,72, 16,30, 0,24, 60,21, 2, 7, 21,79, + 77,50, 5,27, 48,36, 52,21, 76,44, 79,51, 64, 5, 77,59, + 34,34, 34,13, 63,63, 19, 5, 19, 0, 65,50, 54,53, 79,23, + 15,45, 3,16, 3,72, 47, 4, 48, 5, 24,29, 60,23, 48,48, + 47,50, 69,56, 13, 2, 25,21, 25,74, 43,55, 65, 8, 53,70, + 46,64, 15,43, 7,39, 28,27, 3,23, 57,41, 47,13, 79,10, + 60,14, 14,67, 70, 6, 75,10, 35,30, 49,71, 72,57, 66,51, + 30,64, 33,29, 4,44, 60,45, 35,71, 69,47, 3,78, 23,72, + 75,22, 68,32, 68,74, 78, 7, 79,56, 4, 5, 33,17, 62,20, + 5,18, 53,52, 36,67, 62,60, 4,37, 4,42, 29,22, 52,47, + 25,34, 39,16, 38,79, 74,13, 6,67, 59, 1, 2,29, 35,18, + 16,78, 42,72, 40,37, 67,15, 72,46, 9,57, 38, 7, 69,76, + 7,76, 23,27, 28,68, 39,78, 11,61, 42,48, 19,53, 41, 7, + 49,77, 21,33, 20,22, 14,50, 57,20, 65,26, 33,19, 53,66, + 70,64, 29,21, 56,49, 41,30, 65,38, 32,50, 51,36, 79, 5, + 13,23, 50,10, 22, 3, 23,44, 72,71, 78,79, 12,65, 22,42, + 51,47, 28,57, 78,73, 5,30, 25,62, 29,62, 16,16, 29,54, + 63,15, 74,32 +}; +const int p_80_11[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1238, + /// Array of preferences + 64,22, 54,37, 67, 4, 72,64, 4,56, 27,59, 65, 3, 37,77, + 0,16, 77,47, 11,20, 6,19, 73,45, 2,24, 61, 8, 21,18, + 63,77, 49,64, 0,18, 48,29, 53,39, 60,22, 23,49, 55,44, + 49,56, 61,30, 9,50, 5,40, 65,70, 56,36, 41, 9, 35,30, + 6,17, 42,63, 68,77, 17,47, 51,17, 20,20, 39,21, 8,38, + 48,45, 1,69, 25,36, 33,33, 71, 3, 69,26, 60,38, 14,50, + 59,67, 13,33, 14,58, 37,24, 62,53, 52,34, 46,34, 59,13, + 62,15, 20,37, 29,10, 63,16, 72,74, 37, 2, 12,65, 17,55, + 29,71, 35,18, 33,74, 12,69, 39,11, 67,10, 63,45, 18, 0, + 74,51, 55,36, 44, 2, 31,14, 53,15, 31,58, 39, 6, 68,49, + 51,64, 71,43, 4,70, 44, 3, 69,45, 38,43, 22,60, 73,75, + 76,22, 13,13, 36,36, 22,68, 40,11, 65,50, 71,33, 30,19, + 35,29, 48,24, 51,51, 21,51, 6,74, 32,53, 34,77, 56,50, + 4,34, 13,55, 39,14, 11,66, 19,60, 77,38, 37,15, 17,52, + 23,14, 28,56, 77,58, 1,74, 19,25, 55,72, 78,64, 16,14, + 0,45, 23,24, 50,78, 13,66, 53, 6, 47,11, 0,48, 13, 0, + 79,66, 38,59, 74,11, 57,29, 48,19, 11,24, 5,39, 40,55, + 3,24, 47, 4, 32,29, 61, 6, 23,22, 35,23, 75,50, 32,30, + 74,79, 54,50, 42,77, 5, 8, 12,70, 24,74, 28,33, 8,46, + 21,14, 15,52, 26,76, 11,49, 10,19, 54,65, 52,10, 75,38, + 58,26, 21, 2, 2,23, 54,38, 79,67, 75, 0, 47,16, 45,16, + 44,79, 75,22, 61, 9, 67, 0, 40,66, 32,46, 21,30, 3,78, + 14,23, 15,28, 10,49, 10,42, 26,17, 46,23, 74,39, 14,77, + 37, 0, 2, 4, 79,34, 11,62, 76,66, 60, 1, 29,40, 31,57, + 14,46, 62,13, 0,26, 31,69, 9,24, 16,22, 26, 9, 59,51, + 27,70, 51,50, 26,31, 23,55, 27,16, 30,52, 25,68, 3,62, + 2,55, 77,46, 14,24, 45,24, 55,22, 19,29, 24, 2, 51, 0, + 18,52, 22,40, 10,48, 14, 8, 33,28, 58,16, 15,59, 31,64, + 16,62, 9, 8, 62,18, 60,39, 26,63, 42,43, 33,27, 40,74, + 24,49, 46,36, 76,77, 23,28, 35,45, 36,18, 29,74, 32,19, + 24,47, 7,12, 5,62, 42,41, 6, 8, 56,16, 33,42, 22,56, + 36,65, 53,23, 74,55, 27,52, 11,79, 51,33, 56,44, 71, 0, + 30,50, 56,60, 53,46, 68,29, 72,49, 44,54, 61,60, 72,37, + 31,61, 64,20, 48,33, 78,49, 64,38, 63,26, 77,26, 41,35, + 0,55, 67,39, 43,60, 70,25, 69,64, 79, 7, 30,41, 12, 6, + 36, 8, 53,37, 48, 1, 20, 6, 4,33, 57, 7, 36,62, 6,14, + 20,26, 15,63, 25,48, 32,67, 36,21, 66,66, 11, 8, 46,26, + 60, 3, 77,10, 13,64, 57,72, 36,26, 20,18, 59,41, 35,51, + 47,10, 15,78, 66,48, 26,56, 27,35, 6,13, 56,29, 59,69, + 22,25, 44,75, 6,55, 9,13, 0,21, 5,59, 8,35, 9,47, + 46,11, 1,17, 59,29, 20,69, 60,14, 14,59, 14,10, 51, 8, + 73,51, 76,25, 11,41, 35,65, 78,14, 15,51, 76,45, 39,68, + 42,36, 64,63, 73,63, 44,70, 27,37, 51,49, 67,27, 72,46, + 33,70, 27,12, 7,56, 4,79, 13,41, 49,30, 79, 6, 74, 5, + 46, 0, 45,78, 31,15, 70,36, 64,56, 27,13, 33,21, 8,29, + 3,75, 5,16, 18,59, 52,38, 36, 5, 33,46, 25,26, 72, 2, + 13,74, 56,79, 0,73, 6,20, 6,77, 1,67, 76,43, 30,44, + 28,44, 74,54, 50,73, 63,11, 61,43, 44,22, 18,46, 34,74, + 36,16, 23,47, 24,72, 49,34, 72,51, 13,73, 65,52, 41,44, + 39,42, 43,46, 49,61, 6,60, 45,63, 25,41, 2,44, 25,66, + 26,75, 22,27, 55,75, 74, 9, 5,68, 2,35, 38,19, 47,56, + 52,29, 67,68, 29, 0, 3,14, 46,18, 52,75, 35,20, 10, 6, + 2,64, 78,19, 20,10, 10,78, 18,49, 26,48, 27,10, 48, 5, + 71,68, 16,18, 74, 1, 44,62, 26,52, 71,10, 44,45, 13,68, + 62,69, 74,22, 50,74, 38,31, 79,63, 11,47, 34,39, 25,62, + 28,58, 79,44, 41,31, 60,52, 79,71, 73,55, 54,75, 47,12, + 14,41, 19,22, 32, 9, 60,49, 21,61, 53,49, 48, 4, 16,19, + 4,64, 38,51, 76, 3, 0,34, 33,68, 63,30, 57,35, 17,56, + 59,16, 16,32, 62, 8, 18,66, 60,65, 5,74, 15,38, 36,30, + 44,67, 27,60, 10,58, 62,16, 19,49, 58,55, 79,13, 15,13, + 46,41, 72,62, 76,16, 63,14, 38,20, 64,62, 72, 7, 66,63, + 50,22, 54,25, 23,45, 48,50, 42,35, 21, 5, 29,59, 37,43, + 51,66, 31,45, 52,51, 40,49, 43,29, 40,67, 49, 2, 9, 0, + 18,38, 32,79, 5,11, 40,79, 24,62, 16, 0, 20, 9, 48,13, + 13,59, 8, 3, 20,63, 40,35, 70,58, 76,59, 70,50, 54,31, + 66,37, 23, 0, 9,74, 23, 5, 78,44, 74,30, 62,62, 57, 5, + 77,30, 74,40, 69,50, 63,73, 67,71, 29,17, 66, 0, 43,67, + 22,69, 36,76, 73,61, 35,52, 48,41, 43,73, 2,33, 61,56, + 16,12, 8, 9, 61,40, 77,34, 30,79, 66,59, 25,78, 14,73, + 35, 4, 50,59, 0, 3, 0,15, 37, 6, 3,27, 72,79, 59,40, + 45,77, 1,79, 23,29, 38,23, 26,20, 32, 6, 39, 2, 5,75, + 56,61, 12,47, 33,24, 4,61, 74,43, 44,57, 29, 8, 32,31, + 0,69, 33, 1, 58,67, 56,63, 42,37, 36,69, 58,58, 9,42, + 50,28, 46, 9, 14,64, 12,66, 26, 4, 12,18, 41,67, 7,39, + 36,53, 0,22, 44,17, 9,52, 36,50, 31,17, 35,69, 72,34, + 26,65, 75,47, 16,13, 39,35, 43,33, 41,76, 70,62, 63, 2, + 43,27, 64, 1, 43,28, 32,18, 70,52, 62,33, 58,63, 67, 9, + 14,28, 27,42, 51,74, 26,35, 10,51, 49,13, 29,38, 54, 7, + 32, 0, 62,66, 43,53, 9,20, 63,35, 13,70, 51, 2, 71,35, + 51,69, 51,56, 64,55, 17,23, 54,41, 28, 4, 33,76, 60,78, + 58,32, 61,73, 37,49, 46, 7, 60,63, 47,44, 5,24, 75,71, + 6,42, 37,72, 50,55, 16, 5, 9,16, 43,62, 56,45, 73,49, + 2,14, 34,34, 49,23, 59,78, 52,22, 71,42, 20, 0, 71,70, + 42,75, 74,37, 45,79, 71,50, 10, 8, 74,44, 72,66, 7,71, + 76,63, 5, 1, 44, 4, 31,18, 24,42, 69, 8, 13,63, 58,10, + 5,53, 75, 8, 28,70, 42,67, 30,51, 38,12, 55,64, 65,56, + 77, 7, 54,77, 4, 1, 62,47, 50,41, 21, 7, 63,54, 35,31, + 56,14, 59, 5, 2, 6, 6,25, 77,35, 50,32, 29,67, 3,63, + 2,42, 70,70, 37,27, 18,45, 48,59, 30, 1, 10,38, 54, 1, + 63,31, 25, 9, 23,57, 33, 7, 39,54, 70,12, 42,27, 58,20, + 45, 2, 18,26, 67,24, 73,52, 21,10, 34,68, 60,33, 23, 6, + 5,28, 30,55, 66,75, 77,69, 2,67, 20,71, 31,62, 70,48, + 39,45, 61,12, 29,20, 0,62, 17,24, 41,75, 28,31, 57, 2, + 2,31, 36,37, 42,14, 20,65, 22,39, 72,32, 11,57, 41, 0, + 32,12, 63,34, 74,29, 78, 3, 74,68, 9,51, 52,76, 6,40, + 14,45, 71,14, 45,51, 27,71, 2,49, 51,41, 65,21, 27,74, + 56,64, 52,45, 71,55, 5,60, 61,20, 39,23, 45,21, 12,36, + 53,29, 45, 7, 78,52, 68,76, 33,34, 74,69, 74,36, 7,28, + 45,10, 72,24, 43,42, 28,74, 77, 4, 75,12, 47,17, 31,33, + 39,18, 67,78, 52,24, 78, 8, 59,17, 69,69, 10,33, 28, 3, + 50,77, 49,46, 29,79, 4,37, 47,59, 11,37, 5,58, 29,43, + 8,28, 14,20, 52, 1, 35,63, 8,63, 53,56, 22,64, 43,10, + 28, 2, 29,65, 75,78, 32,59, 43,18, 76,74, 23,54, 57,15, + 63,65, 79,52, 67,26, 45,19, 20, 5, 68,32, 20,25, 63,58, + 29,25, 61,51, 7,31, 52,68, 73, 6, 12,72, 30,20, 54,42, + 58,24, 34,23, 29, 2, 34,59, 43,11, 70, 6, 27,31, 19, 5, + 63,36, 4,67, 74, 3, 68,68, 23,77, 78,21, 26,43, 10,35, + 77,52, 50,46, 53,55, 32,54, 33,50, 40,32, 1,28, 44,61, + 54,32, 56,19, 39,27, 8, 6, 27,17, 75,72, 37,54, 17,20, + 15,45, 64,75, 31,38, 42,23, 54,36, 28,10, 71,59, 8,67, + 30,33, 13,22, 65,59, 60,76, 21,59, 8,70, 12,37, 57,71, + 30,73, 1,46, 8,60, 35,50, 51,11, 14, 7, 50, 7, 5, 5, + 51,71, 20,23, 34,75, 5,30, 74,16, 8, 0, 6,45, 53,73, + 73,36, 46,39, 54,56, 72,38, 23,17, 40, 9, 2,54, 0,49, + 64,72, 33,36, 44,42, 55,34, 19,72, 9,27, 9,22, 57,23, + 45,59, 28,23, 53,43, 77,62, 76,69, 10,64, 75,62, 12,26, + 79,22, 29,69, 58,56, 64,43, 30,32, 74,26, 1,53, 12,63, + 32,66, 59,53, 69,10, 63,37, 4, 3, 79,54, 10,39, 47,37, + 79, 5, 17,68, 26,51, 14,25, 59,71, 8,19, 65,24, 18,69, + 34, 7, 33,58, 0,39, 10,62, 17,69, 69, 7, 41,57, 5, 2, + 1,37, 18,76, 4,73, 36, 0, 13,27, 51,77, 60,66, 43,20, + 30, 4, 13,76, 21,31, 42,73, 75,75, 69,57, 31, 1, 44,66, + 49,29, 79,16, 61,79, 77, 1, 12,12, 27, 2, 76, 1, 15,30, + 42,51, 25,52, 22,42, 35, 2, 76,31, 11,27, 52,53, 75,45, + 75,60, 24,33, 9,46, 4,68, 53,27, 50,53, 28,41, 38, 3, + 11, 7, 42,78, 15,20, 76,62, 50,23, 28,78, 36,46, 66,36, + 0,28, 22, 7, 10,50, 46,33, 54,64, 52,14, 21,37, 54,13, + 75,67, 35,48, 44,64, 56,71, 72,20, 55,66, 77,66, 28,57, + 24,46, 21,29, 42,66, 73, 5, 45, 0, 72,11, 57,70, 70,57, + 75,37, 21,28, 46,71, 39,22, 66,57, 33, 8, 0,19, 22,67, + 1,24, 9,38, 40,46, 32,77, 20,58, 31,21, 20,61, 30,70, + 70,47, 54,10, 73,27, 0, 1, 79,75, 27,56, 47,31, 14,14, + 19,15, 14, 9, 5,29, 0,70, 31,54, 13,18, 51,58, 63,41, + 72,72, 31,63, 17,19, 40,42, 47,40, 59,65, 40,41, 61,19, + 43,22, 2, 3, 22, 1, 29,31, 0,51, 4,42, 39,62, 71,66, + 20,68, 30,26, 48,16, 69,68, 34,35, 72,54, 37,57, 73,74, + 28,22, 5,44, 27,23, 62,42, 43,56, 44,55, 3,16, 36, 6, + 78, 1, 58,39, 60,19, 77,43, 1,12, 49, 3, 17,43, 8,56, + 16,20, 24,69, 20,74, 3,22, 79,60, 69,41, 79,15, 48,55, + 37, 3, 39,71, 51, 7, 68,55, 34,13, 9,67, 48,20, 23,36, + 48,64, 23,58, 41,10, 55,38, 10, 7, 38,60, 59,36, 25, 2, + 44,69, 27,50, 20,45, 52,66, 10,60, 64,49, 19,24, 24,36, + 20,21, 10,63, 22,24, 8,69, 26,49, 25,19, 63,75, 73,16, + 30,14, 53,30, 40,56, 26,36, 6,76, 73,20, 71,19, 36,39, + 34,65, 50,45, 57,56, 74,45, 49,21, 76, 6, 57,57, 50,40, + 17,54, 66,43, 56,35, 73,33, 0,61, 65,53, 63, 0, 51,20, + 75,11, 4,29, 10,28, 27,41, 51,52, 41, 3, 58,62, 49,52, + 53,26, 27,19, 53,12, 66,11, 66,16, 6, 6, 15,65, 65,77, + 10, 5, 4, 6, 76,29, 75,16, 28, 9, 46,14, 54,44, 53,70, + 67,22, 59,38, 75,32, 3,46, 21,77, 13,52, 16,42, 29,54, + 16,27, 70,73, 52,20, 73,30, 30,76, 38,63, 5,56, 51, 9, + 65,47, 74,49, 67,52, 66,50, 62,32, 42,10, 4,66, 8,37, + 38,28, 42,32, 44,14, 34,37, 59,58, 66,21, 28,50, 30,47, + 10,74, 49,76, 24,57, 10,17, 36,22, 74, 0, 16,33, 57,44, + 59,24, 0, 8, 15,67, 45,62, 50,44, 35,68 +}; +const int p_80_12[] = { + /// Number of people on picture + 80, + /// Number of preferences + 262, + /// Array of preferences + 55,15, 8,14, 79,53, 23,31, 26,37, 22,62, 77, 0, 57, 7, + 78,14, 70,30, 32,63, 73, 1, 47,69, 20, 2, 35,56, 50,54, + 48, 8, 41,41, 65,73, 4,56, 31,52, 27,53, 45,34, 22,75, + 77,46, 2,55, 13,61, 9,51, 68,40, 11,28, 19,39, 42,16, + 6,23, 11,19, 18,10, 42,27, 76, 8, 49,21, 12,50, 70,64, + 51,74, 26, 2, 74,50, 18,13, 28,52, 52,44, 27,79, 57,55, + 53,48, 5,64, 70,34, 26,16, 60,58, 52,50, 68,51, 10,49, + 43,36, 58,51, 26, 1, 60,11, 4,72, 9,50, 29,46, 52,51, + 20,21, 49,19, 69, 0, 41,57, 35,19, 69,74, 54,31, 62,49, + 69,76, 21,40, 36,33, 76,38, 30,67, 38,23, 51, 7, 8,54, + 66,44, 61,49, 72,48, 58,44, 7,26, 22, 8, 77,62, 41,48, + 34,75, 46, 9, 20,49, 40,35, 57,61, 67,61, 33,17, 29,60, + 21,35, 75,61, 55,32, 10,18, 23,53, 60,65, 66,48, 38,33, + 5, 5, 48,60, 59,17, 57,45, 0,34, 64,24, 30,65, 0,42, + 43,23, 18,50, 53,50, 47,68, 23,19, 47, 4, 57, 5, 68,16, + 36,74, 28, 8, 72,20, 33,36, 37,54, 4,59, 43,52, 11, 1, + 66,30, 30, 1, 41,23, 33,23, 54,26, 43,64, 14,18, 50,29, + 53,66, 46,75, 35,11, 71, 8, 55,29, 21,71, 76,31, 23,79, + 74,78, 51,38, 14,51, 29,45, 2,37, 12, 4, 40, 1, 46,69, + 60,23, 58,33, 76,64, 69,51, 2,24, 14,69, 27,10, 47, 7, + 13,34, 0,16, 51,62, 77,38, 60, 7, 76,24, 32,67, 22,60, + 72, 5, 9,48, 31,28, 11,10, 13,64, 3,77, 59,68, 39,77, + 1,60, 7,43, 49,39, 36,44, 30,70, 77,31, 17,49, 7,46, + 44,42, 25,13, 60,63, 19,72, 11,31, 63,36, 70,15, 42,41, + 3,47, 23,37, 7, 1, 9,15, 75,25, 8, 6, 45,61, 54,22, + 2,43, 44,63, 17,77, 24,36, 56,75, 71, 4, 76,61, 43,70, + 45,70, 39, 2, 77,17, 39, 1, 10,47, 67,16, 77, 6, 70,69, + 9,75, 40,22, 0,73, 25,37, 63,22, 29,36, 52,70, 36,72, + 16,69, 15,31, 21,39, 76, 5, 56,64, 18,38, 9,30, 29,63, + 9, 4, 74,76, 75, 3, 28,54, 71,11, 67,56, 29,30, 16,78, + 40,32, 12,47, 43, 1, 57,64, 28,13, 30,79, 77,49, 48,75, + 52,77, 12,23, 78,34, 7,68, 21,58, 54,36, 58,25, 62, 5, + 41,75, 26,76, 43,63, 17, 0, 14,26, 44,49 +}; +const int p_80_13[] = { + /// Number of people on picture + 80, + /// Number of preferences + 363, + /// Array of preferences + 49,34, 17,15, 11,20, 17,10, 47,31, 63,56, 60, 3, 36,39, + 5,76, 76,21, 73,21, 58,10, 74, 3, 7,16, 22,46, 65,11, + 28,29, 44,31, 26,35, 0,60, 65, 4, 4,79, 46,77, 10,60, + 48,61, 5,22, 19,72, 46,56, 59,30, 54, 8, 7,46, 34,34, + 22,31, 45,11, 50,10, 17,74, 55,56, 39,51, 67,76, 39,75, + 77,38, 42,73, 34,40, 74, 4, 36,68, 54,63, 48,59, 18,27, + 64,26, 76,49, 71,66, 20, 1, 5,71, 1,58, 77,59, 20,21, + 25,16, 27,48, 71, 5, 78,30, 54,58, 68,77, 67,35, 67,31, + 43, 4, 36,75, 67,63, 0,31, 65,62, 33,70, 16,72, 17,32, + 23,74, 78,16, 51, 7, 71,56, 28, 3, 15,63, 68,22, 68,24, + 26,45, 25,33, 67,53, 72,23, 53,28, 74,47, 19,38, 50,75, + 19,71, 66,39, 79,73, 25, 7, 24,10, 8, 4, 14,24, 69,19, + 21,62, 47,18, 25,43, 57,56, 31, 8, 4,60, 25,71, 43,76, + 11,73, 6, 1, 7,66, 54,46, 13,63, 25,31, 18, 5, 49,76, + 7,54, 40,76, 39,50, 49,38, 73,62, 68,49, 51,51, 74,29, + 13,17, 74,50, 26,16, 58,65, 36,64, 64,41, 47,58, 68,72, + 29, 2, 72,66, 68, 6, 79, 9, 19,39, 33,29, 16,34, 58,73, + 8,37, 68, 4, 79,44, 5,54, 45,17, 30,30, 33,56, 48,40, + 27,23, 39,17, 75,10, 64,56, 57,39, 25,70, 26, 4, 40,23, + 40,25, 78,76, 30,25, 69,28, 47,38, 56,33, 67,55, 0, 4, + 20,20, 55,51, 21,29, 68,39, 73,30, 16,75, 76,44, 59,11, + 55, 9, 75,27, 43, 2, 53,40, 41,62, 1,78, 64, 7, 68,11, + 7,36, 10, 3, 31,59, 15,56, 11,24, 1,27, 8,72, 72,10, + 70, 3, 49,43, 74,22, 26,69, 70,61, 67,56, 51,60, 40,22, + 21,53, 40,38, 16,16, 21,72, 47,61, 33,25, 58,23, 15, 2, + 64,60, 36,10, 35,39, 17, 1, 36,44, 15,40, 35,46, 50,30, + 42,77, 52,77, 17,29, 13,28, 21,42, 68,26, 35,14, 49, 4, + 47,41, 27,47, 7,32, 36,63, 49,28, 32,76, 20,34, 36, 1, + 48,55, 54, 3, 34,76, 63,53, 57, 9, 30,48, 63,34, 43,69, + 39,78, 5,20, 57,50, 30,71, 64,76, 2,21, 6,47, 75,69, + 59,67, 64,21, 1, 8, 48,31, 55,65, 29,63, 7,41, 44,14, + 54,34, 23,24, 65,10, 13,55, 51,13, 66,33, 34,23, 7,76, + 14, 4, 38,49, 52,65, 20,52, 71,41, 25, 0, 46,61, 69,68, + 68, 5, 56,23, 8,42, 8,50, 5,27, 31,20, 32,52, 25,64, + 75,44, 38, 9, 47,22, 77,23, 2,41, 60,78, 67,64, 29,75, + 64,62, 40,28, 39,63, 2,73, 47, 2, 33, 0, 22,18, 59,31, + 56,49, 5,29, 18,55, 79,52, 11, 3, 39,57, 56,54, 56,18, + 7,69, 59,22, 70,20, 36,35, 58,31, 50,34, 77,24, 48,48, + 37,24, 37,59, 47, 7, 61,13, 71,37, 0,12, 8,10, 35,35, + 24,32, 56, 1, 8,15, 68,15, 76, 5, 30,22, 35,22, 1, 4, + 5,49, 73,56, 18,69, 78,70, 66,21, 4,52, 40,11, 23,36, + 69,40, 35,18, 57,74, 73,41, 77, 5, 68,50, 70,41, 24, 4, + 49, 3, 46,19, 50,59, 27,18, 17,17, 37,33, 26,49, 37,76, + 54,28, 50,26, 9,12, 7,72, 12,24, 0,47, 37,55, 3,61, + 6,63, 0,21, 28,16, 34, 1, 17,53, 61,35, 22, 1, 39,35, + 51,69, 15,37, 5,12 +}; +const int p_80_14[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1576, + /// Array of preferences + 77, 6, 31,55, 12, 6, 8,72, 27, 7, 29, 5, 75,17, 33,19, + 15, 1, 72,33, 67,19, 73,32, 68,75, 11,38, 61,12, 16,59, + 46,63, 71,77, 52,67, 47, 0, 63,55, 27,67, 74,55, 60,47, + 20,57, 35,59, 21,33, 63,46, 44,73, 75,66, 60,24, 72,36, + 77,10, 56, 0, 39,60, 14,23, 42,62, 12,22, 61,77, 37, 5, + 74,44, 5,11, 77,48, 61,57, 48,64, 26, 0, 24,57, 70,22, + 77,13, 52,41, 33, 6, 79,21, 79,75, 51,13, 31,32, 22,73, + 52,47, 71,48, 17,71, 33,45, 24,63, 10,49, 37,30, 56,17, + 28,40, 1,77, 77,70, 70,39, 23,11, 65,27, 54,36, 5,65, + 36, 5, 14,54, 68,66, 10,52, 49,33, 40,50, 20,12, 25,30, + 55,42, 39,16, 21,26, 52,10, 42,29, 52,78, 33,27, 35,60, + 27, 1, 25,31, 39,30, 36,36, 67,79, 31, 2, 70,67, 66,15, + 25,66, 70,45, 52, 4, 64,77, 0,36, 57,55, 17,65, 38,31, + 55,78, 2,30, 31,21, 32,14, 51,60, 26, 1, 50,45, 20,21, + 35,51, 45,28, 78,53, 73,39, 26,24, 77,56, 59,68, 26,34, + 22,53, 50,43, 73,36, 68,40, 52,34, 22, 3, 8,20, 35,42, + 65,11, 66,42, 69,60, 72,54, 46,47, 2,74, 13,40, 22,47, + 59,51, 44,37, 61, 8, 32,12, 34,66, 16,15, 10,74, 53,74, + 51,19, 48,37, 40,37, 2,31, 63, 6, 34,41, 38,45, 75,12, + 18,32, 20,65, 19,67, 38, 1, 72,21, 42,71, 35, 7, 27,72, + 15,43, 8, 9, 73,35, 21,19, 8,36, 9,73, 42,14, 14, 5, + 5,45, 75,23, 16,31, 28,69, 73,58, 10,62, 36,14, 74,19, + 18,47, 53,15, 1,21, 24,78, 22,50, 75,78, 68,58, 31,16, + 15,29, 15,19, 60, 7, 74,10, 51,68, 21,78, 1,57, 45,55, + 1,23, 47,79, 56,48, 20,14, 58,29, 27,79, 41,27, 33,51, + 3,64, 19,73, 75,55, 77,53, 37,24, 65,18, 58,26, 37, 9, + 41,64, 52,49, 76,42, 25,27, 57, 5, 32,17, 42,70, 15,42, + 7,42, 46,50, 60, 2, 69,35, 13,14, 24,62, 11,60, 14,32, + 72,46, 51, 7, 72,35, 41,17, 7, 0, 53,20, 2,76, 74,56, + 14,10, 66, 7, 7, 3, 66,69, 1,74, 77,11, 71,34, 58,14, + 50,44, 25,53, 17,74, 73,18, 45,26, 14,72, 75,76, 43,34, + 12,67, 23,71, 10,64, 30,64, 55,46, 68,76, 6,24, 79,71, + 73,59, 2, 7, 63,15, 53, 7, 18,25, 67,77, 68,65, 23,10, + 37,16, 79,24, 45,10, 75,74, 72,30, 13, 3, 7,47, 51,54, + 74,26, 36,60, 79,67, 4,26, 18,18, 40,27, 50,33, 42, 2, + 2,15, 14,30, 70,47, 50, 8, 57,64, 15,72, 66,10, 44,12, + 34,48, 37,78, 60,25, 68,32, 14,49, 35,71, 34, 2, 27,61, + 59,57, 38,62, 16,49, 28,24, 3,70, 9,13, 2,79, 77,12, + 16,50, 0,14, 61, 4, 2,61, 47,33, 45, 1, 45,72, 25,12, + 47,32, 9,57, 76,52, 65,70, 34,69, 47,73, 69,72, 16,13, + 67,49, 19,58, 23,64, 67,43, 39,79, 12,48, 71,54, 67,64, + 38, 4, 45,24, 38,28, 26,30, 45,70, 64,52, 75,27, 12,24, + 2,68, 39,44, 63,49, 68,14, 11,78, 41,48, 18, 6, 39,34, + 56,65, 3,34, 54,75, 51, 0, 40,28, 61,50, 28,49, 56,50, + 59,32, 27,34, 74,32, 70,23, 76,22, 11,34, 62, 4, 62,19, + 6, 6, 19,42, 30,47, 45,11, 9,22, 42,22, 8,59, 9, 0, + 62,56, 45,18, 61, 2, 76, 5, 15,25, 55,65, 11,36, 9,72, + 55,19, 70,36, 76,65, 12,62, 76,47, 57,43, 37,17, 73,30, + 41,37, 11, 5, 5, 6, 35,27, 44,50, 33,28, 2,51, 29,68, + 53,35, 52, 9, 26,12, 46,51, 54,31, 59,22, 43,53, 41,19, + 72, 4, 21,17, 73, 4, 31,33, 36,35, 39,68, 13,66, 18,41, + 15,75, 41,53, 32,39, 46,59, 35,56, 17,44, 13,72, 11,75, + 63,56, 50,30, 46, 6, 70,40, 62,27, 53,54, 16, 4, 67,58, + 41,18, 62,78, 57,53, 77,57, 35,13, 57,75, 0,48, 35, 5, + 50,59, 24, 4, 7,40, 24,52, 37,37, 15,39, 26,29, 14, 8, + 64,43, 42,79, 62,17, 8,75, 77,62, 4,38, 47,40, 35,40, + 23,17, 78,59, 10,42, 44,57, 53,70, 73,79, 78,45, 51,42, + 29,69, 19,79, 20,39, 44,60, 31,44, 19,27, 22, 5, 73,71, + 38,78, 68,25, 64,30, 41,11, 34,63, 64,51, 35,28, 51,77, + 65, 3, 79,44, 51,62, 69,18, 65,29, 11,11, 44,18, 79,47, + 56,25, 6,60, 31,11, 11,12, 34,25, 39,15, 63,24, 53,55, + 9,76, 21,11, 10,47, 46,67, 51,18, 0,40, 27,43, 48,34, + 56,76, 23,37, 12,69, 6,25, 30,52, 21,71, 31,28, 19,18, + 12,79, 14,43, 5,35, 26,21, 49, 7, 21, 7, 1,79, 37,57, + 69,64, 70,61, 25,52, 73,40, 23,15, 46,45, 16,40, 70,75, + 44,55, 12,61, 62,65, 77,46, 10,77, 43,38, 78,44, 50,74, + 68,38, 37,74, 38,58, 59,48, 30,50, 78,68, 13,13, 16, 3, + 37,12, 6,14, 68,15, 73,38, 49,51, 40, 6, 51,50, 46,37, + 66, 9, 66,51, 55,10, 66,78, 0, 5, 13, 9, 10, 2, 51,35, + 7,53, 24,30, 17,73, 31,26, 11,17, 12,29, 15, 6, 13,69, + 29,54, 37,40, 9,30, 31,19, 73,70, 33,18, 75,39, 28, 3, + 7,46, 13,50, 51,74, 15,22, 26,65, 58, 0, 16,11, 7,62, + 33,56, 7,79, 54,22, 41,56, 3,49, 42,52, 53,58, 46,65, + 71,67, 17,61, 71,73, 46, 4, 27, 5, 44,10, 64,14, 11,13, + 41, 7, 1,29, 58, 4, 49,11, 29,51, 9,18, 59,35, 77,14, + 42, 4, 37,66, 47,36, 76,28, 60,30, 65, 7, 28,57, 25,39, + 49,52, 59,50, 64,22, 73,31, 75,29, 14, 7, 78,11, 63,64, + 73,78, 46, 8, 64,69, 41,73, 9,55, 39,14, 16,18, 27,10, + 3,68, 63,70, 42,64, 64,44, 48,68, 15, 9, 23, 8, 24,36, + 75,15, 33,57, 59,73, 28,61, 48, 9, 45,60, 20,37, 72,57, + 74,14, 41,49, 0, 1, 10, 5, 30,44, 22,60, 58,69, 33,49, + 33,60, 70,16, 60,37, 15,21, 9,78, 10, 7, 72, 3, 70,48, + 23,12, 37,48, 18,61, 79,73, 51,10, 37,55, 49,21, 43,42, + 13,26, 34,34, 33,78, 70,32, 60,38, 44,62, 32,24, 65,73, + 49,41, 18,78, 4,48, 22, 4, 16,24, 77,74, 33,65, 9,79, + 59,54, 54,48, 6,57, 66,46, 61, 6, 60,64, 25,36, 34,75, + 42,63, 31,23, 64,48, 26,52, 25,48, 9,25, 35,19, 44,72, + 35,70, 20, 4, 58,61, 4,21, 62,67, 69,10, 22,62, 14,60, + 78,57, 52,74, 33, 9, 46,11, 31,50, 63,38, 41,52, 70,56, + 38, 6, 22, 2, 45,23, 18,12, 40,35, 75,21, 68,60, 7,68, + 38,29, 44, 8, 24,55, 57,52, 54,38, 15,11, 9,36, 21,22, + 71,45, 21,30, 48,75, 3,75, 62,73, 60,19, 71,35, 76,55, + 54,66, 42,56, 10,17, 16,58, 12,46, 32,63, 60,27, 33,41, + 67,37, 45, 0, 48, 6, 54,79, 71,66, 56,67, 72,25, 57,20, + 45,77, 17,22, 16,52, 32,66, 36,62, 13, 1, 61,46, 25,18, + 27,75, 15,73, 43,50, 28,59, 22,37, 6,23, 66,74, 52,50, + 37,70, 32,26, 65,13, 77,18, 77,31, 2, 2, 36, 3, 41, 8, + 35,15, 40,12, 42,27, 0,79, 43,20, 55,54, 35,21, 59,56, + 28,55, 59,60, 76,38, 7,56, 74,43, 58,51, 31,72, 50,66, + 17,72, 37,68, 14,46, 77,17, 54,24, 43,12, 0,64, 50,28, + 31,42, 27,42, 58,42, 57, 3, 74,15, 50,22, 61,52, 19,75, + 61,21, 72,76, 40,72, 63,57, 12,58, 71,56, 45,21, 68,33, + 22,20, 18,22, 25, 9, 25, 3, 64,31, 38,74, 76,26, 13,47, + 43,25, 34,35, 40, 1, 15,33, 71, 5, 42,69, 57,38, 22,74, + 23, 4, 0,49, 79,26, 70, 1, 48,50, 77, 5, 58,67, 57,17, + 29,56, 73,47, 30,39, 27,68, 71,23, 31,68, 46,39, 46,44, + 10, 6, 28,70, 36,32, 17,64, 69,26, 35, 4, 45,51, 36,31, + 44,67, 14, 6, 0, 4, 47,65, 56,64, 61,60, 6,17, 52,35, + 6,62, 67, 6, 21,36, 11, 7, 62,13, 3,79, 51,33, 5,54, + 19,68, 62,38, 69,14, 35,44, 52,63, 32,19, 11,26, 34,38, + 15,59, 48,44, 10,75, 2,58, 1,73, 32,73, 13,55, 27,47, + 59,38, 18,58, 40,34, 8,25, 21,23, 53,16, 70,70, 9,43, + 22,31, 73,61, 46,18, 28,12, 73,67, 17,58, 62,39, 23,31, + 49,40, 3,11, 11,70, 76,37, 56,31, 45,50, 30,49, 24,42, + 70,78, 78,13, 4,52, 50,31, 17,32, 0,12, 72,14, 61, 0, + 40,64, 2,53, 11,47, 13,27, 79,39, 24,70, 20,51, 78,79, + 54,42, 40,22, 59,62, 14,66, 66,32, 32,11, 35,76, 48,16, + 63,79, 32,31, 9,45, 27,39, 61,68, 54,40, 28,10, 8,26, + 24,46, 15,30, 13,37, 39,66, 12,64, 31,10, 18,45, 41,32, + 50, 1, 43,37, 44, 2, 48,70, 12,45, 74,17, 65,75, 0,54, + 44,40, 8,53, 21,50, 62,59, 57,39, 78,58, 75,48, 31,40, + 53,33, 47,25, 32,72, 63,17, 35,61, 11, 6, 25,16, 63,44, + 6,73, 62,34, 5,70, 51,30, 39,25, 28,38, 74,12, 75,58, + 24, 5, 5,43, 66,62, 68,22, 25,68, 70,29, 73,10, 13, 6, + 41,66, 70,34, 36,12, 58,40, 55, 6, 5,50, 71,14, 50,51, + 71,19, 21,62, 70,33, 28,31, 53,65, 2,39, 1,58, 55,24, + 64,12, 62,21, 20,41, 53,59, 79,49, 25,78, 72,79, 65,43, + 79,19, 26,10, 43, 7, 70,15, 50,12, 7,10, 60,79, 39,23, + 29,49, 21, 3, 1,54, 57,27, 12,11, 78,43, 16,70, 57,31, + 19,45, 54,74, 19, 4, 62,30, 2,70, 6,29, 63,61, 27,29, + 66,73, 76,34, 47,57, 77,77, 13,77, 10,60, 47,46, 63,16, + 66,20, 52,13, 27, 6, 40,67, 41,78, 20,79, 17,34, 59,34, + 11,25, 53,29, 39,33, 42,55, 27,26, 71,21, 49,68, 32,59, + 9, 5, 42,77, 56,52, 40,58, 62,32, 77,25, 26,20, 60,39, + 42,46, 2,69, 37, 4, 52,68, 66,17, 24,79, 10,33, 66, 5, + 39,59, 2,18, 70, 2, 22,41, 38,25, 4,46, 34, 6, 50,36, + 37,22, 21,54, 32, 4, 72,55, 79,37, 40,41, 11,61, 44, 9, + 77,79, 22,42, 69,62, 58,63, 39, 3, 62,60, 62,24, 20,53, + 15, 4, 60,43, 47,61, 12,59, 15,46, 5,49, 20,76, 36,16, + 40, 0, 53,52, 70,13, 11,63, 75,28, 78, 7, 6,10, 0,30, + 0,37, 63,52, 57,59, 13,74, 57,60, 44,11, 18,54, 31,51, + 45,65, 61,69, 69, 6, 37, 6, 13,76, 19,48, 10,22, 17, 8, + 20,52, 30,65, 60,29, 50,42, 71,42, 44,13, 65,66, 65,17, + 29,10, 18,62, 20,10, 51,71, 73,17, 17, 6, 74, 2, 46,31, + 3,63, 49,15, 46,58, 25,33, 45,40, 7,44, 7,72, 31,34, + 54,52, 36,15, 19,25, 48, 0, 55,71, 22,72, 19,49, 70,58, + 22,68, 29,11, 79, 1, 1,11, 26,75, 46,46, 43,29, 7,27, + 23,20, 27,28, 24,28, 33,13, 16,61, 75,37, 44,21, 46,74, + 68,68, 57, 9, 8, 7, 1,13, 15,50, 56,35, 37,79, 78,37, + 2,59, 77,78, 44,36, 74,54, 19,21, 66,11, 64,25, 6,52, + 65,71, 68,69, 53, 1, 33, 0, 7,54, 59,59, 21,35, 12,51, + 51,57, 42,11, 61,28, 65,60, 79, 4, 34, 7, 58,73, 15, 5, + 49, 5, 28, 4, 55,64, 11,52, 52, 0, 13,42, 28,15, 12,25, + 28,14, 72,34, 32,32, 60, 1, 66,76, 46,55, 66,23, 12,36, + 39,19, 36, 6, 79,41, 36,63, 38,64, 3,44, 42,49, 29,36, + 68,55, 53,73, 14,75, 44,49, 35,64, 7,45, 60,58, 22,75, + 40,61, 48,52, 47,16, 61,70, 11,23, 23,54, 31,30, 59,26, + 59,74, 7,76, 32,51, 68,53, 29, 9, 64,35, 40,75, 6,46, + 20,49, 0,78, 20,19, 33,14, 27,19, 29,70, 38,70, 34,44, + 1,53, 25, 4, 1,46, 51,63, 5,10, 64,71, 26,23, 39,36, + 5,71, 62,11, 53,50, 51,45, 10,14, 73,45, 59,67, 2,48, + 53,67, 41, 4, 2,40, 58,54, 30,27, 60,69, 13,44, 8,77, + 14,22, 9,65, 75, 9, 69,22, 70,21, 65,24, 64,37, 21,67, + 46,52, 54,77, 4,61, 46,72, 77,52, 39,75, 3,22, 71,40, + 20,32, 61,64, 46,57, 33,42, 60,62, 3,29, 66,47, 63,40, + 32,75, 44, 3, 10,28, 13,75, 21,42, 65,55, 56,56, 26,74, + 50,17, 5,26, 37, 0, 43,61, 10,12, 32,54, 21,77, 75, 8, + 46,19, 12,71, 36,69, 63,67, 66,65, 68,10, 49,12, 0,71, + 71,32, 0,17, 37,45, 5,34, 46,40, 22,18, 43,67, 23,52, + 9, 3, 45,45, 63,53, 33,37, 16,68, 66,22, 0,21, 78,36, + 15,55, 79,34, 10,72, 77,45, 64,55, 79,31, 75,54, 65,72, + 12,21, 72,47, 28,63, 30,56, 35, 3, 68,36, 29,64, 28,23, + 47,31, 34,70, 50,53, 31,27, 45,69, 77,29, 23, 0, 36,50, + 62,44, 35,58, 62,72, 40,56, 52, 3, 21,69, 78,12, 42,28, + 78,73, 69,76, 35,45, 54, 3, 11,19, 43,26, 27, 3, 16,10, + 53,14, 34, 0, 68,63, 26,46, 36,56, 49,38, 27,66, 28,79, + 17,25, 66,60, 45,53, 33,68, 62,23, 30,36, 0,76, 52,52, + 41,28, 46,24, 43,73, 9, 4, 12,76, 64,61, 59,41, 51,78, + 9,69, 18,71, 9,77, 67,42, 52,20, 69,51, 7,78, 78, 6, + 57,42, 29,22, 47,60, 71,52, 32,40, 77,69, 73,44, 36, 9, + 72, 6, 28,48, 5,14, 58,55, 32,36, 16,14, 72,63, 27,57, + 49,31, 51, 2, 55,57, 68,71, 42,34, 10,36, 78,41, 73,65, + 61,24, 9,52, 51,49, 23,61, 1,59, 9,48, 52,55, 56,10, + 79,64, 2, 5, 60,75, 2,55, 59,55, 64,38, 45,35, 58,34, + 39,63, 49,63, 41,79, 15,77, 42,66, 29,23, 45,14, 38, 0, + 42,36, 67, 8, 43, 0, 74,23, 19,52, 70,12, 9,40, 5,67, + 58,37, 44,20, 75,16, 43,57, 14, 1, 2,65, 64,67, 76,36, + 75, 7, 2,67, 28, 7, 17,56, 44,35, 35,14, 52,23, 5,24, + 73,43, 73, 1, 30,35, 42,51, 76, 2, 37,39, 47,10, 36,53, + 3, 8, 12,49, 55,58, 22,34, 55,61, 75,62, 27,35, 14,47, + 19,60, 46, 0, 27,27, 37,44, 46,38, 39, 0, 79,30, 21,49, + 39, 1, 23,58, 62,36, 28,44, 0,13, 52,16, 64,21, 11,68, + 39, 9, 5,29, 69,53, 74,49, 33,10, 5,55, 49,49, 14,69, + 48,39, 6,56, 62, 6, 50,50, 22,16, 62,76, 7,28, 24,49, + 25,64, 54,19, 78,38, 68,23, 64,74, 35,75, 41,72, 41,16, + 39,24, 60,71, 59,66, 8,35, 58,71, 60,59, 15,15, 14,12, + 42,24, 15,74, 49, 8, 76,23, 75,68, 62,28, 3, 6, 39,74 +}; +const int p_80_15[] = { + /// Number of people on picture + 80, + /// Number of preferences + 891, + /// Array of preferences + 0,43, 4,60, 12,29, 75,18, 3,28, 44,32, 65,26, 37,16, + 65,36, 36,68, 16,11, 59,24, 20,58, 48, 8, 49,22, 68,27, + 13,68, 13,17, 48,18, 23,55, 9,51, 33,14, 70,55, 27,39, + 14,41, 76,47, 17,28, 22,17, 73,31, 72, 0, 9,41, 41,45, + 42,20, 41,36, 45,78, 47,18, 20, 7, 5,67, 10, 3, 12, 8, + 0,75, 34,52, 51,10, 74, 0, 8,16, 11,62, 67,35, 28,58, + 54,25, 49,30, 71,62, 47,22, 15,12, 40, 9, 71,41, 44,63, + 67, 9, 37,56, 32,71, 47,64, 39,53, 5,28, 55,47, 79, 7, + 77,11, 38,57, 51,49, 79,76, 9,72, 21,75, 20, 6, 69, 9, + 67,55, 65,30, 16,15, 29,58, 27,11, 3,57, 33,35, 19,14, + 25,31, 51,65, 76,70, 22,38, 50,12, 69,63, 44,68, 79,54, + 36,57, 9,19, 49,43, 11,45, 49,65, 19,63, 79,47, 38,40, + 14,75, 22,61, 34, 5, 19,16, 2,73, 0,74, 40,10, 49,76, + 67,77, 47,40, 70,57, 10, 4, 49,55, 52,78, 77,65, 78,28, + 23,35, 23,54, 23,26, 70, 9, 72,44, 32,79, 60,30, 77,39, + 6,38, 15,55, 46,50, 1,75, 24,24, 48,17, 48,46, 39,37, + 12,36, 64, 2, 12,64, 45,61, 21,55, 14,14, 39,49, 19,18, + 72,67, 69,38, 76,17, 27,28, 7,78, 28,49, 45,65, 69,32, + 56, 4, 78, 6, 68,50, 73,73, 41,37, 48,74, 37,47, 52,29, + 59,26, 35,55, 19,48, 32,31, 18,72, 33,61, 0, 0, 1,72, + 58,63, 5,13, 1,12, 5,41, 71,58, 65,74, 68,42, 25,54, + 37,59, 51,42, 55,38, 28,23, 75,13, 22,47, 8, 4, 68, 5, + 34,46, 28,59, 50,10, 37,20, 41,47, 76,42, 56,19, 19,56, + 38,23, 72,76, 36, 8, 20,15, 64,41, 45,12, 25,32, 10,48, + 48,65, 8, 2, 59,30, 52,61, 25,30, 18,59, 74,40, 17, 5, + 73,30, 19,37, 1,13, 59, 5, 3,71, 16, 0, 75,45, 54,73, + 43,76, 30,23, 4,23, 8, 9, 42,43, 32,17, 54,15, 59,72, + 47,63, 13,64, 42,28, 68,73, 17,48, 78,65, 3,56, 23,61, + 54,42, 43,45, 47,25, 1,60, 12,61, 17,41, 62, 9, 26,30, + 39,45, 54,48, 55,19, 16,44, 39,36, 48,66, 50, 3, 46,78, + 43,40, 14,65, 33,17, 52,68, 3,37, 75,33, 25,74, 59,19, + 53,22, 42,58, 18,17, 61,52, 60,54, 30,36, 72,51, 1,59, + 13,60, 58, 5, 49,63, 63,57, 0,50, 65,20, 47,60, 18,74, + 1,33, 4,68, 34,56, 77,20, 2,72, 10,25, 47,59, 31,76, + 45,77, 46,38, 11,65, 45,15, 2,34, 17,18, 39,68, 60,21, + 23, 1, 52,15, 71,38, 62, 2, 7,30, 60,17, 40,37, 54,58, + 71,22, 59,43, 58,23, 78,68, 37, 5, 51,71, 22,67, 31,16, + 76,10, 4,58, 75,69, 29,27, 70, 5, 68,65, 40,45, 21,37, + 67,62, 73,43, 22,79, 38,41, 52,41, 74,44, 52,71, 9, 1, + 39,14, 68,76, 21,50, 51,34, 59,34, 35,78, 28,72, 32,26, + 39, 5, 13,15, 49,52, 13,25, 18,31, 3,68, 34,71, 1,71, + 21, 0, 31,44, 64,78, 60,55, 57,36, 56,69, 76,46, 32,43, + 58,73, 3,50, 15,26, 77,70, 39,35, 79,43, 0,28, 59,76, + 34,48, 45,48, 4,56, 38,15, 37,26, 17,17, 53,65, 34, 8, + 10,52, 28,41, 66,32, 48,58, 37,33, 63,36, 78, 3, 10,11, + 66,64, 73,52, 30,35, 21,49, 59,51, 49,78, 22,57, 31,21, + 9,50, 40,24, 2,71, 5,74, 19,22, 58,58, 40,48, 50,58, + 29,21, 26,39, 37,31, 58,15, 13,51, 60,73, 10,24, 48,71, + 58, 3, 57,41, 64, 6, 25, 5, 59, 0, 35,21, 71,26, 55,39, + 4,19, 20,24, 19,38, 66,76, 55, 4, 57, 6, 22,41, 53,37, + 17,43, 65,38, 52, 9, 58,49, 70,53, 60,39, 2,67, 58,40, + 60,22, 9,46, 17, 4, 29,50, 0,44, 20,64, 29,19, 27,13, + 16,52, 53, 0, 0,69, 34,41, 36,23, 10,76, 14,44, 9,66, + 79,62, 20,21, 41,46, 52,47, 4,55, 66, 5, 74,75, 26,19, + 59,77, 46,35, 56,27, 3,32, 72,40, 75, 0, 75,59, 27,48, + 41,51, 76, 7, 47,51, 4, 0, 72,63, 35, 5, 45,26, 57,77, + 21,61, 69,57, 49,37, 16,72, 54,32, 20,23, 51, 3, 45,17, + 25,77, 76,23, 15,17, 28, 2, 16,31, 75,40, 58,38, 36, 6, + 1,69, 29,34, 46,19, 55,26, 45, 3, 0,39, 44,36, 4,51, + 37,13, 0,76, 11,46, 11,72, 13,13, 0,64, 39,70, 41,40, + 37,49, 43,71, 15,51, 41,13, 55, 0, 62,16, 26, 2, 15,53, + 34,37, 20,12, 1, 8, 71,11, 23,16, 6,79, 19,19, 51, 0, + 48,10, 25,68, 68,26, 38,70, 13,34, 12,10, 20,68, 43, 4, + 72,13, 60,51, 8,24, 32,37, 9,30, 75,41, 26,16, 56, 0, + 31,73, 47,50, 5,66, 54,52, 69,24, 69,34, 20,74, 76,44, + 72,75, 61,24, 20,50, 35, 1, 73,10, 78,38, 71,57, 18,18, + 48,69, 45,69, 57, 9, 35,74, 2,64, 77,19, 4,54, 17,26, + 49,66, 1, 3, 29, 3, 75,27, 28,71, 77,16, 22,39, 66,46, + 32,69, 28,10, 22,52, 60,12, 23,14, 73, 3, 47, 5, 76,75, + 70,66, 59,64, 65,57, 0,30, 11,37, 43,13, 37,58, 39,76, + 26,40, 14, 3, 33,58, 3,31, 67,33, 48,51, 22,50, 63,32, + 5,15, 18,76, 62,50, 50,46, 58,44, 62,60, 51,22, 10,35, + 8,31, 36, 4, 21,36, 42, 7, 43,47, 30,50, 46,68, 23,64, + 2,54, 24,27, 9,40, 0,38, 50,54, 3,70, 33,22, 45, 2, + 51,32, 44,25, 63,77, 46,61, 3,59, 78,21, 77,41, 57,69, + 68,51, 22,54, 37,14, 64,27, 13,20, 67,42, 71,43, 66,26, + 38,66, 15,48, 19,10, 2,37, 71,18, 54,53, 32,44, 42,53, + 22,68, 20,51, 9,32, 59,14, 43,77, 55, 9, 40,57, 47,27, + 3, 6, 58,54, 17,47, 31,75, 23, 7, 7,48, 43,68, 18,27, + 33,63, 19,46, 26,17, 45,28, 65,52, 64,25, 46, 9, 50,33, + 64,20, 67,28, 31,72, 19,17, 79,42, 47,73, 58,60, 61,27, + 4,22, 64, 8, 57, 7, 41,53, 26,20, 59,78, 54,26, 27,12, + 65,66, 12, 2, 62,74, 65,69, 30,15, 58, 4, 6,22, 22,66, + 7,37, 59,23, 24,38, 8,37, 49, 7, 76,30, 61, 0, 23,44, + 53,79, 0,29, 66,41, 25,13, 68, 2, 60,65, 22,30, 68,41, + 31, 7, 1,65, 9,10, 29,74, 36, 7, 72,24, 78,43, 45,62, + 65,53, 26, 3, 46,17, 56,38, 42,47, 37,19, 59,42, 55,21, + 17,70, 7, 1, 70,25, 31,77, 40,26, 8,73, 62,78, 5,25, + 62, 7, 7,60, 18,15, 35,42, 36,29, 75,56, 37, 9, 49,21, + 75,57, 11,69, 18, 8, 55,69, 32,78, 45,70, 40,20, 19,79, + 4,71, 11,35, 54,43, 30,58, 33,65, 35,56, 77, 1, 27,72, + 8,21, 73,33, 10,13, 44,11, 74, 9, 31,27, 11,52, 76,76, + 7,29, 3,79, 29,13, 7,67, 27,21, 36,39, 54,34, 18,37, + 16,41, 45, 8, 48,72, 41,28, 73,54, 77,46, 61,33, 71,49, + 70,17, 59,66, 49,77, 52,72, 19,42, 55,61, 26,34, 4,64, + 39,52, 61,73, 46, 2, 72,62, 73,48, 35,18, 3,67, 77,17, + 39,46, 67,71, 75,30, 56,18, 18, 5, 28,53, 32,56, 0,34, + 36,56, 57,53, 27, 4, 46,27, 56,59, 28,46, 71,64, 34,24, + 31,53, 13, 3, 61,19, 56,16, 10,28, 50,71, 17,16, 55,11, + 31,58, 63, 1, 1,74, 51,63, 66,61, 42,37, 73,49, 27,78, + 44, 6, 78,58, 13,50, 67,58, 62, 6, 24,13, 58, 8, 21,71, + 44,70, 8,71, 31,42, 1,22, 46,28, 1,25, 25,40, 11,41, + 5,76, 28,25, 20,37, 30,44, 65,33, 70,68, 6,71, 61,62, + 13,39, 7,36, 67, 1, 47,34, 66,21, 64,69, 23,34, 60,56, + 4,79, 59,31, 51,79, 63,45, 30,74, 51,69, 58,69, 77,18, + 42,16, 36,15, 70, 2, 16,71, 63,79, 35,28, 64,57, 22,40, + 37,41, 75,79, 22, 3, 10,61, 21,18, 27,33, 77,57, 67,17, + 69,27, 0,78, 38,28, 53,28, 28, 0, 13,11, 78,55, 33,55, + 11,17, 78,34, 54,19, 26,18, 15,56, 78,37, 23,56, 47, 1, + 15,11, 47, 9, 43,17, 78,46, 28,75, 25,15, 72,39, 61,10, + 66,40, 18,16, 23,30, 71,30, 76,51, 58,57, 36, 5, 61,16, + 19,34, 41,21, 65,40 +}; +const int p_80_16[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1228, + /// Array of preferences + 58,35, 29,47, 68,69, 0,75, 42,67, 21,18, 51,52, 8,56, + 41,71, 72,23, 70,75, 48,11, 22,31, 74,70, 29,35, 55,12, + 53,34, 65,49, 71,66, 39,41, 40,72, 44,73, 5, 8, 45,55, + 78, 2, 60,54, 63,34, 49,13, 29,16, 25,36, 9, 8, 32,27, + 68,48, 27,71, 38,13, 66,67, 10,30, 78,21, 17,53, 12,13, + 63,73, 29,42, 2,58, 33, 9, 3,45, 74,60, 4,32, 15, 4, + 70, 8, 27,46, 23,71, 8,74, 44,53, 73,59, 58,61, 78, 3, + 18, 4, 25,69, 23,62, 13,67, 70,14, 24,49, 79,21, 73,13, + 66,77, 11,13, 63,64, 1,35, 77,43, 17,54, 5,76, 3,70, + 61,73, 79,58, 29,26, 72,72, 66,16, 52,19, 36,10, 14,31, + 7,37, 7,15, 19,74, 3,33, 64,60, 75,74, 37,70, 51,42, + 78,68, 70, 5, 40,23, 17,72, 8,48, 49,52, 40,50, 3,68, + 4,17, 31,41, 23,16, 45,14, 2,39, 47,68, 64,66, 42,23, + 66,53, 11,27, 64,43, 33,64, 42, 3, 48,12, 59,65, 43, 5, + 53,32, 0,50, 47,54, 23,68, 4,28, 30,67, 32,23, 55,53, + 58,54, 34,73, 3,43, 8,60, 72,52, 36,66, 25,75, 19,63, + 45,19, 62,34, 15,33, 64, 7, 24,37, 25, 9, 15,59, 1,15, + 19, 6, 18,34, 51,23, 5,70, 33,13, 11, 6, 27,14, 74,25, + 64, 9, 72,28, 79, 1, 31,14, 4, 3, 41,16, 78,23, 68,55, + 55, 1, 7, 9, 13,46, 42,32, 41,21, 75, 4, 8,47, 24, 2, + 34,32, 60,37, 22,45, 13,36, 73, 6, 37,25, 52, 9, 29, 7, + 23,46, 45,65, 60,16, 75, 8, 75,14, 39,16, 8, 2, 47,62, + 54,45, 48,56, 54,31, 32,72, 76,54, 23,19, 39,31, 3, 1, + 52,22, 49,71, 33,47, 30, 6, 63, 8, 77,55, 49,56, 36, 7, + 36,65, 51,47, 44,72, 54,28, 48,18, 16,21, 23,13, 50,50, + 45,51, 21,12, 9,38, 5,57, 24, 4, 38,50, 10, 8, 59, 5, + 3,37, 75,53, 37,44, 23,23, 9,56, 21,21, 18,78, 53,13, + 1,64, 69,40, 41,54, 76,62, 76,26, 57,63, 33,20, 71,61, + 51,36, 72, 8, 23, 7, 39,44, 78, 1, 76,22, 6,67, 50,75, + 69, 0, 48,43, 75,10, 74, 3, 38,25, 59, 9, 68, 0, 54,47, + 31,76, 26, 6, 2,14, 15,39, 17,14, 28,53, 38,47, 6,28, + 74,40, 31,51, 6,42, 1,38, 74,37, 56,60, 54,64, 77,27, + 68,26, 22,68, 44,54, 47, 8, 67,68, 31,36, 62,29, 40,43, + 19,25, 45, 7, 53, 6, 69, 8, 49,34, 76,38, 35,25, 13, 1, + 35,52, 30,21, 8,75, 13,28, 16,35, 67, 7, 17,61, 75, 0, + 42,35, 45,72, 9,63, 77,10, 39,13, 16,68, 75,54, 40,75, + 58,13, 6,18, 65,57, 47,15, 45,30, 55,70, 15,31, 33,28, + 69,12, 27,62, 22,54, 22,66, 41,39, 74,19, 20, 3, 57,27, + 27, 6, 70,64, 64,35, 3,76, 11,30, 1,30, 48,41, 66,58, + 14,54, 12,79, 13,63, 26,19, 76,63, 59,29, 39,57, 64,34, + 11,65, 78,79, 49,40, 51,64, 26,57, 46,44, 65,30, 58, 2, + 56,22, 14, 1, 33,24, 50,39, 31, 8, 10,38, 49,78, 10,62, + 13,73, 70,31, 70, 3, 20,48, 51,33, 65, 4, 48, 1, 2,13, + 22,24, 16, 1, 11,21, 35, 8, 32,76, 45,47, 12, 3, 44,50, + 22,20, 20,56, 60, 3, 8,33, 34,38, 65,19, 38, 1, 20,43, + 6,62, 48,26, 52,34, 35,24, 26,71, 77,23, 49,10, 35,76, + 11, 2, 6, 1, 71,14, 69, 4, 34, 3, 33, 1, 62,56, 12,23, + 54,14, 17,37, 3,22, 37,78, 15,50, 48,57, 47, 1, 69,53, + 57,19, 46,43, 71,49, 36,48, 31,75, 55,40, 52,72, 64,23, + 43,11, 2,62, 79, 7, 61,19, 0,47, 61,14, 56,61, 47,57, + 75,22, 67,43, 47,63, 42,17, 76, 0, 20,72, 68,28, 12,61, + 57,73, 44,22, 47,31, 77,21, 5,45, 35,48, 34,72, 55, 2, + 25,20, 55,24, 28,22, 40, 4, 34, 6, 34,64, 48,15, 18,30, + 54,58, 17,15, 24,46, 32,11, 31,53, 65,65, 61,59, 13, 2, + 67, 1, 30, 7, 41,50, 7,76, 22,44, 54,32, 66,68, 42,18, + 27,49, 21,24, 65,61, 20, 8, 10,33, 62,64, 13,32, 18,17, + 26, 8, 41,62, 25, 6, 51,63, 12,58, 77,30, 44,20, 69,63, + 73,23, 43,46, 76,49, 35,21, 1,40, 21,33, 17,71, 40,16, + 53,27, 11,76, 3,73, 28,49, 57,41, 45,40, 4,61, 74,38, + 52,60, 41,20, 42,55, 43,50, 53,56, 33,46, 41,25, 14,30, + 4,31, 62, 9, 40,41, 65,75, 2,36, 7,26, 57,68, 27,78, + 14, 9, 9,61, 60,73, 10,69, 54,20, 70,78, 50,42, 17,68, + 63,17, 55,74, 46, 6, 67,60, 68,22, 43,30, 50,13, 58,60, + 64,74, 48,21, 22,55, 6,34, 38,45, 21,23, 10, 6, 54,76, + 35,17, 27, 5, 42,47, 59,31, 11,16, 79,75, 40,54, 53,58, + 36,21, 43,71, 32,64, 8,54, 15, 0, 59, 8, 23,65, 14,19, + 39,22, 27,30, 31,58, 56,11, 39,61, 61,64, 55,31, 13,77, + 53,29, 30,37, 61,74, 51,27, 44,36, 73, 9, 49,57, 48,16, + 59,11, 40,26, 10,27, 74,18, 34, 9, 69,41, 7,57, 30,61, + 45,42, 71, 4, 14,29, 0, 3, 43,76, 75,73, 32,36, 79,16, + 74,23, 28,20, 33,78, 31,44, 2,66, 65, 5, 53, 5, 17,65, + 47,46, 71,75, 67,14, 61,75, 20,78, 9,24, 56,21, 13,43, + 33,50, 40,61, 67,44, 16,31, 3,77, 60,57, 59,39, 75, 9, + 19,52, 17,57, 33,23, 16,62, 20,64, 13,29, 30, 5, 6,40, + 37,75, 35,36, 77,37, 63,54, 23,32, 6,50, 35,40, 23,36, + 57,13, 73,62, 71,19, 27,28, 69,35, 33,10, 67,21, 44,79, + 78,40, 40,25, 21,15, 21,70, 78,36, 45,68, 74,32, 75,43, + 39,26, 16,37, 43,36, 55,68, 75,31, 67,17, 6,57, 44,28, + 73,22, 45,61, 3,49, 0,64, 12,70, 46,45, 62, 7, 69,32, + 28,17, 66,56, 78,28, 3,15, 43,67, 55,25, 41,63, 16,51, + 41,23, 49,79, 32, 7, 29,31, 44,15, 11,60, 6,73, 27,38, + 32,13, 18,38, 23,18, 70,22, 67,13, 19, 9, 59,57, 73,46, + 77,71, 25,16, 5,78, 16, 7, 79,49, 18,76, 58,52, 33,62, + 27,17, 11,14, 4,60, 30,65, 12,33, 24,34, 68,20, 42,27, + 21,54, 27,52, 64,44, 12, 0, 35,38, 70,72, 17,44, 57,17, + 0,63, 68,75, 9,42, 32,37, 24,44, 56,14, 5,74, 8,30, + 12,22, 0,32, 9,55, 18,29, 60,74, 2,38, 15,53, 12,20, + 44, 3, 50,69, 61,31, 58,34, 68,79, 1,24, 40,67, 64,75, + 23,72, 34,33, 3,53, 46,65, 8,26, 25,59, 7,56, 44,57, + 34,58, 72,69, 1,29, 53,57, 75,77, 51,12, 26,72, 6,55, + 56,54, 63,46, 18,64, 5,25, 18,13, 36,78, 25, 5, 58,28, + 56,49, 65,74, 27, 1, 79,72, 54,44, 7,78, 7,39, 37,45, + 59,17, 38,48, 56,44, 44,27, 27,21, 56,27, 50, 8, 68,33, + 55,17, 7,19, 42,46, 71,25, 10,67, 36,60, 1,19, 14, 6, + 51, 0, 29, 9, 63,18, 57,40, 49,60, 44,78, 33,66, 36,46, + 7, 3, 51,41, 35,34, 66,71, 48,64, 42,34, 79,22, 10,48, + 27,25, 38, 8, 39,20, 41,76, 42,21, 28,44, 79,65, 12,31, + 6,17, 75, 7, 65,38, 53,64, 7,35, 36,62, 44, 1, 78,15, + 55,58, 25,52, 71,59, 46,17, 59,34, 55, 5, 32,68, 36,45, + 34,66, 52,13, 70, 2, 17,31, 21, 1, 65,20, 75,12, 16,42, + 7,43, 68,25, 72,68, 73,10, 54,19, 15,68, 64,50, 53,53, + 7,45, 19,38, 62,60, 59,73, 79, 9, 26,53, 9,10, 70,55, + 43,35, 60,43, 35,26, 2,23, 45,13, 27, 3, 38,71, 47,74, + 61, 8, 77,69, 38,41, 27,36, 39, 9, 53,74, 43,78, 25, 4, + 42,71, 29, 0, 64,65, 62,18, 66, 0, 11,46, 0,48, 71,76, + 31,72, 9,62, 55,27, 24,17, 52,74, 49,46, 5,68, 42,73, + 35,57, 36,37, 57, 3, 13,10, 75,75, 33,51, 11,23, 34,57, + 75,27, 59,28, 69,10, 54,63, 22,56, 78,30, 22,74, 14,52, + 28,51, 13,19, 70,28, 65, 7, 40,51, 24,11, 72,55, 47,78, + 45,46, 24,52, 34,69, 54,36, 46,16, 12,46, 51,25, 63, 0, + 67,15, 41,26, 61,54, 54,29, 42,79, 36,35, 7,25, 66,47, + 19, 7, 26,45, 5,27, 48, 2, 22,73, 18,28, 73,45, 17, 6, + 9,31, 17,47, 77,11, 57, 4, 32,45, 49,23, 67,18, 1,48, + 54,68, 53,38, 31,29, 13,64, 67,54, 69,17, 6,22, 0,23, + 22, 5, 12,68, 10,68, 71,67, 53,52, 23,67, 51,18, 77,63, + 41,11, 79,28, 31,55, 10,19, 1,42, 29, 2, 58,30, 49, 9, + 73,16, 79,62, 79,19, 41,47, 44,67, 11,31, 71,48, 58,37, + 41,57, 27,15, 18,52, 63,45, 75, 3, 62, 3, 21, 2, 4,25, + 53,61, 60,61, 52,21, 50,52, 43, 6, 37,54, 36,25, 70,50, + 38,67, 15,17, 69,76, 70,66, 70, 9, 8,16, 27,23, 51,70, + 29, 8, 55,79, 53,31, 40,68, 11,75, 33,75, 65,41, 19,75, + 46, 5, 17,24, 12,51, 41,29, 20,28, 22,35, 32, 9, 71,43, + 58, 9, 3,57, 72,24, 62,36, 68,56, 6,29, 36,70, 28,35, + 15,14, 69,66, 9,36, 47,45, 63,69, 64, 6, 66,41, 64, 5, + 19,31, 2, 2, 45,74, 77,18, 20,26, 11,64, 19,66, 29,58, + 15,57, 16,32, 17,36, 78,29, 62,11, 73,49, 67,16, 14,51, + 54,46, 48,42, 71, 5, 8,79, 50, 5, 71, 2, 68,68, 13,57, + 67, 4, 4,11, 19,27, 28,70, 2, 4, 66,32, 2,16, 5,17, + 30,46, 75,15, 57,79, 76, 5, 63,55, 65,10, 71,50, 20,51, + 47,14, 79,38, 11,18, 21,58, 52,12, 5,38, 2,51, 5,43, + 76,44, 0,68, 41,17, 16,59, 21,59, 19,47, 44,31, 38,35, + 46,61, 16,17, 64,48, 75,38, 57,76, 75,41, 9,33, 16, 9, + 34,75, 37, 0, 58,51, 6,32, 32, 8, 66,39, 58,63, 39,59, + 10,76, 57,54, 58,69, 36, 5, 48,19, 13,11, 68,11, 20,59, + 42,54, 19,34, 70,77, 2,43, 26,10, 14,39, 78,37, 3,72, + 34,45, 34, 5, 4,52, 32,50, 74,39, 37,66, 14,46, 54,74, + 25, 2, 14,45, 60, 0, 42,65, 18,31, 61,41, 27,58, 42,37, + 8,63, 38,56, 68,14, 69,16, 13,12, 14,11, 35,66, 9,59, + 38,52, 64,12, 16, 3, 38,44, 47,18, 28,19, 36,31, 22,46, + 70,35, 38,73, 12,71, 29,66, 56,47, 1,10, 63,22, 38,57, + 6,64, 11,48, 49,21, 20,23, 22,43, 27,31, 73, 8, 28,68, + 54, 4, 14,14, 20,62, 72,27, 75,21, 8,57, 3,41, 39, 3, + 65,50, 8,70, 62, 6, 58,15, 40, 6, 55, 7, 5,26, 5, 1, + 70,38, 71,78, 76,58, 1,79, 62, 8, 47,75, 54,62, 22,26, + 39,69, 42, 6, 28, 6, 49,22, 33,70, 23,63, 6,56, 69,56, + 62,77, 57,10, 29,61, 70,74, 24,24, 5,59, 48,17, 36,34, + 9,21, 2,63, 73, 5, 60,30, 79,55, 15,66, 65,53, 46,59, + 62,23, 20,61, 13,22, 30,78, 77,70, 47, 9, 20,60, 1,22, + 28,26, 57,22, 28,46, 14,13, 30,41, 79, 0, 14,72, 38,20, + 16,18, 8,77, 77, 7, 45,12, 18,39, 58,45, 65,18, 41,55, + 10,16, 78,67, 17,64, 45,17, 79,34, 38,51, 6,75, 71,15, + 22,22, 62,54, 63,57, 53,54, 55,28, 76,79, 25,12, 24,18, + 37,28, 68,73, 48,51, 19, 2, 2,42, 45, 0, 57,66, 20, 9, + 72,38, 41, 1, 33,43, 52,68 +}; +const int p_80_17[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1064, + /// Array of preferences + 41,15, 65,48, 24,34, 39,54, 31,16, 12,20, 3,50, 58,75, + 44,53, 32,57, 67,79, 0,18, 26,20, 70,17, 48,25, 26,11, + 18,28, 66, 8, 73,61, 51,11, 31,32, 6,41, 53,56, 21, 7, + 66,48, 31,59, 26,21, 9,75, 52,69, 77,33, 54,27, 47,11, + 69,78, 53, 3, 7, 7, 51,63, 72,50, 69, 8, 53,18, 34,60, + 15,65, 60,52, 44,70, 7,40, 47,25, 35,36, 74,10, 43,19, + 32,14, 47,31, 7,11, 18,42, 66,29, 21,26, 9,30, 15,54, + 28,38, 70,32, 49,23, 19,12, 3,73, 55, 0, 68,32, 37,36, + 59,15, 41,49, 78,63, 74,13, 67, 1, 63,26, 78,25, 71,63, + 1, 9, 63,12, 26,60, 71,74, 46,13, 76,32, 56,56, 74,56, + 60,44, 72,76, 36, 5, 15,51, 25,34, 64,47, 64,31, 40,12, + 4,20, 46,22, 12,10, 42,33, 2,42, 16, 0, 43,18, 27,64, + 38,79, 23,56, 12,43, 11,18, 62,47, 49,30, 60,66, 75,32, + 9,65, 76,18, 71,53, 78,73, 22, 4, 36, 3, 37,64, 60, 2, + 66,21, 12, 1, 65,26, 8,42, 77,43, 32,50, 19, 6, 25,61, + 78,29, 7,33, 70,15, 32,60, 0,43, 4,76, 70,69, 50,51, + 15, 3, 46,31, 9, 6, 36,76, 56,52, 64,20, 28,35, 19,51, + 47,75, 78, 3, 75,60, 77,68, 42,46, 21,49, 74, 2, 61,39, + 8,19, 8,49, 39,29, 40, 5, 42,73, 69,12, 57,23, 12,34, + 58,76, 18,14, 73,69, 40,16, 32,46, 15,15, 3,64, 12,15, + 29,59, 41,25, 74,43, 21,73, 47,74, 49,49, 66,69, 39,39, + 32,70, 39,61, 42, 3, 77,65, 38,71, 0,31, 51,31, 71,76, + 64,77, 17,29, 25,25, 7, 9, 67,17, 28,67, 16, 2, 3,66, + 28,22, 42, 8, 70,40, 25,62, 63, 6, 14,43, 52, 0, 13,24, + 67,43, 19, 4, 41,40, 5, 5, 3,69, 41,34, 54,40, 28,48, + 62,13, 56,67, 51, 7, 61,47, 55,57, 56,29, 23, 1, 67,45, + 63,49, 35, 2, 38,73, 12,55, 53,59, 71,43, 72,78, 52,28, + 47,76, 17, 0, 16,18, 53,42, 39,55, 61,63, 7,34, 33,29, + 44, 8, 45,25, 5,21, 68,41, 6,70, 20,19, 56,39, 42,72, + 35,76, 0,74, 37,72, 8, 7, 11,27, 7,13, 74,69, 66,77, + 8, 8, 56,22, 75, 8, 40,25, 13,75, 77,17, 27,55, 22,43, + 35,15, 16, 1, 6,10, 73,31, 78,45, 76,42, 70,43, 24,35, + 2,59, 76,51, 36,49, 37,17, 55,15, 62,48, 10,56, 69,35, + 49,11, 1,49, 65, 0, 4, 7, 61,79, 19,72, 18,22, 68,17, + 69,29, 48,51, 67,53, 69,40, 20, 8, 44,11, 0,25, 57,29, + 39,31, 35,73, 23,38, 54, 1, 49,35, 17,25, 59,35, 71, 9, + 49,22, 14, 9, 29,32, 57,47, 66, 5, 11,51, 39,11, 69,26, + 14,16, 26,23, 78,47, 42, 0, 47,73, 51,37, 72,58, 34,43, + 48,43, 47,65, 4,10, 66,11, 21,28, 77,75, 24,17, 49,66, + 41,74, 58,21, 20,69, 10,31, 37,74, 57,64, 17, 3, 39,21, + 54,78, 55,44, 16,68, 30, 1, 8,68, 22,76, 21,62, 47,56, + 75,10, 35,45, 63, 3, 7,19, 6,32, 63,45, 46,15, 25,51, + 36,34, 52,60, 69,34, 47,72, 10,33, 6,45, 72,63, 59,46, + 36,52, 73, 7, 5,48, 47,42, 0,28, 36,26, 45,14, 49,12, + 1,55, 62,58, 8,39, 25, 1, 23,64, 50,58, 54,24, 40,60, + 64,46, 34, 8, 37,56, 40,63, 21,17, 29,66, 47,50, 15,44, + 45,64, 33,26, 44,76, 1,13, 9, 1, 4,49, 9,63, 45,24, + 3,28, 37,67, 47, 5, 70,22, 25,16, 13,54, 43,47, 51,34, + 23, 5, 36,11, 36,58, 23,67, 37,23, 18,41, 72,49, 53,62, + 51,25, 57,14, 27,59, 13,52, 22,18, 47,64, 13,45, 65,15, + 73,58, 77,18, 52,67, 75,63, 31,23, 59, 4, 36,51, 38,78, + 46,46, 48,55, 4,35, 47, 9, 7,57, 56, 7, 73,47, 68,77, + 57,71, 6,51, 57,40, 67,41, 42,61, 75,61, 47,13, 22,15, + 42,38, 40,76, 58,42, 32,15, 18,27, 57,43, 65,16, 62,74, + 79,55, 36,22, 65,57, 68,67, 17,24, 41, 4, 37, 2, 68,48, + 55,20, 13,64, 26,25, 17,12, 78,21, 18, 4, 78,20, 71,42, + 16,44, 55,10, 19,65, 40, 8, 30, 3, 62,20, 47,49, 2,66, + 21, 4, 51,45, 78,65, 28,73, 62,72, 42, 1, 44,22, 20,49, + 51, 6, 18,55, 35,49, 67,48, 16,34, 18, 1, 29,11, 27, 8, + 51,65, 62,43, 36,27, 11,37, 19,24, 29,52, 76,70, 25,73, + 34,59, 0,24, 53,43, 52,74, 79, 0, 43,68, 72,28, 2,27, + 44,65, 66,76, 56,50, 28,15, 43,21, 0, 8, 12,32, 62,16, + 8,56, 63,69, 17,52, 29,70, 1,50, 48,61, 76, 3, 28,44, + 21,69, 24,56, 54,31, 17,76, 76,73, 43,17, 66,68, 39,46, + 12, 2, 2,12, 22,35, 23,11, 23,21, 56,41, 49,70, 77,53, + 59,63, 46,12, 58,49, 72, 8, 76, 0, 5,76, 23,48, 49,63, + 31,18, 47,79, 77, 9, 45,52, 13, 6, 1,78, 41,48, 37,12, + 0,71, 76,63, 56,36, 60,37, 62,49, 66,18, 64, 6, 33,59, + 4, 2, 6,59, 34,40, 75,27, 63,21, 15,47, 6,68, 34,63, + 29,57, 7,64, 19,27, 46,50, 8,13, 43,58, 64,69, 64,75, + 12,62, 65,13, 33,35, 78,60, 36,56, 76,53, 68,10, 20,36, + 48,65, 72,53, 51,57, 68,71, 54,16, 45,21, 73,30, 77,56, + 18,26, 61,72, 13,17, 43,38, 25,15, 78,34, 75, 1, 5,67, + 0,51, 36,59, 66,22, 23, 2, 43,25, 7,65, 21,15, 66,62, + 28, 2, 38, 7, 35,20, 6,31, 23,20, 7,50, 67,63, 1,25, + 58,70, 55,64, 37,50, 50,10, 71,52, 13,41, 72,43, 10,66, + 48,63, 72,36, 51,13, 18,76, 58,38, 16,55, 61,11, 78,48, + 9,43, 26,27, 49, 9, 22,61, 27,21, 2,44, 29,76, 32,13, + 17,74, 20,68, 52,27, 75,19, 34,70, 18,10, 19,64, 10,78, + 19, 7, 6,13, 35,57, 74,55, 46,56, 28, 8, 26, 3, 30,40, + 1,37, 50,74, 66,34, 46,54, 29,68, 70,37, 60,23, 16, 3, + 19,59, 14,73, 55,73, 17,45, 71,12, 43,66, 17,56, 24,42, + 17,19, 60,26, 72,55, 32,61, 75,49, 9,18, 69,75, 31,40, + 6,61, 41,57, 66,24, 22,78, 15,77, 29,13, 71,56, 71,41, + 35,12, 23,31, 33,39, 3,29, 58,78, 5,31, 0, 2, 49,42, + 71,45, 38,38, 18,67, 11,35, 31,14, 33,31, 35,50, 19,39, + 77,10, 34,79, 21,33, 56,68, 33,11, 48,40, 64,60, 58,44, + 39,13, 44,54, 67,46, 57,58, 17,11, 12,70, 74,73, 57,70, + 50,47, 43,31, 60,55, 9,21, 31,75, 54,70, 22,72, 12,76, + 42,32, 40,37, 78,36, 16,11, 2, 8, 70,29, 26,31, 21,16, + 55,63, 43, 4, 22,63, 53,19, 39,71, 34,26, 52,55, 71,22, + 44,42, 39, 1, 63,72, 3,61, 79,56, 46,48, 41,73, 28,50, + 41,41, 41,51, 63,54, 4, 0, 10,45, 9,50, 48,32, 53,41, + 62,27, 26,22, 72, 2, 18, 3, 60,36, 16,10, 34, 6, 31, 8, + 62,15, 15,72, 64,64, 57,38, 0,58, 51,48, 58,40, 10,60, + 57,79, 69,21, 55,54, 53,78, 13,46, 46, 0, 28,10, 22,70, + 5,62, 69, 4, 5,37, 57,66, 14,55, 9, 5, 6,78, 64,25, + 54,75, 32,79, 65,10, 64,71, 14,19, 45, 0, 59,61, 29,29, + 33,33, 76, 5, 76,29, 3,10, 54,67, 11,69, 65,73, 18,54, + 35, 3, 58,30, 71, 3, 44,26, 32,56, 65, 1, 74,34, 11,22, + 51,10, 76,19, 49,54, 41,22, 42,27, 77,69, 22,77, 3, 1, + 31,53, 38,14, 56,61, 37,34, 66, 6, 18,69, 46,24, 9,16, + 58,32, 34, 5, 24,67, 60,69, 13,60, 18,78, 37,79, 71, 6, + 8,50, 59,66, 59,54, 15, 1, 52,16, 64,37, 64, 4, 1,61, + 40,53, 45,50, 79,53, 24,26, 37,69, 78,55, 0,42, 13,11, + 24,28, 50,57, 26,61, 7,12, 34,10, 37,10, 63,37, 6,16, + 56,74, 74,41, 28,31, 34,34, 71,36, 21,45, 18,68, 6,57, + 47,22, 28,17, 71, 8, 30, 7, 14,34, 36,61, 16,74, 31, 3, + 67,30, 34,72, 73,68, 41,71, 25,77, 19,15, 44,28, 4,13, + 10, 6, 47,17, 14,31, 30,69, 67,61, 54,34, 60,42, 37,22, + 29,23, 47,61, 67,23, 21,37, 4,52, 62,67, 59,64, 26,12, + 27,23, 67,56, 68,44, 23,50, 79,34, 10,50, 77,34, 28,23, + 4,62, 65,30, 39,33, 0, 7, 29,19, 50,53, 58,26, 32,53, + 1, 0, 53, 8, 79,33, 45,57, 67,14, 66,64, 8, 6, 78,41, + 51,59, 10,59, 61,67, 64,32, 15, 7, 55,22, 26,15, 18,31, + 30,31, 73,17, 45,43, 76,50, 61, 6, 2,30, 35,19, 13,67, + 40,68, 22,22, 29,79, 46,36, 22,44, 12,25, 27,77, 78,77, + 40,56, 77,61, 25, 9, 40,13, 6,27, 76,56, 7, 5, 2,10, + 34,23, 57, 3, 30,39, 34,21, 16,30, 54,66, 31,20, 37,59, + 33,64, 62,60, 64,50, 54,46, 4,45, 36,32, 75,50, 63,31, + 12,47, 3, 6, 74,22, 40, 7, 18,46, 27,72, 7,76, 20, 3, + 74,35, 55,31, 28,58, 38,51, 52,78, 55, 4, 11,19, 75,59, + 66,67, 33, 8, 29,35, 3,45, 50,52, 48, 0, 64,26, 17,34, + 32,59, 67,21, 13, 1, 20,45, 73,18, 44,48, 66,45, 43,27, + 75,39, 16,78, 13,59, 42,62, 2,22, 38,32, 56,12, 51,71, + 35,71, 22,32, 63,66, 25,48, 79,72, 60,17, 61,76, 36,16, + 8,73, 77,66, 16,16, 15,78, 61, 7, 15,36, 52,24, 63,59, + 76,36, 7,74, 57,48, 35,77, 35,30, 28,72, 4,17, 33,57, + 38,53, 75,78, 50,71, 67,37, 27,46, 0,46, 26,18, 65,37, + 46,35, 57,31, 9,22, 76,78, 68,38, 26, 4, 25,26, 73, 6, + 46,38, 53,51, 54,41, 36,28, 57,56, 74,32, 7,67, 60,48, + 32,72, 48, 6, 52,79, 11,54, 3,13, 42,42, 12,69, 54,76, + 44,60, 26,69, 27,58, 17,38, 47,78, 68,61, 14,44, 67,65 +}; +const int p_80_18[] = { + /// Number of people on picture + 80, + /// Number of preferences + 421, + /// Array of preferences + 71, 3, 69, 6, 22,22, 56,26, 45,73, 53,38, 22,50, 1,30, + 69,24, 31,60, 77,59, 70,42, 12,14, 7,77, 14,10, 78, 4, + 79,66, 29,16, 41,14, 13,62, 42,34, 48,43, 77,69, 63,50, + 57,57, 50,10, 16,20, 25, 5, 71,64, 71,40, 40,33, 7,65, + 64,34, 22, 3, 33,50, 53,56, 32,77, 26,79, 10,53, 6,27, + 15, 4, 38,74, 38,52, 34,10, 8, 0, 2,19, 44,51, 68,67, + 7,12, 52,36, 10, 1, 73,26, 17,71, 73,16, 37,68, 10,61, + 47,50, 23,70, 58,30, 71,58, 52,45, 34, 8, 52,63, 59,31, + 18,25, 57,55, 69,61, 1,62, 31,45, 44, 9, 60, 5, 6,61, + 38,13, 24,22, 32,20, 39,38, 3,46, 4,11, 23,72, 1,74, + 6,77, 41,15, 28,55, 19, 6, 17,38, 3,21, 56,49, 3,42, + 70,66, 72,78, 1,71, 27,25, 48,75, 31,76, 68,20, 10,28, + 74,27, 72,66, 6,65, 11,62, 40,28, 79, 4, 2,31, 68,18, + 57,16, 19,19, 64,14, 56,35, 73,54, 53,52, 15,40, 31,35, + 57,78, 8, 8, 3,40, 50,28, 5, 4, 45,15, 38,27, 74,78, + 12,42, 15,34, 50,72, 70,64, 2,14, 70,41, 63, 7, 28,16, + 35,12, 1,16, 66,62, 10, 0, 15,70, 4,55, 33,23, 72,64, + 8,29, 34, 4, 67,35, 67,38, 74, 1, 46,36, 66,37, 42,24, + 70,75, 2, 8, 77,10, 59,59, 60,14, 8,67, 72,39, 25,49, + 68,69, 4,60, 58,73, 21,60, 27,49, 25,75, 21,15, 26, 5, + 27,17, 26,60, 26,17, 3,45, 40,17, 78, 6, 6,47, 50,16, + 40,46, 42, 0, 30,31, 45, 1, 28,48, 35,74, 63,66, 59, 6, + 76,13, 24,39, 53, 7, 29,27, 74,17, 53,79, 63, 1, 18,49, + 8,74, 3,36, 64,67, 34,57, 53,73, 43,53, 65,32, 74,57, + 27, 2, 28,73, 23,73, 21,16, 77, 0, 65,71, 65,26, 54,60, + 67,62, 19, 7, 31, 1, 51,72, 74,14, 19,47, 68,23, 61, 5, + 47,10, 76,12, 65,72, 36,18, 72,59, 66,26, 30,47, 13,44, + 38,59, 53, 9, 48,29, 34,53, 34,58, 64,35, 63,68, 68,10, + 48,18, 38,20, 57,32, 58,16, 31,37, 70,52, 71,10, 79,16, + 65,27, 79,58, 46,22, 2,13, 15, 2, 63,27, 2,61, 54,62, + 17,21, 63,52, 17,31, 70,31, 51, 7, 15,49, 11,15, 27,12, + 13, 9, 58,29, 0,36, 34,38, 51,77, 51,44, 78,73, 55,41, + 53,43, 77,22, 6,29, 71,69, 22,30, 68,38, 36,58, 68,45, + 9,27, 70, 7, 58, 5, 65,33, 2,38, 64,78, 69,27, 1,58, + 53,55, 57,64, 65,49, 35,65, 9,44, 18,61, 60,26, 68,19, + 1,59, 71,75, 2,16, 57,66, 45,77, 62,52, 55,68, 45,30, + 7,70, 0,61, 70,22, 34,60, 43,74, 35,30, 41,42, 43,75, + 59,11, 64,45, 15,55, 64,41, 5,41, 32,10, 50,25, 47,23, + 44,18, 75,28, 20,50, 45,74, 52,29, 1,25, 33,61, 7,20, + 53,67, 18,13, 78,78, 24,14, 16, 2, 29, 0, 61,49, 71,53, + 10, 5, 28,79, 20, 5, 57,21, 18,79, 76,27, 44,48, 46,16, + 15,71, 19,20, 14,32, 65,47, 30,40, 25,78, 15,33, 9,66, + 42,26, 26,34, 43,33, 27,76, 11,25, 24,77, 37,79, 27,21, + 17,76, 3, 1, 9,22, 52,79, 47, 6, 64,23, 16,72, 63,55, + 34, 5, 26,20, 33,40, 36, 9, 59,54, 17, 1, 20,78, 27,57, + 47,35, 42,14, 7,45, 26,44, 55,10, 22,69, 9,67, 78,79, + 68,35, 51, 3, 18,37, 63,34, 50,17, 3,30, 37,43, 45,14, + 18,40, 76,30, 63,33, 60,40, 16,69, 6,60, 10,55, 62,67, + 77,17, 32, 8, 4,47, 62, 4, 73,10, 61,33, 40,70, 48,55, + 75,46, 25,27, 34,73, 32,28, 13,43, 28,28, 76,37, 78,56, + 4,31, 49,26, 36,71, 29,68, 38, 1, 56,18, 16, 9, 52,33, + 9,40, 38,53, 11, 8, 54,22, 4,50, 0,51, 50,46, 68,31, + 11,33, 2,51, 49,60, 11, 9, 67,12 +}; +const int p_80_19[] = { + /// Number of people on picture + 80, + /// Number of preferences + 1298, + /// Array of preferences + 7, 8, 11,74, 23, 5, 33,72, 15,38, 68,28, 59, 4, 42,28, + 26,44, 34,26, 7, 4, 11,30, 7,34, 29,29, 60,38, 57,14, + 73,22, 37,70, 40,32, 11,53, 27,37, 29,24, 63,15, 8,59, + 69,31, 8,14, 14,25, 73,32, 17,77, 59,31, 22,73, 25,57, + 20,67, 75,60, 50,40, 27,64, 32, 8, 74,12, 26,18, 52,73, + 0,22, 38,44, 11,29, 15,47, 39,21, 74,21, 10,37, 34, 9, + 71,61, 69,43, 26,69, 77, 9, 25,37, 7,12, 68,42, 36,52, + 0,17, 79,50, 55,56, 75,29, 17,32, 67,40, 25,16, 49,17, + 62,28, 44,67, 19,16, 33,38, 38, 0, 1,75, 51, 0, 67, 8, + 74,79, 73,62, 5,57, 7,52, 61,71, 71, 6, 78,27, 18, 6, + 61,41, 56,52, 51,48, 38,32, 65,55, 56, 9, 0,23, 77, 4, + 42,76, 11,34, 6, 3, 47,76, 57, 4, 41,21, 58,42, 2,54, + 5,69, 27,75, 39,39, 24,74, 47, 3, 52,62, 11,39, 57, 9, + 25,46, 9,43, 45,30, 58,29, 9,12, 76, 3, 56,14, 34,65, + 27,12, 74,59, 11,71, 64,76, 10,26, 59,78, 42,57, 35,49, + 47, 8, 70, 3, 79,73, 44,11, 5, 8, 65,43, 67,41, 2, 0, + 20,77, 35,50, 22,42, 5,29, 14,26, 38,72, 12,63, 53,20, + 60,26, 59,47, 22,37, 47,70, 47,50, 27, 2, 73,45, 7,63, + 75,43, 32,12, 51,64, 2,72, 67, 5, 5,36, 46,43, 66,19, + 17,73, 53,35, 20,39, 21,74, 58,19, 67,14, 16,60, 50, 7, + 43,48, 39,13, 57,15, 73,12, 34,48, 45,67, 79,69, 46,70, + 45,17, 42,32, 33,27, 1,48, 41, 4, 47,10, 12,16, 40, 9, + 32,67, 6,76, 12,29, 28,33, 65, 2, 29, 7, 68,44, 47, 0, + 56, 4, 33,19, 2,34, 39,42, 18, 2, 35,37, 17,53, 76,48, + 42, 7, 75, 8, 5,54, 40,37, 57,65, 60, 0, 63,61, 1,54, + 29,20, 16,42, 36,65, 57,38, 49,20, 22,70, 39,69, 67,70, + 52, 7, 13, 4, 19,53, 8, 8, 19,68, 45,74, 51,21, 36,59, + 4,68, 53,12, 3,75, 36,36, 75,79, 72, 4, 48,20, 4, 2, + 11,17, 75,13, 50,65, 45,66, 4,71, 35,26, 18,33, 14,17, + 60,71, 20,51, 8,32, 9,27, 31,44, 32,51, 27,65, 17,60, + 18, 1, 37,47, 76,25, 48,27, 56,65, 77,51, 1,40, 19, 1, + 7,29, 17,45, 54, 4, 12,10, 71,15, 72,51, 28,46, 16,64, + 64,63, 63,47, 10,32, 59,48, 18,37, 28,54, 20,20, 22,23, + 18,48, 55,42, 34, 4, 63,41, 69, 9, 11,70, 36,40, 66,40, + 71,39, 3, 0, 45,21, 2,16, 1,47, 10,33, 19,20, 11,42, + 31,60, 13,49, 44,17, 25,64, 18,60, 7,45, 55,79, 69,26, + 28,57, 18,65, 27, 1, 3,59, 39,33, 51,30, 45,56, 42,21, + 76, 0, 20,12, 47,14, 65,60, 34, 0, 71,54, 52,42, 35, 5, + 9,44, 26,17, 24,15, 19,43, 44,76, 33,51, 31,61, 29,31, + 51,53, 32,38, 57,50, 6,62, 60,73, 79,38, 47,28, 9, 9, + 67,55, 55,65, 77,70, 63,29, 75,28, 26,22, 2,14, 72,70, + 53,53, 79,13, 76,69, 72,30, 51,47, 75,74, 74,63, 49,15, + 41,61, 47,17, 54, 7, 22,78, 47,15, 4, 4, 25,20, 39,64, + 77,60, 20,70, 2,10, 69,68, 27, 6, 13,25, 10,20, 7, 9, + 51,22, 51,23, 4,64, 72,41, 66,66, 38,77, 20,26, 61,16, + 28,45, 68,24, 35,28, 8,28, 42,53, 36, 1, 6,66, 46,76, + 14,41, 56, 1, 9,46, 16,77, 72,54, 58, 4, 14,30, 69,71, + 62,58, 8, 1, 72,36, 23,58, 64, 7, 18,42, 33,57, 70, 0, + 28,31, 27,69, 77,52, 58,53, 62,33, 34,22, 11,73, 49,42, + 38,64, 57,10, 37,13, 64,58, 71,18, 27,77, 22,54, 28, 8, + 11,40, 7,27, 71, 0, 41,31, 31,40, 60,48, 40,62, 51, 5, + 55,18, 9,41, 4,78, 62,19, 15,39, 73,13, 57, 8, 65,35, + 35,12, 22,22, 42,33, 22,60, 77,12, 63,10, 18,46, 6,58, + 49,75, 79,36, 49,38, 54,67, 54,69, 13,24, 30,26, 24,27, + 71,47, 1,65, 46, 0, 69,18, 9,37, 76, 1, 51,12, 39,52, + 39,53, 79,59, 32,70, 58,35, 34,30, 8,60, 29, 0, 11, 5, + 69,44, 43,65, 77,53, 17,43, 64,54, 23,59, 49,47, 49,66, + 0,24, 16,39, 75,75, 28,76, 10,74, 77,24, 29,62, 41, 2, + 72,72, 15,31, 18,27, 4,58, 73,70, 13,75, 45,55, 23,54, + 31,43, 3,78, 29,43, 47,64, 25,65, 8, 5, 71,11, 9,53, + 16,48, 73,21, 24, 4, 9,73, 66,37, 78,37, 71,55, 20,25, + 0,13, 11,58, 79,52, 71,72, 24,67, 61,78, 19,41, 61,20, + 30,58, 24,61, 59,49, 44, 7, 14,27, 46,60, 70,48, 0,75, + 46, 5, 37, 2, 47,74, 57,68, 12,15, 5,15, 8,42, 6,70, + 73,36, 69,51, 59,10, 14,11, 42,19, 0,35, 36,33, 32,57, + 6,39, 41,66, 0,74, 18,47, 39,72, 37,21, 74,22, 23,49, + 37,12, 34,74, 4,14, 76,58, 11,36, 72,67, 30,68, 35,15, + 53,58, 49,13, 4,11, 59,74, 37,42, 68,63, 47,42, 66,13, + 63,27, 1,24, 36,70, 26,45, 56,55, 16,55, 26,57, 35,55, + 16,12, 12, 4, 74,45, 5, 0, 60,66, 54,59, 50,16, 57,73, + 7,78, 5, 2, 13,67, 30,32, 25,15, 53,15, 42,51, 59,70, + 23,44, 66,47, 0,63, 23, 2, 31,66, 42,71, 0,39, 60,56, + 54,78, 40,44, 18,10, 5,48, 57,31, 24,29, 38,67, 6,24, + 15,14, 63,34, 18,41, 5,67, 27,72, 11,51, 55,60, 18,11, + 16,47, 0,70, 43,46, 67,49, 21,62, 57,28, 37,32, 65,31, + 49,14, 61,56, 16,36, 13,34, 21,51, 25, 6, 61,28, 28,28, + 2,30, 56,68, 49, 6, 27,38, 66,57, 8,74, 46,23, 12,49, + 18,17, 45,61, 6, 1, 4,37, 35, 7, 41,39, 7,25, 75,36, + 31,14, 40,74, 65,68, 41,41, 69,45, 64,75, 50,13, 74,65, + 26,73, 50,25, 40,75, 44,21, 14,65, 55,24, 78,77, 9,18, + 2,53, 69,24, 59,79, 42,36, 22,33, 63,67, 14,45, 48,32, + 27,24, 45,25, 39,27, 12,57, 52,69, 4,59, 30,11, 41,23, + 68,33, 19,61, 39,65, 78,45, 34, 6, 57,63, 21,34, 23,75, + 34,72, 58,77, 5,23, 28, 1, 13,13, 77,40, 10,75, 2,36, + 58,43, 59,15, 37,27, 43, 7, 29,58, 32,18, 42,65, 71,51, + 69,27, 46,33, 18,79, 33, 9, 17,30, 66,29, 53,46, 39,43, + 37,23, 63,72, 50,17, 60,27, 53,65, 11,31, 18,54, 3,62, + 69,57, 32,33, 34,54, 47,62, 73,46, 34,29, 75, 2, 54,27, + 63, 8, 41,50, 8,67, 66,44, 40,34, 68,57, 76,79, 3, 6, + 33,10, 53,23, 46,41, 31,20, 49,56, 3,72, 44,46, 11,33, + 12,18, 14,15, 18,70, 70,69, 47,73, 31,42, 54,58, 58,26, + 73,38, 8,25, 53,27, 65,25, 15,34, 12,55, 0,36, 12,38, + 76,38, 22, 7, 62,43, 55,75, 28,64, 69, 1, 19,72, 32,42, + 5,65, 24,49, 66,55, 67,34, 54,23, 12,17, 74,23, 64,18, + 44,44, 70,64, 31,64, 56,10, 71,68, 16,69, 20,76, 39,11, + 39,59, 10,70, 1,58, 49,57, 46, 8, 12,22, 62,20, 57,39, + 36,39, 7,62, 29, 1, 24,11, 75,41, 65,72, 53,55, 44,49, + 73,57, 67,68, 26, 2, 13, 1, 8,75, 36,60, 47,36, 43,76, + 1,32, 18,76, 62, 1, 42,62, 45,64, 42,25, 53,71, 53,61, + 44, 5, 1,13, 41,68, 29,41, 75,71, 40, 5, 34,37, 53,21, + 36,13, 42,43, 61,64, 30,63, 1,37, 60,33, 70,60, 38,62, + 59,14, 19,78, 32,47, 29,48, 50,24, 13,74, 9,52, 68, 0, + 46,44, 66,77, 70,65, 33,39, 43,19, 4,51, 48,68, 54,20, + 17, 6, 37,65, 51, 4, 68,18, 41, 6, 61,57, 45, 9, 50,71, + 65,50, 43,43, 54,24, 31,56, 35,30, 77,27, 71,63, 22,38, + 31, 0, 60,17, 31,22, 49,71, 69,46, 20, 7, 69,40, 38,79, + 71,58, 17,41, 68, 4, 17, 5, 40,52, 34,38, 43,18, 52,21, + 14,18, 26,35, 6,60, 77,62, 12,13, 34,77, 3, 4, 23,10, + 73, 3, 54,57, 58,71, 45,48, 31, 3, 72,63, 0,52, 5,50, + 57,53, 29,65, 0, 9, 33,50, 58, 3, 14,16, 48,39, 9,21, + 57,16, 28,32, 28,52, 26,51, 67,47, 22,52, 1,39, 21,30, + 48,61, 6,30, 41,48, 9, 2, 15,54, 19, 7, 48,66, 59,72, + 50,57, 74,62, 40,78, 37,67, 64,32, 76,59, 40,40, 64,41, + 11,26, 54,34, 32,41, 48,11, 47,43, 35,18, 27,70, 11,24, + 70,68, 31,41, 75,65, 31,16, 59,38, 8,79, 54, 3, 23,29, + 9,19, 2,68, 63,18, 76,57, 31,58, 32,48, 76,14, 5,19, + 21,78, 52,78, 47,34, 28,39, 7,51, 1,30, 45,71, 40,63, + 46,22, 32,23, 22,27, 12,66, 3,37, 6,32, 4,12, 59,44, + 4, 9, 38,54, 54,17, 15,76, 35,22, 73,69, 62,23, 2, 7, + 39,16, 62,21, 29,76, 15,60, 76, 5, 45,16, 71,36, 49,48, + 56,79, 57,19, 43,33, 13,44, 51, 7, 59,63, 15,41, 24,42, + 16,26, 68, 6, 13,20, 56,15, 69,41, 2,42, 25,17, 31,31, + 27,40, 77,78, 50,61, 42,77, 1,60, 7, 2, 68,71, 39,36, + 42,63, 21,19, 29, 2, 38,13, 40,26, 14,64, 57,76, 24,35, + 79, 0, 0,64, 55,71, 79,49, 60,20, 25,59, 78,66, 2,44, + 49,24, 47,18, 31,27, 24,46, 71,73, 49,54, 71,71, 55, 4, + 28,62, 5,40, 64,21, 19,13, 43,27, 0,58, 69, 5, 74,78, + 26,37, 56,34, 22, 6, 40,67, 53,24, 50,64, 60,21, 32,15, + 36,77, 0, 8, 14,37, 3,67, 69,66, 78,69, 38,31, 52,60, + 44,45, 62,65, 40,66, 78,61, 66,71, 42,47, 70,34, 1,56, + 12,31, 13,47, 44,53, 77, 1, 78, 8, 0,34, 23,77, 24,55, + 34,36, 16,57, 3,13, 79,16, 72,74, 52,41, 6, 6, 40,17, + 25,29, 48,48, 0,65, 69,11, 19,67, 71,59, 53,48, 34,28, + 30,74, 24,79, 11, 6, 66, 2, 66,28, 55,17, 36,10, 40,69, + 56,56, 54,41, 3,47, 50,12, 49,19, 65,62, 20,48, 13,63, + 42,41, 61,52, 48, 3, 67,74, 31,24, 63, 2, 20, 1, 32,19, + 68,35, 30,34, 32,26, 17,22, 71,32, 60,36, 19,52, 63,46, + 46,21, 67,56, 27,27, 62, 3, 72,19, 47, 1, 8,30, 46,18, + 52,40, 28,78, 56,66, 51,13, 59,77, 13,41, 17,66, 52,34, + 21,49, 70,14, 26,28, 79,15, 33,77, 49, 8, 53,19, 65,30, + 11,45, 51,50, 14,59, 31, 8, 2,19, 38,10, 22,49, 39,35, + 13,70, 65,51, 59,25, 16,20, 57,55, 61,74, 30,59, 64,43, + 23,68, 77,64, 45,52, 33,26, 23,64, 64,46, 9,30, 41,36, + 68, 7, 54,56, 76,65, 48,63, 79,35, 77,75, 66,60, 26,63, + 38,69, 7,72, 40, 3, 79,21, 69,10, 24,34, 5,12, 24,43, + 11,19, 11,41, 44, 0, 32,75, 71, 8, 33, 5, 37,20, 31,34, + 29,11, 53,40, 73,34, 9,15, 28, 9, 6,18, 9,22, 60,14, + 69,72, 12,53, 30,36, 40,79, 67,23, 32,20, 56,73, 26,48, + 43, 0, 62,25, 40,47, 68,48, 0,78, 74, 3, 38,66, 55, 5, + 18,72, 64,68, 52,50, 2, 6, 58,49, 74,61, 28,42, 35,62, + 62,31, 68,21, 68,76, 11,50, 79,12, 47,45, 65,38, 17,46, + 2,33, 50, 5, 1,68, 6,20, 39,51, 79,68, 35,31, 72,34, + 27,17, 34,42, 21,25, 59,62, 4, 8, 23,69, 62,79, 15,74, + 24,57, 36,16, 43, 1, 15,58, 14, 7, 49, 4, 17, 7, 73,66, + 51,26, 9,59, 32,31, 78,26, 65,34, 65, 1, 79,37, 38,70, + 16,21, 78,49, 72,71, 32,22, 28,67, 18,36, 33,24, 75,45, + 75, 1, 10,48, 77,55, 29,72, 65,52, 53,62, 10,12, 73,35, + 48,56, 61,11, 14,53, 23,57, 43,15, 70,78, 62,71, 7,57, + 41,37, 33,29, 66, 7, 64,55, 19,30, 15,45, 1,64, 73,67, + 48,46, 23,43, 72,18, 21,45, 78,70, 78,72, 56,59, 74,24, + 79,63, 79,62, 74, 2, 72, 3, 59,58, 42,64, 70,70, 0, 4, + 73,23, 17,29, 35,35, 2,35, 76,56, 38,51, 5,42, 48,12, + 72,29, 3,66 +}; + +const int p_90_0[] = { + /// Number of people on picture + 90, + /// Number of preferences + 611, + /// Array of preferences + 0, 1, 13,19, 68,12, 22,14, 0,13, 12,70, 15,58, 62,76, + 20,43, 36,45, 45,12, 81,46, 32,61, 67,41, 89,59, 40, 5, + 43,32, 1,65, 0,11, 47,61, 27,59, 27,33, 32,51, 70, 8, + 47, 4, 21,88, 4,36, 71,11, 14,50, 50,11, 9,27, 83,58, + 53,76, 73, 4, 67,85, 5,52, 79,34, 14,60, 54, 2, 4,67, + 65,62, 86, 2, 26,70, 24, 2, 60,66, 55,60, 50,52, 31, 4, + 27,76, 26,83, 42,14, 39,31, 34,80, 42,12, 40,51, 15,35, + 76, 3, 56,41, 2, 1, 9,19, 85,39, 52, 3, 24,54, 26, 2, + 28,52, 29,63, 74,57, 14, 8, 77,75, 89,48, 38,84, 55,32, + 6,20, 26,41, 82,15, 69,57, 86,70, 19,13, 23,41, 44,75, + 34,83, 81,24, 75,37, 84,53, 15,82, 4,81, 45,69, 20,55, + 82,45, 74,63, 88,22, 6, 6, 50,38, 80, 7, 59,70, 18,48, + 63,16, 44,24, 29,33, 48,76, 77, 7, 33,80, 80,53, 33,27, + 53,85, 27,87, 64,82, 8,75, 47,31, 79,13, 42,76, 23,46, + 87,35, 11,17, 34,88, 18,20, 63,32, 3,43, 45,46, 49,89, + 63,64, 28,41, 75,10, 33,70, 6,46, 14,38, 1,61, 38,25, + 0,71, 9,69, 81,76, 40,35, 89,15, 81,88, 69,77, 65,58, + 46,64, 2,71, 26,58, 1, 1, 45,43, 87,78, 1,59, 24,68, + 16,29, 20,45, 32,75, 60,61, 70,43, 18,85, 9,59, 54,40, + 85,82, 0,32, 31,53, 85,87, 14,52, 21,64, 81,14, 30,68, + 54,12, 40,83, 67,26, 22,34, 2, 2, 9,65, 10,14, 75,49, + 27,36, 65,41, 44,40, 74,22, 80,10, 26,49, 73,18, 24,80, + 26,51, 1,17, 17,66, 45,83, 32,42, 68,48, 60,51, 19,27, + 22,63, 39,54, 15,43, 23, 2, 87,85, 61,63, 54,48, 76,75, + 27,12, 34,15, 86,30, 14,77, 66,40, 72,88, 65,63, 16,89, + 51, 6, 46,13, 35, 8, 73,13, 28,78, 74,13, 50,72, 15,75, + 6,28, 60,56, 69, 6, 40, 0, 61,19, 81,67, 61, 6, 70,44, + 77,57, 20,86, 74, 3, 6,68, 1,67, 81, 8, 16,34, 83,87, + 58,19, 26,69, 16,53, 78,15, 80,72, 23,67, 20,20, 67,73, + 44,71, 17,78, 72,22, 48,18, 17,61, 74,29, 51,40, 65,52, + 70,21, 10,35, 11,49, 38,59, 47, 8, 55,73, 23, 5, 29,16, + 80, 4, 71,17, 84,83, 51,82, 4,71, 47,52, 53, 1, 72, 4, + 12,59, 66,65, 35,36, 49,72, 79,62, 14,53, 83,73, 20,25, + 81,87, 39,22, 52,12, 31,52, 38,61, 84,47, 67,70, 85,19, + 50, 0, 47,79, 38,56, 36,86, 78,80, 27,28, 41,67, 79,25, + 87,76, 79,27, 85,26, 89,26, 67,11, 55,87, 9,32, 71,61, + 44,43, 62,14, 24,39, 81,36, 36,24, 21,12, 88,43, 26,79, + 49,37, 9,16, 81,35, 29,55, 19,33, 85, 8, 49,86, 52,63, + 3,21, 86,38, 30, 3, 67,49, 11,38, 69, 2, 17,62, 61, 5, + 47,38, 70,42, 80,43, 65,74, 55,67, 56,37, 62, 3, 66,85, + 81,64, 31,55, 79,26, 4,22, 61,44, 87,13, 9,36, 70,29, + 2, 6, 80,37, 47,19, 46,30, 71,20, 61,39, 70, 1, 49,52, + 46,51, 62,47, 71, 6, 55,71, 51,17, 65,20, 0,33, 16, 7, + 70,53, 47,60, 65,23, 18,69, 19,22, 55,89, 27,85, 27,29, + 54,39, 75,23, 11,79, 9,60, 6,67, 23,58, 32,11, 73,20, + 58,43, 34,30, 10,27, 3,61, 63,77, 27,42, 49,59, 88,16, + 68,65, 64,21, 11, 7, 59,60, 19,62, 17, 8, 64,49, 21, 9, + 43,21, 66,28, 33,22, 65,44, 61,16, 82,21, 51,69, 36,23, + 30,19, 17,47, 65,22, 27,38, 3,66, 72,83, 40,62, 71,54, + 53, 2, 30,80, 80,49, 13,41, 82,55, 68,49, 74, 0, 11,34, + 21,48, 76,52, 35,19, 67, 0, 3, 9, 46, 6, 67, 8, 44,78, + 40,38, 75,78, 86,85, 45,88, 43,41, 81,17, 80,27, 38, 0, + 8,66, 19,42, 62,32, 65,68, 11,45, 66,83, 29,82, 64, 9, + 10,50, 57,83, 38,42, 6,58, 0,50, 7,42, 76,19, 45,39, + 86,72, 67,79, 76,12, 66,86, 58,78, 63,29, 74,39, 32,41, + 59,19, 86,12, 52, 5, 48,40, 23, 0, 26,31, 27,64, 75,15, + 39,35, 40,50, 12,25, 29,17, 29, 0, 51,27, 86,76, 27,21, + 59,62, 6,86, 36,73, 1,11, 72,54, 73,77, 12,32, 84,65, + 43,14, 19,39, 48,65, 80,82, 3,44, 31,21, 25,56, 50,37, + 22,56, 43,53, 69,16, 16,27, 68,85, 72, 9, 51,33, 49,51, + 17, 2, 15, 0, 32,53, 34,86, 49,63, 23,23, 59,15, 54,44, + 35, 3, 47,25, 74, 2, 18, 4, 71,40, 83,89, 88,67, 33,76, + 64,13, 67,52, 22,30, 76,49, 64, 7, 28,17, 23,10, 81, 3, + 32,12, 7,22, 70,56, 21,15, 7,65, 82,80, 52,69, 10,18, + 34,42, 85,62, 11,26, 29,47, 11,51, 54, 4, 62,31, 9,81, + 41,10, 65,39, 35,31, 20,85, 36, 3, 68,20, 14,26, 60,21, + 8,10, 43,12, 54,85, 29,70, 37,64, 13,79, 23,34, 32,89, + 53,61, 13,43, 21,58, 58,41, 13,66, 73,65, 21,32, 30,52, + 60,37, 22, 6, 41,62, 19,31, 44,72, 6,49, 41,48, 49,66, + 45,53, 79,21, 34,29, 46,40, 85,63, 61,23, 75,30, 53,56, + 50,19, 47,40, 36,53, 13,48, 61,83, 43,18, 75,79, 43,73, + 19,83, 1,85, 25,72, 84,11, 18,35, 0,34, 45,80, 72,84, + 44,57, 83, 1, 3,54, 56, 1, 1,13, 9,63, 34,18, 19, 7, + 33,66, 9, 2, 16,47, 59,71, 57,68, 58,11, 46,66, 62,73, + 19,21, 20, 7, 39,38, 21,59, 0,48, 40,45, 50,17, 55,11, + 11, 2, 56,57, 35,41, 37,78, 78,33, 58,31, 64,53, 54,69, + 34,47, 30,62, 45,47 +}; +const int p_90_1[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1981, + /// Array of preferences + 47,58, 87,30, 14,12, 44,86, 84,44, 75,80, 54,66, 48,38, + 68,39, 56,80, 51,21, 15,29, 66,72, 43,87, 12,18, 41,71, + 18,45, 69,35, 58,63, 26,39, 26,58, 56,88, 4,40, 69,11, + 77,13, 36,36, 63,69, 31,48, 10, 2, 85,68, 52,48, 56,29, + 71, 4, 50,10, 35,75, 10,41, 61,36, 4,64, 31,30, 13,29, + 0,76, 7,58, 32,86, 40,64, 62, 7, 33, 9, 59,12, 54,36, + 42,74, 22,22, 76,44, 5,52, 80,74, 56, 5, 20,46, 50,63, + 13,52, 15,87, 82,52, 34, 7, 18,28, 87,63, 31,63, 48,41, + 37,16, 82,13, 41,61, 51,42, 31,24, 4,28, 62,25, 17,76, + 37,67, 13, 1, 74, 1, 51, 5, 39,29, 3,49, 18,77, 2,32, + 38,59, 80,89, 81,86, 19,60, 82,29, 83,25, 62,21, 33,32, + 23,88, 32,35, 69,31, 34,63, 68,81, 48,18, 35,31, 37, 2, + 46,12, 35,62, 82,88, 61,31, 36,51, 73,43, 5,58, 16,53, + 16,71, 28,62, 4, 0, 22,84, 7,68, 52,52, 87,68, 71,17, + 44,77, 0,13, 73,57, 63,67, 60, 5, 72,16, 70,64, 17,55, + 45,81, 2,18, 7,48, 12,54, 9,29, 45, 5, 25,11, 47,64, + 47,66, 54,83, 43,17, 79,82, 89,84, 66,43, 41,73, 42,40, + 44,87, 57,88, 40,54, 39,31, 46,54, 28,12, 47,50, 21, 2, + 62,20, 35,18, 70,62, 59,16, 36,48, 68,87, 83,30, 68,23, + 57,54, 85,26, 5,76, 19,16, 20, 6, 31,78, 49,54, 53,38, + 15,12, 16, 4, 78,39, 14, 9, 29,75, 12,11, 79,65, 71,82, + 86, 4, 79,83, 69,45, 61, 4, 88, 9, 21, 8, 53,77, 31,46, + 22,32, 11,60, 16,35, 40,62, 6,17, 3,53, 32,13, 89,47, + 71,51, 25, 4, 16,45, 3,88, 53,27, 57,63, 76,67, 72,41, + 74,67, 37, 6, 29,70, 6,16, 70, 2, 83,60, 73, 3, 16,69, + 39,46, 8,19, 35,25, 62,71, 56,73, 8,36, 0,36, 62,59, + 21,38, 21,58, 43,58, 21,88, 44, 0, 42,64, 79,34, 62,38, + 38,51, 26,11, 25,64, 37,70, 19,74, 1,27, 62,13, 27,67, + 77,68, 27, 9, 72, 7, 38,86, 64,59, 48,73, 2,51, 86,35, + 66,24, 2, 5, 77,41, 13,36, 12,22, 46,88, 44,12, 32, 7, + 14,19, 83,67, 58,89, 37,66, 81,28, 19,18, 85, 2, 85,57, + 65,15, 53,44, 58,23, 26,54, 30,49, 41,14, 31, 8, 38,68, + 61,65, 11,32, 85,21, 79,59, 65,46, 25,68, 78,83, 18,36, + 71, 8, 21,86, 43, 8, 1,73, 4,42, 70,39, 73,19, 17,36, + 64,26, 51,13, 88,84, 4,81, 5,38, 33,23, 75,78, 66, 6, + 61,12, 57,70, 36, 1, 22,50, 9,59, 34, 0, 62,12, 6, 2, + 43,51, 61,10, 40,12, 67,16, 40,40, 45,50, 74,22, 60,39, + 82,35, 70,45, 67,37, 8,28, 44,81, 1,81, 69,39, 64,66, + 44,53, 81,43, 18,29, 33,76, 33,12, 3,87, 20,48, 33, 5, + 85,88, 51,48, 39,76, 74,88, 39,37, 70,42, 50,52, 57, 0, + 82, 5, 36,79, 57,49, 1,35, 29,57, 32,73, 32,58, 5,12, + 28,28, 15, 6, 14,43, 47,34, 70,57, 23,66, 36, 2, 9, 2, + 56,71, 35,84, 58,64, 41,67, 81,65, 76,73, 0,24, 1, 5, + 23,89, 71, 9, 63,85, 43,12, 32, 4, 41,55, 73,58, 30,72, + 88,25, 51,61, 28,75, 5,77, 88, 3, 79,87, 67,82, 4,72, + 43,27, 62,87, 88,27, 37, 4, 84,82, 27,33, 87,52, 74,58, + 85,60, 39,26, 21, 6, 71,63, 45,69, 77,87, 37,54, 79, 1, + 3,16, 87,19, 24,38, 44,83, 45,89, 54,38, 23,17, 61,39, + 19,11, 61,47, 47,30, 74, 6, 1,40, 17,65, 41,16, 72,85, + 56,51, 81,23, 35,88, 82,50, 85, 8, 59,29, 49,25, 68,25, + 82,46, 9,87, 64,53, 66,57, 52,54, 0,73, 20,61, 55,55, + 66,78, 78,86, 27,78, 7,20, 39,72, 37,53, 76,86, 33,13, + 14,10, 59,77, 89, 3, 86,59, 28,61, 28,65, 43,36, 33,61, + 4,45, 13,84, 75,66, 75,59, 10,82, 77,61, 50,19, 69,79, + 54,27, 89,69, 20,85, 52,79, 78,30, 69,12, 75,87, 88,61, + 24,63, 80,29, 43,74, 44,84, 89,15, 27,79, 83,10, 39,74, + 58,67, 83,54, 34,81, 53,24, 72,42, 79,40, 65,21, 12,52, + 52,70, 70,61, 10,39, 19,53, 40,21, 11,23, 89,25, 46,33, + 46,89, 37,85, 15,33, 35,79, 31,10, 25,54, 10,78, 55,85, + 41,54, 35,49, 78, 9, 16,74, 58,71, 73,60, 8,84, 9,76, + 59,56, 31,26, 57,16, 28, 9, 8,27, 72,33, 80,86, 53,73, + 24,85, 79,66, 88,47, 88,60, 46,60, 28,53, 54,48, 10,62, + 72,10, 57,12, 14,58, 42,37, 53,16, 81,14, 2,53, 87,14, + 66,56, 35,15, 84,37, 1,83, 66, 0, 51,28, 67,43, 36,76, + 18,84, 3,85, 56,27, 63,74, 7,72, 53,17, 33,65, 60,89, + 66,70, 60,63, 87, 9, 43,54, 31,47, 75,67, 34,47, 26,44, + 19,37, 81,82, 35,47, 75,89, 10,40, 29,46, 76,78, 43,31, + 30,36, 34,67, 71,77, 28,17, 78,16, 34,17, 78,73, 42,48, + 41,63, 74,69, 59,24, 81,53, 1,48, 52,25, 39, 0, 81, 6, + 50,41, 51,73, 77,64, 29,31, 16,65, 38,10, 39,45, 71,18, + 36,82, 30, 5, 4,68, 45, 9, 25,18, 51,10, 89,23, 8,81, + 9, 5, 14,72, 10,86, 34,40, 16,22, 72,67, 86,38, 17,23, + 65,52, 24,21, 12,44, 31,16, 23,28, 70, 4, 61,59, 30,15, + 33,20, 25,37, 1, 7, 61,21, 29,44, 5,63, 0,35, 3,71, + 43,50, 33,40, 35, 8, 22,17, 21,37, 8,18, 55,68, 44,36, + 0,16, 5,50, 59,36, 29,33, 67,18, 75,50, 54, 0, 77,38, + 52,24, 83,38, 28,22, 3,13, 46,77, 74,37, 41,35, 55,46, + 22,29, 22,28, 6,37, 53,11, 14, 5, 76,83, 85,54, 26,89, + 28,50, 7,85, 4,84, 76,63, 3,63, 69,24, 49,35, 84,47, + 46,46, 6,41, 46,75, 41,58, 18,13, 8,32, 45,29, 28,52, + 33,18, 33,75, 87, 6, 24,56, 35,17, 62,29, 64,79, 84,70, + 55,24, 68,10, 25,69, 52,47, 22,66, 9,26, 6,45, 15,24, + 78,42, 31,50, 13, 7, 68,27, 66,47, 52,57, 55,61, 31,74, + 80, 5, 87, 2, 14,13, 33,78, 65,51, 80,40, 78,43, 17,13, + 51,49, 69,42, 85,67, 2,88, 57,66, 14,77, 45,41, 62,74, + 72, 4, 20, 2, 18, 0, 27,18, 19,44, 24, 3, 8,49, 75,75, + 86,30, 55,51, 48,24, 39,83, 49,56, 27,53, 79,43, 86,74, + 87,34, 83,56, 78,27, 85,80, 86,58, 78,28, 23,84, 12,33, + 87,24, 36,83, 68, 3, 74,53, 7,70, 53,61, 70,38, 68,13, + 4,62, 15,63, 22,56, 81,10, 89,80, 17,42, 82,40, 61,75, + 69,64, 8,34, 6,10, 83,64, 35,86, 55,42, 69,81, 88,33, + 73,49, 67,77, 82,23, 40,11, 80,17, 55,69, 14,61, 56, 4, + 88,22, 80,72, 36,81, 40,78, 27,39, 85,38, 88,18, 45,18, + 82,28, 59,25, 49, 5, 60,17, 17, 6, 11,10, 18,70, 13,65, + 10,48, 15,11, 13,37, 68,47, 9,64, 57,15, 45,12, 47,88, + 51,22, 86,77, 47,81, 83,36, 20,63, 73,41, 29,76, 37,28, + 36,85, 43,39, 68,22, 24,17, 25,12, 39,28, 82,18, 4,11, + 74,18, 17,25, 9, 6, 54,26, 12,13, 2,65, 60,23, 59,58, + 88,37, 49, 0, 82,17, 69,48, 27,82, 73,23, 54, 4, 0,28, + 72,38, 69,10, 18,16, 23,23, 37,10, 58,43, 87,87, 63,29, + 78,80, 60,34, 63,51, 65,63, 39,49, 9,50, 69,49, 72,22, + 48,36, 14,38, 21,67, 20,52, 37,50, 36,15, 0,44, 15,26, + 85,22, 27,37, 67,59, 72,74, 47,60, 67, 9, 39,78, 25,26, + 45,75, 40,52, 81,83, 51,47, 22,15, 25,40, 22,57, 69, 4, + 55,84, 74,24, 4,47, 60,53, 20,72, 79,36, 41,36, 16,21, + 7,55, 59,45, 57,68, 89,76, 27,64, 11,78, 21,81, 4,69, + 36,63, 12,27, 57,50, 14,53, 6,65, 8,61, 77,69, 72,87, + 82,89, 40,67, 6,64, 8,62, 9,84, 87,70, 80,11, 72,11, + 87,73, 39,88, 86,65, 45,17, 12,77, 64,31, 57,32, 53,29, + 74,17, 84,84, 0,66, 42,58, 42,88, 47,26, 62,44, 40,81, + 29,56, 50,80, 25,22, 68,46, 54,76, 81,48, 84,58, 45,79, + 24,47, 63,63, 86,57, 2,28, 4,23, 24,45, 87,67, 21,13, + 19,14, 23,65, 47,55, 67,83, 62, 5, 10,13, 36,11, 4,76, + 49,76, 45,16, 60,72, 35, 1, 1,31, 49,13, 23,29, 41,59, + 28,55, 84,28, 79,39, 0, 5, 61,69, 39,44, 50,88, 53,70, + 50,25, 16,72, 87,50, 70,32, 10,11, 54,46, 65,30, 22,63, + 45,68, 61,30, 26,76, 23, 1, 27,56, 1,55, 64,51, 68,68, + 40,60, 21,28, 61,89, 14,83, 25,65, 7,31, 46,21, 28, 0, + 31, 5, 42,72, 29,28, 59,15, 21,31, 57,44, 19,55, 20,59, + 60,21, 59,14, 79,26, 33,52, 73,84, 46,70, 26,70, 63,37, + 14,87, 86,88, 87,49, 8,35, 56,62, 56,38, 41, 9, 26,72, + 50,79, 58,55, 8,45, 33, 8, 77,58, 52,85, 29,88, 59, 8, + 70,89, 33,30, 63,26, 6, 7, 5,59, 57,78, 71,41, 40,34, + 55,49, 54,85, 47,87, 20,14, 42,22, 63,11, 46,80, 73,79, + 15,20, 28,19, 82,51, 89,67, 63,66, 9,68, 9, 0, 85,16, + 80,56, 28, 4, 44,27, 40,44, 76,59, 23,70, 3,17, 55,39, + 62,48, 63,13, 34,35, 59,87, 39,82, 25,21, 14,81, 79, 9, + 45,14, 46,65, 30,63, 68,65, 26,84, 12,65, 71,16, 7,13, + 28,15, 26,43, 14,29, 13,61, 16,87, 64,69, 72,80, 3, 1, + 14,88, 26,19, 28,29, 76,76, 12,83, 23,51, 64,76, 85,14, + 56,31, 57,20, 18,61, 74,72, 54,23, 55,82, 41, 5, 50,20, + 26,27, 71, 1, 0,58, 0,63, 23,62, 39,33, 68,40, 37,61, + 46,45, 9,36, 78,53, 68,28, 17,78, 22,71, 78,14, 50,74, + 3,75, 58,60, 50,44, 83,70, 74, 9, 25,74, 43,33, 36,44, + 23,25, 51,66, 44,26, 40,71, 75,26, 77,15, 33,84, 80,38, + 39,19, 18,44, 9,34, 77, 7, 82,66, 35,64, 63,18, 78,22, + 87, 1, 67,66, 54,30, 22,82, 28,16, 63,48, 30,75, 55, 1, + 29,67, 77,21, 24,80, 36, 8, 15,61, 61,67, 26,55, 40,48, + 24,33, 40,88, 84,48, 80,71, 1,68, 49,18, 5,31, 10,60, + 22,53, 35, 7, 76,65, 83,72, 83,13, 30, 0, 86,87, 10,35, + 23, 4, 27,87, 80,12, 49,59, 47,14, 35,72, 12,24, 30,24, + 86, 0, 13,76, 8,66, 79,21, 41,75, 20,18, 35, 3, 28,60, + 11,66, 82,44, 20,17, 11,71, 12,29, 55, 2, 1,67, 54,12, + 52,12, 35,68, 24,68, 80,51, 12,37, 47,51, 16,42, 4,56, + 87,78, 0,32, 38,87, 63,30, 77,42, 35,46, 21,10, 41,44, + 6,69, 58,42, 87,28, 11, 5, 48,67, 69,46, 0,57, 6, 3, + 58,17, 38,53, 32,18, 79,71, 46,64, 12,28, 2,72, 56, 2, + 74,36, 46,78, 58,18, 27,16, 65,88, 51,24, 21,56, 42,50, + 74,47, 81,69, 56,22, 70,25, 58,65, 43,52, 36, 5, 15,10, + 22,19, 0,67, 8,52, 46,11, 39,18, 42,77, 34,37, 25,28, + 54,18, 68,63, 64,48, 84,87, 13,22, 30,48, 78, 3, 20,77, + 60,11, 35,24, 82, 3, 78,40, 71,84, 64,44, 19,65, 66,45, + 67,11, 7,16, 77,20, 75, 5, 44,40, 15,16, 25,77, 24,22, + 59,52, 11,28, 11,85, 76,19, 15,67, 79,47, 68,36, 9,78, + 6,36, 71,76, 7,35, 61,82, 70,54, 40, 4, 51,75, 82,24, + 66,31, 13,30, 4,70, 15,64, 33,36, 56,25, 67,57, 22,34, + 33,64, 19,78, 11,62, 41,56, 86,62, 18, 3, 58,88, 31, 3, + 44,62, 4,13, 3,40, 19,33, 36,72, 78, 4, 58,38, 59,84, + 49,41, 18,55, 56,77, 29,83, 64,80, 51,74, 19,36, 21, 0, + 84, 0, 14,14, 21,87, 62,75, 84,63, 16,83, 46,16, 49,27, + 59,89, 64,61, 84,71, 54,52, 68,86, 73,51, 77,79, 17,51, + 76,10, 89,78, 78,19, 11,74, 14,37, 78,12, 79,81, 68,77, + 67,22, 7, 4, 53,64, 59,42, 42,24, 82,41, 11,79, 35,30, + 22,58, 81,50, 85,55, 16,30, 23,79, 36,24, 57,71, 10,55, + 74,27, 71,68, 72,79, 32,56, 43,37, 68,51, 49,87, 21,61, + 1,17, 19,71, 2,57, 20,76, 84,75, 65,23, 81,85, 68,37, + 73,68, 12,78, 35,14, 4,41, 22,72, 0,77, 58,78, 48,57, + 36,43, 37,68, 87,22, 3, 0, 40,63, 50,84, 15,51, 69,33, + 9, 4, 86,46, 4,59, 46,14, 46,56, 5,43, 76,85, 8,20, + 13,21, 11,17, 54,50, 2,58, 88,13, 38,15, 29,38, 12,30, + 89,37, 21,80, 43,89, 18,52, 32,69, 39,36, 87,74, 3,48, + 47,47, 23,54, 55,52, 54,44, 22, 4, 40,37, 15, 2, 33,27, + 21,50, 13,67, 47,28, 41,10, 61,53, 13,82, 74,26, 72,73, + 17,59, 64, 1, 77,14, 41,17, 79,57, 72,28, 65,80, 22,78, + 70,78, 83, 8, 71,29, 15,49, 81,42, 11,39, 83, 5, 38, 3, + 31,77, 26,30, 17,38, 51,76, 20, 4, 54,88, 12,69, 87,36, + 9,82, 74,20, 71,47, 85,43, 77, 0, 55,11, 71,85, 86,84, + 76,36, 65,36, 55,25, 37,78, 17,30, 42, 6, 3,81, 89,52, + 13,15, 13,24, 10, 1, 74,83, 36,20, 23, 2, 1,77, 55,62, + 37,34, 63,71, 71,87, 51,41, 86,67, 24,23, 50,35, 5,26, + 24,50, 75,71, 10,44, 80,45, 5,87, 45,11, 5,41, 11,77, + 59,28, 69,86, 6,75, 48,42, 42,49, 78, 2, 81,77, 67, 3, + 75,14, 30,40, 63,80, 29,32, 63,77, 70,18, 83,23, 57,65, + 10,67, 37,19, 13, 4, 88,38, 27,31, 62,47, 23,37, 7, 2, + 3,65, 24,64, 59, 4, 47,62, 7,62, 11,56, 11,24, 56,13, + 27,89, 58,70, 63,47, 49,11, 7,41, 4,34, 78,24, 20,42, + 44,24, 66,61, 14,79, 86,24, 55,27, 9,31, 62,65, 78,21, + 88,49, 27,44, 0,56, 88,77, 61,38, 23,32, 87,45, 15,15, + 78, 5, 57,61, 15,45, 71,12, 62,89, 19,12, 11,25, 39,60, + 72,36, 42,71, 61,42, 50,87, 36,70, 25,13, 69, 8, 54,86, + 44,22, 84,78, 0, 6, 37,36, 48,11, 38,45, 10, 9, 23,18, + 50,47, 6,60, 25,45, 61,25, 51, 0, 47, 4, 87,80, 38,79, + 44, 9, 37, 8, 31,33, 85,48, 57,62, 69,68, 66,87, 36,50, + 43, 4, 83,81, 57,82, 89,48, 17,77, 55,60, 34,56, 86,17, + 51, 9, 66,16, 78,25, 0,23, 14,50, 27,81, 41,62, 21,54, + 10,81, 83,89, 14,68, 69,60, 48,34, 67,38, 49,73, 24,75, + 27,21, 53, 3, 42,21, 72,20, 88,57, 21,33, 29, 1, 70,35, + 18,25, 81,22, 60,12, 37,18, 58,52, 50,45, 45,15, 73,62, + 66,82, 84,19, 12, 7, 19,43, 49,39, 85,65, 79,33, 76,84, + 4, 4, 73, 7, 58,22, 85,40, 44,15, 21,46, 80,22, 23, 8, + 21,49, 22,23, 72,53, 61,57, 88,66, 74,55, 71,35, 12,67, + 59,11, 52,39, 69,56, 41,24, 25,73, 28,78, 19,81, 86,16, + 14,62, 50,11, 80,61, 13,77, 71,89, 41,72, 37,51, 63,43, + 29,55, 34, 9, 67,49, 11,51, 38,73, 81,20, 30,89, 35,39, + 11,70, 80,65, 51,85, 21,77, 5,17, 76,48, 0,52, 13,44, + 16,58, 40,17, 24, 1, 28,27, 16,47, 33,71, 63,35, 36,58, + 66,75, 22, 2, 56, 3, 43,22, 31, 6, 53,30, 71,19, 6,27, + 74,41, 22,76, 44,47, 16,39, 67,21, 0,45, 87,72, 81,32, + 66,86, 50,49, 16,24, 41,15, 81,47, 76,34, 6,67, 69,37, + 77,34, 31,75, 33,87, 48,46, 45,85, 3,45, 8,76, 61,20, + 28,33, 58,68, 22,60, 5,85, 68,56, 11,89, 62,80, 0,65, + 89,70, 58, 8, 76,12, 85,42, 67,12, 75,32, 2,23, 34,32, + 59,71, 70,73, 46,58, 52, 1, 28,13, 30,54, 49, 6, 73,50, + 3,28, 63,60, 66,54, 87,86, 8,58, 73,47, 3,19, 8,56, + 48,64, 3,69, 8,29, 40,39, 56,28, 78,48, 49,86, 84,61, + 44,31, 42, 0, 69, 3, 45,47, 62,10, 39,64, 2,70, 52,62, + 32,51, 75,68, 40, 9, 87,60, 77,73, 7,29, 70,66, 44,88, + 68,11, 56,40, 38, 5, 13,58, 10,84, 83,51, 81,18, 31,36, + 50,17, 76, 4, 56,12, 11, 8, 60,69, 54,87, 18,58, 3,23, + 44,19, 40,84, 26,35, 19, 2, 43,16, 34,83, 69, 2, 78,69, + 49,74, 61,78, 34,66, 1,41, 63,55, 55,65, 59,50, 85,71, + 39,56, 75,41, 71,10, 29,41, 60,24, 84,72, 38, 4, 80,34, + 63,31, 37,30, 32,37, 42,84, 53,21, 82,16, 40, 0, 30,52, + 52,32, 17,67, 21,51, 59,78, 24,20, 38,58, 68,35, 67, 7, + 68,34, 49,84, 83,12, 47,89, 88,21, 86,71, 16,13, 40, 7, + 24, 6, 55,40, 10,32, 1,30, 68,42, 2,19, 65, 6, 30,20, + 15,31, 67,28, 18,67, 22,87, 62,58, 41,11, 75,53, 24, 7, + 6,87, 10,53, 73,29, 68,61, 32,57, 48,80, 72,69, 81,84, + 10,16, 62,85, 78,32, 76,72, 39, 7, 70,55, 30,77, 40,43, + 65,54, 61,37, 36,54, 31,41, 60,43, 60,30, 8,63, 14,16, + 78,65, 4, 3, 59,65, 4,57, 5,75, 71,30, 74,44, 13,83, + 71,54, 41,78, 38,83, 84,31, 44,60, 17,74, 44,70, 68,88, + 73,65, 6,42, 35,65, 85,41, 50,50, 17,63, 7,59, 76,47, + 61,22, 39, 5, 82,55, 50,58, 61, 1, 77,66, 89,38, 80,33, + 10,51, 32,63, 56,81, 39,14, 70,84, 11,57, 72,13, 67,78, + 10,66, 41,37, 17,80, 38, 9, 56,83, 44,52, 75,48, 58,56, + 11,44, 77,62, 10,42, 43,49, 70,27, 19,35, 51,36, 40,61, + 50,43, 53,76, 11,63, 42,73, 42,35, 44,50, 58,82, 36,88, + 71,28, 47,46, 88,63, 57,60, 89,34, 25,38, 5,46, 31,58, + 84,32, 19,26, 50,27, 55,32, 25,55, 51,67, 38,13, 79, 6, + 43,72, 61,46, 74,10, 33,14, 25,30, 47,76, 4,26, 73,20, + 54,31, 79,27, 16,77, 80,21, 51,80, 3,74, 64,65, 8,16, + 81,64, 82, 1, 3, 3, 30,14, 62,49, 32,50, 87,58, 66,18, + 15,42, 60,19, 69,38, 43,63, 29, 8, 15,76, 22,86, 73,71, + 22,40, 0,10, 47,49, 36,22, 84,52, 37,32, 14,34, 88,53, + 78, 8, 58,37, 17,52, 47,35, 73,83, 61,16, 20,65, 52,59, + 46,85, 65,29, 6, 0, 26,74, 45,82, 40,70, 89,64, 2,83, + 56,67, 65,85, 7,75, 8,72, 6,63 +}; +const int p_90_2[] = { + /// Number of people on picture + 90, + /// Number of preferences + 728, + /// Array of preferences + 72,82, 68,23, 85,70, 61,88, 89,57, 55, 3, 9,80, 72,56, + 68,27, 67,69, 74,39, 47,20, 81,51, 71,16, 83,31, 54,81, + 4,15, 68,15, 36,15, 66,51, 57,89, 21,46, 81,28, 25,13, + 19,38, 89,63, 34,76, 28, 3, 34,12, 43,16, 46,51, 12,18, + 50,49, 2,69, 56, 0, 6,72, 66,45, 6,35, 69,59, 46,63, + 80,74, 36,19, 79, 7, 4,89, 77,59, 68,78, 41,81, 24,10, + 2,27, 9,44, 71,85, 2,41, 30,70, 40,75, 12,35, 34,72, + 83,24, 30,30, 5,69, 30,76, 76,39, 13,62, 83, 8, 71,79, + 73,31, 21,19, 77,51, 28,70, 48,55, 26,21, 76,10, 23,31, + 69,80, 18, 1, 60,81, 37,41, 10,80, 73,14, 78,44, 11,44, + 62,76, 89,18, 8,25, 13,11, 22,59, 63,21, 23,54, 44,31, + 34,28, 3,17, 34,71, 62, 5, 89, 7, 69,13, 11,73, 8,21, + 83,43, 12,89, 86,13, 81,58, 84,39, 16,58, 79,21, 76,43, + 53,22, 51,58, 74,26, 75,22, 1, 8, 58,86, 24,29, 69,53, + 81,21, 49,60, 38,85, 54,62, 30, 9, 23,28, 30,13, 39,24, + 82,32, 23,46, 22,55, 81,49, 32,84, 29,31, 62,46, 13,10, + 4,53, 17,30, 48,76, 89,38, 56,24, 57, 7, 70,45, 83,68, + 58,69, 0,85, 87,27, 47, 1, 61,39, 60,25, 24,25, 79,30, + 81,75, 71, 5, 42,17, 28,88, 53, 7, 72,21, 55,79, 76,18, + 62,84, 54,29, 51,17, 61,60, 26,64, 1,70, 12,56, 67, 2, + 71,70, 38,54, 43,35, 13,50, 76,31, 59,20, 56, 3, 55,11, + 6,69, 27,36, 69,41, 41,39, 51,67, 58,47, 48,29, 71,68, + 35,88, 71,45, 45, 6, 11,63, 16,22, 9,62, 55,67, 75,36, + 6,71, 46,32, 55,28, 11,10, 63,29, 74,61, 37,27, 59,60, + 56,40, 82,48, 89,23, 75, 6, 10,37, 62, 3, 56,34, 26,60, + 50,50, 12,58, 79,71, 71,51, 83,67, 61, 7, 74,57, 30,80, + 2,61, 42,41, 2,87, 40,49, 15,89, 24,36, 26,20, 51,22, + 31,19, 88,15, 8,87, 25,68, 59, 3, 65,68, 80, 5, 38,42, + 34,50, 34,59, 84,77, 53,49, 40,83, 34,48, 19,21, 52,75, + 26,49, 61,54, 25,26, 81,63, 3, 6, 29,48, 50,36, 10,50, + 47,68, 9,86, 10,65, 16,29, 80,14, 86,24, 62,28, 3,54, + 75,88, 52, 3, 41,26, 74,37, 67,74, 62,16, 57,84, 38,25, + 57,13, 63,79, 49,84, 21,87, 8,64, 15,24, 48,23, 17,17, + 49, 4, 89,16, 54,44, 3,33, 64,42, 25, 1, 74,22, 38, 1, + 0,49, 69,17, 50,67, 22, 9, 22, 1, 28,56, 11,45, 19,65, + 64, 0, 86,26, 53,52, 9,54, 12,13, 42,29, 35,80, 42,59, + 64,58, 4,85, 49,71, 66, 0, 87, 5, 57,12, 48,51, 54,33, + 81, 4, 36, 8, 89,60, 28,68, 8,11, 81,77, 16,52, 18,21, + 84,29, 71, 7, 58,88, 61,20, 22,45, 9,43, 52,45, 57,40, + 27,73, 67,47, 18,14, 64,21, 87,76, 73,20, 4,49, 42,68, + 12,84, 29,10, 43,29, 68,41, 26,34, 77,36, 34,47, 33,43, + 35, 0, 51, 4, 20,81, 79,69, 39, 5, 56,72, 80,22, 7,33, + 75,10, 8,38, 64, 3, 60,78, 53,17, 60, 2, 14,72, 46,23, + 41,41, 88,47, 13,53, 34,53, 25,60, 30,69, 51,76, 0,75, + 73,54, 74,33, 14,85, 80,45, 20,33, 56,29, 53,31, 42,60, + 42,51, 59,37, 50,56, 87,19, 10,26, 15,51, 85,63, 14,78, + 5,39, 82,59, 79,47, 68,44, 27,25, 8,63, 89,13, 59,64, + 4,21, 77,30, 65,27, 8,70, 89,45, 72,52, 7, 3, 54,47, + 67,43, 56,26, 52, 0, 49,47, 86,83, 71,40, 0,62, 68,82, + 7,58, 24,83, 7,63, 1,73, 82,84, 0,59, 54,74, 41,43, + 47,74, 73,48, 36,75, 69,29, 26,10, 11,34, 4,20, 89,61, + 25,81, 58,76, 65,66, 22,50, 26,12, 82,16, 26,26, 49,36, + 54,84, 34,40, 25,17, 14,37, 66,56, 67,18, 41,12, 14,42, + 11,12, 17,41, 20,73, 10,64, 13, 7, 86,88, 48,82, 1,71, + 59,31, 70,34, 46,71, 40,81, 33, 3, 28,11, 16, 9, 39,78, + 9,82, 67,39, 59,21, 84,43, 83,54, 32,65, 25,39, 83,55, + 62,34, 44,44, 12, 5, 79,43, 51,21, 58,42, 41,27, 35,56, + 30,88, 38,60, 49,88, 68,55, 41,54, 25,42, 61,72, 64,75, + 6, 3, 72,25, 75,25, 83,53, 62,38, 24,85, 21,29, 21,72, + 48,18, 1,42, 59,24, 8,61, 7,22, 64,40, 43,50, 8,16, + 19,67, 54,66, 65,51, 66,81, 30,65, 52,60, 26,41, 79,44, + 24,17, 38,52, 27,12, 14,45, 58,22, 38,11, 0,77, 23,32, + 15,11, 89,88, 73,61, 63,58, 88,17, 42,47, 25,47, 52,22, + 24,14, 86,14, 83,10, 48,89, 44,19, 88,69, 81, 3, 28,81, + 86,80, 62,52, 82,75, 55,54, 6, 4, 25,79, 18, 0, 37, 7, + 61,37, 35, 1, 70,24, 60,36, 59, 6, 70,69, 53,85, 16,63, + 46,86, 19,68, 5,77, 34,77, 16,24, 41,19, 70,29, 86,54, + 28, 2, 3,57, 22,39, 40, 3, 84,65, 45,64, 50,72, 19,55, + 49,65, 57,22, 62,47, 15,44, 11,14, 8,10, 50,82, 69, 4, + 52,52, 88,75, 37,30, 15,31, 54,70, 21,28, 61,85, 15, 6, + 26,42, 34,10, 77,37, 44,77, 65,17, 49,52, 50,53, 7, 2, + 7,87, 42,77, 89, 2, 56,39, 33,36, 19,39, 51,29, 67,32, + 80,65, 80,83, 37,35, 67,40, 17,62, 17, 2, 83,63, 59,74, + 22,68, 55,57, 24,50, 69,65, 33,33, 38,46, 62,21, 66,19, + 49,38, 0, 9, 19,32, 22, 8, 52,57, 22,85, 86,74, 76,59, + 29,46, 80,55, 85,49, 39,16, 0,37, 60,71, 80,21, 43,78, + 44,65, 71,48, 4,63, 41,72, 31,34, 74,14, 24,78, 2,32, + 67,89, 10,67, 17,81, 14, 2, 71,58, 68, 2, 87,24, 36,55, + 8,22, 71,46, 9,45, 4,82, 71, 2, 42,36, 85,66, 52,62, + 19,20, 78,45, 25,61, 37,72, 89,56, 52,37, 7,83, 86,71, + 44,37, 55,58, 15,45, 68,22, 3,55, 23,12, 63,12, 53,26, + 33,11, 62,68, 52,81, 74,17, 68,28, 5,76, 80,89, 53,50, + 74,41, 2,58, 81,64, 84,83, 64,34, 59,48, 27,27, 44, 6, + 27,77, 8,77, 87,86, 7,39, 47,35, 11,25, 27,67, 71,52, + 22,88, 2, 5, 16,18, 80,54, 23,30, 50,47, 4,28, 68, 5, + 52,29, 80,40, 56,10, 2, 3, 12,34, 87,38, 85,88, 3,39, + 22,23, 30,28, 65,31, 58, 4, 83,51, 40,56, 64,73, 68,11, + 66,58, 7,77, 53,19, 49,23, 49,61, 40, 9, 49, 9, 11,60, + 62,63, 83,39, 75, 3, 85,84, 38,79, 10,63, 46,41, 5, 5, + 22,79, 51,44, 77, 4, 19,33, 66,25, 84,53, 11,81, 27,68, + 62,35, 14,64, 65,33, 17,28, 45,56, 46,57, 38,32, 39,17 +}; +const int p_90_3[] = { + /// Number of people on picture + 90, + /// Number of preferences + 963, + /// Array of preferences + 62,71, 82,63, 28,31, 73,81, 5,86, 54,62, 33,86, 2, 5, + 42,59, 75, 0, 86,24, 43,62, 17,71, 79,51, 83,39, 65,24, + 37,80, 8,30, 63,84, 59,72, 13, 7, 54,73, 20,28, 73,72, + 20,62, 5,35, 18,87, 80,51, 21,25, 72,57, 61,49, 73,12, + 61,60, 79,52, 56,50, 39,63, 61,56, 82,57, 80,19, 79,64, + 32,51, 19,76, 23, 9, 56,21, 49,66, 3,59, 64,60, 81,63, + 43,80, 10, 9, 71,20, 78,15, 72,48, 60,24, 63,45, 34,43, + 17,12, 25,40, 40,18, 15, 4, 56,43, 4,80, 66,22, 37,39, + 45,28, 6, 0, 29,46, 37,36, 71,57, 77,78, 56,18, 77,60, + 12,32, 77,30, 15, 1, 27,67, 5,77, 69,22, 21,74, 41,49, + 39,51, 74,65, 50, 0, 29, 2, 77,33, 19,12, 39,57, 65,56, + 63,34, 52,47, 80,23, 20,80, 12,48, 34, 2, 71,54, 22,80, + 12,16, 52,50, 79,54, 14, 3, 52, 0, 89,80, 80,67, 13,17, + 36, 0, 64, 5, 0,64, 39,28, 85,79, 45,26, 11,60, 43,59, + 71,77, 57,65, 8,50, 21,27, 82,27, 13,37, 4,39, 73,68, + 79, 6, 80,57, 67,71, 42,73, 88,35, 32,78, 7,32, 73, 4, + 25,75, 67,75, 71,12, 73,39, 29,89, 69,57, 19,18, 8,23, + 9,57, 70,20, 68,51, 89,65, 82,15, 2,42, 57,51, 37,64, + 34,49, 27,65, 77,69, 88,61, 87,14, 20,77, 1,60, 87,63, + 39,13, 78,64, 44,23, 7,25, 62, 9, 19, 2, 27,56, 19,42, + 8,41, 10,62, 74,33, 88,20, 14,72, 25,39, 44,89, 32,38, + 5,11, 5, 5, 78,51, 87,11, 88, 4, 36,72, 0,39, 23,23, + 43,46, 23,84, 67,30, 18, 4, 5,82, 45,37, 75,63, 29, 4, + 61, 8, 62,35, 15,13, 89,73, 55,47, 32,63, 10,38, 37,15, + 1,83, 27,28, 67,16, 58,36, 16,15, 48,47, 7,28, 2, 2, + 26, 0, 49,24, 15,50, 13,26, 18,35, 53,55, 83,54, 74,74, + 68,42, 66,86, 20,45, 77,36, 10,35, 56,69, 21,39, 84,59, + 83,83, 44,20, 20,18, 74,17, 14,89, 88,74, 25,58, 17,61, + 64,66, 54,40, 19,65, 75,67, 62,40, 48,30, 13,57, 34,39, + 51,46, 35,42, 39,59, 46, 0, 88,45, 18,69, 46,14, 6,35, + 60,61, 85,14, 30,36, 88,72, 1,54, 8,58, 75,18, 42,36, + 36, 3, 33, 4, 80,60, 64,52, 75,24, 27, 8, 46,30, 55,20, + 34,84, 5,88, 16,77, 22,35, 31,18, 16,24, 33,67, 11,10, + 16,68, 64,39, 48, 1, 19,88, 84,43, 43,53, 7,88, 52, 5, + 86,49, 5,28, 57,80, 28,43, 25,34, 31,46, 46,80, 87,70, + 15,16, 63,49, 78,14, 32,17, 85,75, 63,52, 57,88, 11, 9, + 36,10, 58,77, 29,50, 13,39, 43,58, 30,64, 40,62, 10, 4, + 57,77, 33,32, 38,68, 36,36, 18,57, 81,37, 82,28, 55,82, + 6,33, 21,48, 71, 2, 69,29, 10,81, 7,49, 38, 6, 40,67, + 56,13, 12,88, 71,44, 11,83, 13,49, 64,29, 35,18, 65,89, + 2,15, 79, 8, 15,31, 30,19, 76,22, 22,62, 13,10, 71,51, + 15,77, 35, 4, 41,87, 41,65, 47,46, 28,70, 88,21, 2,26, + 23,37, 24,87, 6,74, 21,85, 6,43, 42,22, 27,44, 89, 9, + 38,73, 31,12, 63,48, 17,35, 27,73, 39,11, 27,30, 80,14, + 84,42, 63,21, 69,44, 89,57, 61,78, 50,49, 37,79, 32, 6, + 4,26, 19,86, 73,21, 35,69, 61,14, 35,29, 42,48, 80, 3, + 38,40, 38,50, 60,59, 66,23, 14,67, 60,13, 36,58, 46, 3, + 42, 7, 46,54, 47,26, 2,29, 48,60, 42,54, 56,49, 14,37, + 43, 9, 35,45, 48,87, 56,19, 71,19, 30,52, 14,65, 74,63, + 2,73, 65,38, 75,46, 65,71, 6,66, 84,28, 43,87, 42,21, + 77,79, 61,30, 76,85, 4,57, 22,84, 3,61, 67,47, 84,88, + 39,32, 72,88, 79,34, 32,66, 80,48, 73,37, 30,65, 20,55, + 88,79, 49,31, 14,26, 40,44, 30,80, 78,36, 83,43, 26, 2, + 32,53, 61,38, 70,59, 21,68, 53,26, 22,61, 63,42, 39,87, + 44,49, 67,86, 84,16, 68,59, 50,68, 27,75, 29,33, 87, 7, + 13,41, 86,59, 29,62, 22,78, 53,84, 23,34, 3,70, 76,25, + 68,84, 25,89, 29,66, 76,45, 7,11, 31,47, 54, 5, 3, 6, + 81,87, 12,58, 43,31, 74,64, 65,70, 39, 3, 74,16, 68,74, + 51,55, 19,29, 66,47, 74,23, 63,63, 14,59, 86,39, 81,51, + 87,37, 57,89, 22,28, 80,52, 45,35, 16,21, 13,66, 74, 0, + 3,28, 13,14, 41,28, 5,76, 34,59, 65,27, 47, 4, 50,52, + 60,77, 41,70, 9,60, 9, 1, 7,10, 83,24, 78,87, 86,17, + 0,16, 70, 8, 54,19, 7,22, 67,48, 26,36, 77,86, 31,14, + 79,19, 30,85, 72,85, 63,16, 78,66, 16,30, 38,47, 5,60, + 41,42, 47,41, 25,87, 17, 6, 9, 8, 64,57, 86,22, 80,42, + 75,28, 1,36, 36,19, 54,81, 81,75, 49,68, 68,28, 0,63, + 77,82, 64,71, 15,35, 9,12, 55, 5, 41, 7, 36,81, 87,42, + 22, 6, 11,19, 30,27, 80,49, 37,34, 71,81, 85,59, 76,66, + 20,58, 37,67, 61, 9, 54,13, 12,72, 5,68, 25,78, 42,66, + 44,13, 66,35, 66, 8, 25,63, 60,72, 76,60, 38,69, 50,38, + 18,37, 64, 9, 12,57, 50,25, 47,28, 9,30, 62,69, 53,43, + 50,18, 66,61, 78, 5, 59, 3, 72,39, 24,27, 86,54, 69,75, + 82,80, 44,77, 61,36, 3,69, 46,84, 59,75, 62,44, 8,71, + 78,61, 57,52, 52,44, 15,86, 24, 6, 44,40, 54,15, 73,36, + 28,12, 54,75, 55,80, 48,61, 30,40, 12,50, 26,27, 22,24, + 1,65, 88,48, 73,53, 89,74, 18,42, 13,22, 31,75, 17,31, + 32,23, 52,62, 45,31, 66,72, 18,26, 18,75, 46,29, 67,76, + 19,60, 68, 0, 6,76, 64,42, 44,79, 53,75, 15,36, 54,48, + 78,63, 82,40, 44,56, 87,45, 88,76, 55,28, 20,89, 89, 7, + 39,75, 75, 5, 11,69, 54,31, 63,32, 24,15, 21,63, 86,66, + 82,24, 33,35, 48, 5, 61,45, 42,31, 12,44, 58,29, 60,65, + 27, 0, 44,54, 76,84, 84,63, 71,33, 34,24, 53,60, 0,35, + 49,35, 18,33, 61,32, 80,71, 84,30, 24,69, 0,13, 40,29, + 53,16, 51,20, 5, 6, 75,83, 29,49, 45,54, 85,66, 50,87, + 19,45, 42,47, 47,14, 1,48, 61,43, 65,49, 58,55, 4,47, + 38, 9, 13,42, 64,64, 51,31, 30,18, 65,66, 81,36, 64,41, + 19,81, 84,20, 79,17, 83,40, 80,87, 41, 0, 28,48, 25,16, + 49,73, 63,10, 73,26, 66,55, 10,27, 47,74, 1,22, 79,11, + 75,52, 35,61, 73,67, 14,74, 63,82, 47,72, 88, 8, 80, 7, + 42,20, 9,40, 19,52, 23,60, 5,36, 59,53, 51,27, 8,45, + 33, 9, 30,61, 77,50, 51,36, 17,78, 15,46, 45,73, 58,25, + 82,76, 11,49, 33, 2, 8,77, 27,18, 3,38, 86,64, 49,67, + 20,75, 16,23, 30,33, 35,66, 86,14, 1,43, 26,13, 66,57, + 22,14, 18,52, 9,14, 6,26, 14,47, 88,12, 19,82, 36,45, + 48,27, 66,42, 36,47, 32,75, 68,75, 77,39, 66,54, 74,46, + 29,42, 40, 4, 37,84, 0,42, 34,36, 58,33, 75,13, 42,34, + 70,64, 26,69, 4, 8, 12,40, 16,62, 50,77, 64,58, 82,23, + 21,12, 4,59, 14,54, 17, 2, 2,33, 70,88, 30,57, 44,83, + 45,24, 21,10, 85,23, 3,84, 29,72, 56, 3, 66,80, 53, 0, + 3,18, 84,61, 56,84, 18,39, 20, 8, 68,62, 24,10, 25,33, + 21,26, 18,62, 44,11, 88,81, 37,37, 38,29, 2, 9, 42,35, + 62,32, 68,52, 31,11, 61,48, 55,77, 59,63, 29,16, 62, 7, + 87,85, 21,60, 47, 5, 10,11, 69,59, 77, 8, 35,53, 6, 3, + 57, 7, 48,57, 10,51, 33,46, 82,37, 31,67, 0, 9, 83,72, + 55,60, 44, 3, 85,74, 8,57, 27,38, 55,61, 46,47, 27,13, + 84,34, 16,48, 57,59, 43,15, 44,42, 14, 2, 14,35, 59,27, + 57,23, 30,84, 18,61, 75,20, 71,11, 13,54, 18,13, 4,29, + 79,23, 62,16, 43,76, 55,23, 42,38, 83,16, 72,58, 13,19, + 74,29, 16, 4, 65,17, 78,57, 9,43, 52,84, 33,29, 35,76, + 69,39, 57,67, 19,47, 4,46, 54, 1, 85,31, 72,79, 65,68, + 3,19, 32,54, 48,25, 42,78, 67,62, 82, 1, 78,20, 14,68, + 38,64, 31,34, 66,16, 9,41, 18, 6, 69,55, 42,61, 10,33, + 39,70, 44,38, 16,36, 20,25, 57,32, 35,37, 36, 2, 0,22, + 48,33, 87,73, 18, 5, 40,82, 45,45, 55,78, 10,21, 63,23, + 45,30, 0,23, 27,80, 80,30, 7,19, 68,83, 81,28, 3,50, + 42,10, 65,81, 48,28, 30,11, 1,32, 0,49, 40,22, 76,56, + 39,65, 28,26, 31,29, 10,67, 79,10, 4,33, 55,49, 13, 4, + 8,61, 9,35, 54,34, 49,26, 52,85, 18,29, 73,89, 74,32, + 50,12, 39,31, 11,59, 8,42, 52,78, 40,32, 58,45, 67,28, + 78,75, 56,36, 48, 7, 67,73, 21,80, 37,33, 51,71, 60, 6, + 42, 2, 86,53, 16,46 +}; +const int p_90_4[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1549, + /// Array of preferences + 55, 7, 67,82, 18,59, 8,44, 26,17, 14,20, 5,81, 71,71, + 3,85, 83,32, 27,68, 63,70, 74,87, 12,10, 1,11, 10, 1, + 48,12, 79,40, 43,41, 5,38, 61,75, 87,43, 81,79, 28,11, + 77,38, 12,45, 27,25, 50,24, 67,27, 26,89, 58,52, 69,81, + 50,79, 70,89, 50, 4, 7,65, 25, 9, 31,15, 23,32, 79,84, + 56, 8, 3,81, 48,17, 25, 5, 58, 6, 0,18, 35,60, 78,36, + 33,56, 23,67, 5,37, 60,80, 72,64, 74,69, 61,68, 8, 3, + 76,71, 23,64, 76,78, 52,74, 77, 0, 25,44, 10,42, 29,12, + 40,18, 80,47, 69,17, 37, 9, 1, 8, 78,67, 5,43, 2,23, + 77,11, 21,64, 82,26, 53,64, 28,36, 46,54, 42,88, 54,47, + 18,66, 50,70, 6,72, 71,67, 68,83, 56,72, 15,70, 6,89, + 2,54, 52,76, 41,81, 68, 6, 80,15, 84,65, 43, 5, 35,24, + 23,40, 45,39, 67,54, 71,11, 76,55, 43, 8, 51,35, 87,17, + 16,79, 72,57, 29,86, 28,71, 58,82, 71,55, 70,13, 54, 0, + 13,61, 72,80, 60,41, 88, 9, 24, 2, 50,30, 30,36, 50,81, + 67,24, 52, 1, 52, 2, 65,15, 6,30, 84,88, 45, 7, 56,47, + 16,15, 71,40, 60,71, 4,78, 67,69, 9,45, 79,88, 16,62, + 34,25, 80,31, 42,30, 56, 2, 68,89, 24,68, 17, 9, 63,38, + 18, 6, 52,81, 21,15, 80,49, 34,52, 40, 5, 9,59, 14,38, + 8,54, 58,68, 76,63, 29,74, 13,32, 30,27, 83, 5, 42,63, + 3,32, 81,67, 64, 8, 0,20, 88,34, 71,82, 11,65, 49, 8, + 75,85, 39,84, 78,40, 61,89, 2,53, 56,52, 10, 6, 49, 0, + 51,51, 36,22, 73,51, 86,69, 58,85, 58,14, 76,66, 58,60, + 32,45, 9,39, 84,10, 48,75, 87,84, 32,24, 39,86, 66,43, + 13,27, 29,41, 79,62, 51,86, 16,55, 70,82, 4,13, 69,56, + 13, 2, 34,83, 55,22, 81,45, 69,11, 44,21, 58,45, 72,85, + 17,55, 77,74, 40,24, 34, 2, 61,44, 20,65, 25, 1, 78,43, + 57,83, 80,60, 62,86, 17,54, 11,64, 28,41, 65, 8, 8,48, + 89,12, 31,36, 63,41, 6, 1, 27,73, 1,50, 46,33, 49,89, + 78,77, 88, 5, 62,31, 27, 4, 26, 4, 3,23, 74,68, 20,50, + 22,89, 45,57, 33,63, 38,70, 70, 6, 44,33, 86,12, 81,14, + 61,50, 47,48, 10,61, 51, 9, 74,41, 71,87, 40,42, 16, 9, + 49,49, 87,49, 45,74, 65, 1, 3,18, 47,32, 5, 5, 67,31, + 74,70, 48,72, 26,48, 89,30, 87,68, 86,49, 63,73, 13,40, + 0,69, 25, 0, 60,63, 0,68, 21,61, 58,67, 35,84, 89,76, + 1,84, 71, 1, 4,58, 33,88, 50,53, 33,86, 45, 3, 32,19, + 87,15, 45, 5, 86,89, 28,37, 35,75, 69,77, 39,63, 87,27, + 7,53, 12, 0, 86,46, 14,35, 67,72, 88,46, 59,89, 10, 5, + 0,81, 36,49, 46,22, 68, 8, 9,68, 12,14, 77,55, 46,69, + 7,42, 35,17, 81,82, 3,87, 24,48, 52,44, 62,48, 71,33, + 22,17, 52,50, 86,19, 58,35, 46,66, 65,86, 30, 3, 59,23, + 82,67, 68,53, 69,63, 85,86, 21,52, 15,69, 79,76, 54,42, + 44,46, 14,58, 32,60, 73, 5, 49,32, 38,58, 9,21, 69, 9, + 69,23, 72,42, 18,54, 25,53, 83, 3, 10,79, 20,79, 12,84, + 77,71, 89,73, 64, 3, 81,86, 2,78, 86,40, 66,79, 79,14, + 41,53, 66,44, 66, 4, 65,18, 0,80, 9,46, 68,46, 45,19, + 4,34, 7,81, 37,45, 14,36, 34,39, 62,10, 42,47, 86,39, + 40,79, 65,13, 10,50, 46, 5, 83,45, 15,41, 56,35, 1,85, + 31, 8, 87,78, 20,49, 11,23, 61, 6, 18,15, 43,68, 8,41, + 25,70, 3,65, 76,34, 82,30, 7, 3, 22,62, 64,73, 61,72, + 81,27, 42,25, 40,15, 53,22, 77,64, 10,85, 58,19, 69,46, + 61, 8, 89,37, 59,30, 80, 8, 75,67, 50,85, 85,42, 26,12, + 78,57, 75,87, 4,82, 55,57, 11,81, 23,42, 61,23, 53,16, + 13, 0, 38,24, 10,66, 56,20, 71,45, 69,41, 60,39, 58,40, + 43,27, 33,34, 25,43, 68,12, 81,44, 26,65, 32,71, 16,13, + 5,61, 81,41, 79,59, 10,20, 43,20, 60,29, 69,33, 20,67, + 49,20, 77,22, 16,70, 86,30, 88,44, 12, 2, 35,28, 35,85, + 62,38, 37,89, 27,22, 80,69, 26,20, 19,86, 37,83, 89,47, + 37,24, 24,63, 63,84, 84,61, 15,42, 13,86, 55,71, 26,61, + 0,21, 82,66, 13,89, 87,26, 40,63, 13,82, 34,17, 29,69, + 65,70, 55,33, 31,41, 56,33, 43,18, 20,59, 14,89, 14,76, + 59,13, 9,30, 34,20, 65, 9, 43,82, 15,31, 71,23, 33,24, + 32,61, 72,53, 65,66, 21,46, 31,32, 55,17, 55,37, 0,14, + 37,18, 44,47, 71,62, 73,80, 6,88, 2,14, 53, 8, 87,53, + 10, 7, 76,61, 14,26, 57,35, 64,32, 70,50, 52,43, 72,30, + 64,74, 64,15, 21,14, 8,61, 87,19, 47,27, 62,21, 46,35, + 43,45, 19,87, 8,29, 32,55, 24,34, 72,29, 70,78, 15,34, + 63, 9, 14,19, 46,64, 84,19, 2,87, 79,60, 77,83, 3,15, + 87,70, 26,33, 78,41, 70,80, 32,65, 3,27, 46,42, 71,69, + 42,11, 74,21, 9,52, 16,75, 64,75, 14,70, 72,38, 63,16, + 1,31, 14,68, 64,31, 10,68, 29,81, 19,72, 1,43, 14,24, + 32,73, 51,11, 47,73, 62,51, 53,53, 36,16, 68,59, 41,61, + 36,61, 75, 7, 51,33, 40,57, 37,25, 43,51, 4,36, 59, 0, + 62,77, 29,61, 85, 8, 3,61, 10,25, 11,89, 34,57, 77,26, + 64,85, 13,54, 58,86, 13,66, 6,40, 71,49, 42,72, 71,61, + 51,26, 34,70, 48,65, 40,74, 57,63, 83,51, 30,63, 56,29, + 56,84, 46, 7, 76,83, 46, 6, 18, 0, 81,26, 51, 7, 55,32, + 58,70, 52,10, 75,38, 27, 3, 58, 2, 2,10, 80,26, 12,42, + 27,83, 74,66, 65,19, 27,31, 30,18, 47,21, 67, 8, 5,64, + 54,22, 48,59, 12,29, 68,60, 45, 2, 50,32, 42,65, 78,15, + 29,76, 71,12, 35,22, 15,17, 78,48, 11,54, 49,64, 5,24, + 36,84, 65,54, 51,28, 36,17, 82,23, 22, 7, 70,53, 47,80, + 65,30, 74,62, 68,45, 87,10, 40,68, 46, 4, 74,32, 77,81, + 54,63, 28, 6, 68,54, 80,17, 78,74, 66,27, 52,14, 20,72, + 33,20, 21,45, 55,23, 11,57, 78,17, 43, 6, 89,34, 70,61, + 4,69, 67,56, 56,50, 4,30, 38,20, 21,19, 38,89, 70,23, + 51,39, 16,17, 28,43, 82,41, 36,60, 79,44, 44,25, 82, 1, + 68, 0, 22, 9, 43,43, 77,48, 14,50, 63,18, 11,47, 25,23, + 54,14, 35,14, 55,39, 74,89, 19,26, 81,70, 79,66, 69,52, + 62,40, 81,16, 73,55, 40, 6, 44,58, 64,38, 27,12, 22,19, + 27, 6, 86,51, 77,63, 54,13, 34,72, 84,13, 64,27, 63,25, + 25,33, 66,30, 28,55, 4,73, 43, 7, 87,13, 52,29, 22,48, + 34,43, 32,46, 27, 2, 14,30, 12,43, 75,35, 2,45, 37,11, + 47,36, 23,34, 82,33, 89,87, 28,50, 70,60, 89, 7, 48,28, + 8,67, 27,75, 83,61, 36,20, 72,32, 17,74, 83,40, 11,86, + 56,82, 32,80, 5,87, 39,79, 58,83, 49,21, 26,57, 43,53, + 77,24, 57,43, 73,57, 38,65, 72,68, 83,72, 25,57, 88,70, + 8,18, 34, 1, 20, 3, 33,85, 68,16, 17,52, 6, 2, 65, 6, + 11,50, 52,24, 55,45, 59, 7, 63,32, 79,20, 87,40, 36,42, + 73,74, 48,33, 23,89, 34,14, 25,66, 1, 4, 59,74, 57, 5, + 88,25, 22,29, 71,51, 49,69, 78, 8, 67,23, 87,82, 84,17, + 7,85, 46,76, 49,48, 27, 5, 46,31, 52,22, 82,47, 89,11, + 17,39, 68,50, 58, 4, 12,81, 14,55, 31, 2, 44,71, 46,43, + 57,28, 80,84, 68,82, 60,21, 0,83, 6,33, 25,52, 27,54, + 49,56, 34, 5, 87,60, 12,41, 30,85, 69,21, 65,40, 37,86, + 61,59, 36,80, 89,20, 88,56, 19,65, 65,14, 69,76, 89,43, + 85,30, 70,19, 32,53, 47,47, 33,40, 76,76, 31,63, 84,78, + 8,89, 60,27, 28,17, 13,71, 73,65, 29,27, 86,13, 3,72, + 86,43, 47,30, 25,54, 74,45, 14,15, 8, 9, 64,45, 89,26, + 15, 9, 67,50, 78,37, 38,12, 32,38, 46,37, 15,13, 43,63, + 7, 6, 4,59, 32,88, 40, 8, 50,28, 26,28, 80,85, 11,67, + 41,86, 7, 4, 48,77, 89,27, 13, 4, 14,67, 81,40, 73,60, + 16,51, 66,41, 23,12, 69,79, 16,14, 27,40, 30,76, 15,39, + 84,36, 61,29, 17,18, 33, 5, 40,62, 84,66, 28,77, 83,57, + 36,64, 67,60, 34,29, 18,24, 19,12, 33,42, 33,30, 54,26, + 77,42, 50,46, 47,86, 62,55, 38, 0, 82,18, 62,64, 21,40, + 44,43, 38,44, 59,29, 2,19, 59,26, 7,74, 50,14, 55,73, + 41, 8, 46,45, 30,40, 6,47, 20, 9, 9,28, 5,65, 17,69, + 42,45, 41,67, 4,83, 15,32, 23,13, 12,64, 78, 3, 45,21, + 6,27, 75,45, 16,36, 57,64, 38,57, 62,13, 63,66, 76, 1, + 4,27, 64,89, 68,56, 40, 1, 18,25, 62,50, 58,53, 34,40, + 59,38, 1, 3, 13,46, 60,73, 72,24, 74, 5, 78,24, 83, 7, + 20,87, 66,51, 14,61, 10, 2, 82,32, 84,37, 35,19, 33,80, + 46,34, 55,83, 50,23, 41,49, 81,87, 28,66, 65,39, 61,52, + 88,26, 72,14, 64,76, 28,49, 31,43, 86,57, 25,17, 73,27, + 49, 3, 3,89, 7,83, 37,47, 25,59, 19,42, 88, 6, 70,12, + 18,39, 71,21, 79,68, 62,29, 53,73, 58,47, 2,84, 12,68, + 41, 3, 87,88, 65,22, 47, 0, 44,35, 1,18, 33,49, 3,82, + 12,49, 82,58, 2,81, 30,67, 5,83, 85,62, 32,47, 53, 3, + 36,27, 63,17, 40,45, 11,78, 36,78, 67,48, 70,75, 86,33, + 63,86, 20,47, 55,43, 50,86, 61,34, 60,43, 44,23, 22,86, + 66,12, 86,45, 27,86, 71,80, 39,77, 59,42, 65,59, 69,44, + 46,86, 62, 0, 27,57, 78,23, 51,19, 0,35, 2, 0, 1,53, + 51,76, 87,61, 74,33, 65,44, 42,17, 62,87, 3,37, 22,57, + 80, 4, 46,49, 71,64, 19,48, 53,46, 17,81, 68,67, 57,44, + 18,60, 40,33, 81,61, 9,60, 85,53, 28,51, 40,78, 36, 9, + 86,59, 0, 1, 7, 8, 71,56, 67,11, 83,26, 58,72, 79,37, + 82, 5, 11,29, 34,74, 51,73, 85,79, 7,59, 60,82, 52,19, + 51,72, 38,60, 45,16, 54, 2, 45,17, 59,58, 84,20, 39,27, + 30, 4, 81,25, 72,58, 20,30, 53,82, 20,55, 79,15, 65,27, + 88,59, 49,76, 8,20, 15,21, 52,36, 24,59, 66,42, 33,60, + 84,16, 76,73, 59,88, 32,54, 75,39, 83,17, 80,64, 55,49, + 49,46, 32,42, 43,44, 55,41, 54,20, 60,65, 23,25, 37,43, + 70,46, 74,55, 75,50, 63,26, 77, 2, 55,24, 81,84, 9,86, + 88,36, 67,26, 54,77, 26,35, 59,84, 63,24, 38,46, 19,89, + 63,62, 70, 1, 67,71, 41,64, 55,84, 38,59, 82,36, 10,49, + 60,11, 55,60, 51,48, 0,25, 12,89, 85,84, 0,36, 56,68, + 86,53, 8,69, 16,82, 3,70, 21,18, 70,55, 12, 3, 16,46, + 7,35, 86,58, 4,32, 35,11, 27,17, 30,84, 34, 9, 19,16, + 23,14, 52,57, 22,61, 50,48, 81,55, 52,70, 77, 5, 60,74, + 86,26, 14,64, 50,50, 60,47, 39, 3, 22,34, 49,59, 10,60, + 72,39, 74,29, 58,77, 38,33, 28,24, 83, 6, 40,52, 10,74, + 24,86, 12,17, 45,47, 44,83, 37,27, 77,88, 83,27, 87,72, + 55,19, 45,31, 16,80, 61,48, 17,89, 47,45, 32,15, 58, 8, + 4,25, 78,63, 52,34, 41,45, 10,31, 0,52, 23,84, 35,32, + 49,19, 66,31, 89,28, 25,55, 80,80, 78,64, 24,32, 1,48, + 32,14, 33,15, 61, 0, 28,14, 72,55, 14,81, 60,77, 60, 1, + 51,62, 10,72, 7,45, 49,87, 54,25, 16,11, 87, 2, 4,63, + 49, 4, 5,51, 57,17, 26,42, 55, 3, 34,23, 36, 3, 42,52, + 8,10, 14, 9, 64,28, 9, 3, 60,60, 69,85, 67,89, 63,88, + 16,63, 86, 4, 1, 1, 86,42, 0,56, 45,13, 18,41, 63,52, + 17,33, 0, 7, 7,62, 49,80, 57,65, 87,37, 12,33, 17,12, + 84,28, 17,40, 53,68, 17,15, 34,82, 74,53, 12,80, 79, 7, + 27,11, 75,15, 47, 4, 30,54, 85,40, 64,77, 23,50, 20,51, + 21,67, 36,29, 79,69, 0,57, 28,30, 34,68, 71,88, 82,59, + 58,17, 21,38, 81,15, 38, 3, 32,56, 14,69, 45,83, 52,56, + 72,59, 14,53, 54, 8, 44, 1, 89,59, 18,44, 0,58, 88,14, + 73,38, 85,83, 15,55, 23,71, 9,84, 11,21, 3,14, 53,62, + 80,41, 33,41, 11,77, 9,33, 67,79, 55,12, 7,76, 42,44, + 50,18, 13,70, 3,77, 73,34, 5,62, 63,79, 46,11, 87, 6, + 38,51, 65,56, 15,16, 65,24, 53,15, 50,80, 3,78, 61,46, + 14,63, 65,83, 64,35, 60,55, 25, 4, 79,24, 36,21, 43,39, + 11,14, 44,52, 39,33, 53,44, 79,11, 39,31, 78,16, 22,56, + 41,74, 69,12, 54, 7, 66,13, 44,80, 40,43, 85,24, 56, 1, + 75,18, 41,58, 22,11, 52,35, 79,56, 5,18, 76,72, 48,87, + 89,24, 80,56, 48,22, 8,88, 89,67, 45,40, 26,75, 59,36, + 23,11, 81,28, 32,12, 88,41, 25,45, 16,64, 9,34, 4,28, + 84,72, 59,19, 23,22, 73,29, 51,31, 54,66, 87,25, 55,66, + 28,20, 79,85, 5,82, 60,58, 13,76, 80,48, 25,25, 75,47, + 18,53, 60, 7, 80,79, 21,74, 21,30, 1,10, 16,31, 29,87, + 2,86, 11,39, 10,69, 4,39, 45,49, 57,62, 86, 9, 17,77, + 40,67, 42, 6, 79,63, 23, 5, 4,40, 54,62, 64, 4, 16,60, + 39,22, 89,25, 30,11, 70,30, 70,86, 34,10, 26,76, 61,36, + 83,77, 9,36, 5,80, 23, 9, 9,13, 58,64, 84,70, 39,64, + 36,85, 47,46, 75,70, 78,73, 37,49, 48,61, 73,59, 79,13, + 77,79, 17,85, 28,84, 55,55, 77,65, 72,35, 18,50, 1,19, + 39,24, 88,19, 11,87, 67,47, 85,45, 22,33, 46,39, 82,73, + 88,71, 47,35, 41,19, 10,34, 12,39, 85,67, 53,70, 80,86, + 33,22, 85,13, 67,46, 33,44, 28, 1, 38,16, 79,61, 83,87, + 12, 1, 82,38, 8,46, 89,48, 9,73, 31,52, 66,52, 56,51, + 4,77, 77,39, 50,33, 2,37, 43,40, 70,34, 44,74, 15,35, + 38,83, 53,57, 46,88, 50,58, 16,48, 34,47, 87, 1, 22,85, + 33,84, 82,65, 28,54, 27,81, 7,13, 78,29, 9,78, 73,37, + 76,13, 40,48, 61, 5, 80,10, 8,26 +}; +const int p_90_5[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1063, + /// Array of preferences + 6,73, 4, 6, 55,69, 53,10, 0,36, 66,59, 52, 8, 1,22, + 21,37, 33,48, 81, 7, 67,54, 36,48, 63,73, 57,58, 89,53, + 69,52, 43,22, 35,32, 5,35, 24,56, 51,21, 84,56, 1,12, + 51,74, 68,22, 28,13, 8,17, 72,61, 21,12, 52,56, 36,79, + 77,65, 52, 4, 79,61, 12,17, 83,70, 24,78, 25,60, 3,28, + 11,83, 76,29, 88,52, 46,46, 86,68, 47,78, 35,46, 72,70, + 85,53, 34, 3, 24,72, 86,59, 31,61, 8,70, 26,38, 35,76, + 56,63, 26,37, 24,48, 43,37, 62,10, 27,86, 15,61, 19,48, + 22,53, 30,21, 20,21, 87,53, 30,74, 35,69, 84,73, 68,89, + 81, 8, 11,88, 53,41, 61,57, 63, 2, 22,83, 18,57, 72,20, + 81,57, 85,46, 74,53, 60,44, 45,82, 75,44, 6,18, 80,48, + 21,66, 11, 5, 35,13, 64,43, 21,24, 60,84, 0,61, 28,73, + 9,31, 54,63, 42,80, 36,58, 4,17, 79,14, 4,13, 24,82, + 71,81, 29,63, 43, 9, 5,36, 20, 8, 4,53, 69,72, 14,50, + 58,78, 42,49, 37,66, 30, 1, 39,12, 42,52, 60,56, 78,17, + 23,34, 39,62, 68, 2, 37,44, 89, 5, 88,84, 10,78, 71,44, + 47,88, 42,33, 43,20, 79,60, 56,40, 86, 5, 45, 0, 13,69, + 76, 0, 58,10, 14, 3, 73,64, 17,82, 21,58, 8,74, 22,78, + 86,27, 53,38, 36,60, 62,74, 77,51, 45,59, 40,22, 18,47, + 40,19, 76,12, 51,84, 57,70, 78,48, 84,30, 36, 4, 79,34, + 66,56, 27,51, 88,65, 10,84, 12,70, 37,31, 48,27, 36,16, + 60,60, 3,72, 38,31, 70,66, 30,82, 4,42, 37,67, 46, 4, + 29,38, 65,68, 55,50, 59,79, 56,76, 61, 4, 52,28, 72,14, + 24,23, 42, 3, 81, 4, 58,18, 18, 5, 61,74, 74,57, 50,87, + 46,84, 68,18, 0,15, 30,62, 57,47, 60,78, 20,23, 43,66, + 56,83, 64, 9, 7, 8, 65,46, 13,32, 61,48, 8, 1, 64, 4, + 53, 5, 59,17, 34,86, 11,77, 20,56, 70,29, 51,68, 26,39, + 63,35, 34,23, 33,61, 41,23, 19,31, 42, 8, 24,68, 78,52, + 41,27, 31, 2, 64,64, 1,81, 54,54, 20,77, 61,39, 20,65, + 49,82, 28,79, 70,39, 55,31, 7,85, 53,25, 26,18, 75,89, + 31, 4, 52,85, 89,31, 41,70, 9, 7, 78, 2, 82,64, 4,71, + 82, 6, 26,25, 27,44, 82,44, 40,26, 58,27, 16,28, 18,70, + 48,68, 2,88, 36,25, 35,71, 88,15, 12,67, 39,47, 8,46, + 49, 8, 1,45, 9,49, 0,34, 71,40, 72, 8, 72,10, 82,86, + 83,35, 29,73, 68,14, 15,33, 2,41, 54,12, 26, 9, 27, 9, + 1,60, 6,80, 58,68, 37,47, 61,15, 39,71, 24,47, 24,53, + 62,20, 54,34, 2,68, 58, 2, 31,47, 35,27, 61,68, 29,78, + 17,31, 61, 6, 17,62, 49,36, 36,54, 60,18, 76,14, 1,65, + 5,72, 44,65, 56,26, 74,50, 44,10, 44,78, 2,25, 59,56, + 44,45, 81,83, 44, 5, 57,34, 13,61, 22,61, 34,62, 45,51, + 13,21, 1,40, 61,56, 22,11, 77,80, 33,82, 51, 7, 28,66, + 77,18, 76,50, 77, 6, 6, 6, 44, 2, 88,49, 29,79, 30,47, + 34,51, 58,42, 2, 5, 11,57, 86,41, 1,32, 62,11, 80,69, + 41,22, 2,57, 15,27, 22,70, 45,32, 77,64, 56,23, 34,25, + 13,76, 42,76, 61,26, 76,64, 46, 9, 84,20, 57,64, 68,74, + 21,35, 4, 5, 42,70, 64,30, 49,62, 57,88, 82,12, 86,51, + 29,21, 48,81, 54,68, 6,39, 4,35, 61,34, 56,62, 6,60, + 57,49, 0,25, 42,61, 45,74, 38,56, 13,34, 32, 1, 57,40, + 37,73, 42,38, 25,30, 41,79, 5,73, 43,79, 75,45, 31,20, + 10,52, 78,10, 24, 7, 37,74, 66,54, 16,65, 83,30, 60,33, + 5,75, 5,54, 31,62, 78,25, 14,62, 66,16, 79,26, 61,89, + 14,54, 78,86, 31,65, 4,46, 18,34, 9,80, 73,66, 44,57, + 60,51, 69, 4, 7,12, 15,17, 30,71, 60,77, 21,22, 77,62, + 47, 9, 73,59, 43,12, 51,30, 21,69, 19, 3, 7,27, 75,84, + 18,42, 18,86, 85, 1, 85,54, 75,63, 26,46, 82,67, 63,47, + 0,83, 57,50, 72,26, 27,68, 39,53, 6,50, 4,55, 4,33, + 41,10, 50, 0, 72,60, 3,83, 67,56, 76,32, 2,58, 32,62, + 24,31, 15,35, 69,10, 49,33, 66,70, 65,79, 33,75, 27,87, + 9,89, 4,88, 77,60, 50, 6, 46,41, 48,43, 57, 6, 77,74, + 79,31, 26,34, 80,66, 8,26, 15,51, 36,82, 20,15, 36,14, + 4,74, 41,42, 77,61, 81,37, 24,29, 60,28, 18,52, 18,35, + 41,57, 74,20, 0,86, 30,45, 80,81, 70, 7, 12,52, 27,58, + 24, 8, 54,77, 54,55, 82,62, 64,25, 53,50, 37,36, 35,81, + 25,24, 9,64, 81,48, 28,33, 13,67, 64,68, 50,82, 78,21, + 8,85, 35,74, 79,12, 66,68, 87,80, 17,35, 86,72, 24,46, + 36,88, 41,81, 87,32, 12,81, 57,16, 5,82, 50, 5, 32,38, + 30,49, 55,32, 70,35, 22,43, 0,77, 35,42, 67,61, 11,86, + 14,57, 32,69, 41,19, 80,88, 45,62, 46,77, 74,89, 26,28, + 19,59, 58,21, 77,13, 54,33, 33,73, 4,58, 53,45, 31, 5, + 0,73, 86,29, 31,58, 80,74, 61,87, 40,59, 29,56, 77,21, + 85,61, 79,42, 72, 0, 11,24, 39,50, 33,45, 48,36, 58, 6, + 37, 2, 69,20, 5,13, 6,49, 51, 5, 58,79, 14,87, 35,58, + 74,33, 16,29, 40,58, 26,85, 73,20, 82,40, 24,87, 64,10, + 58,25, 17,29, 34,42, 47,33, 30,34, 55,27, 74,68, 15,79, + 68,73, 77,40, 27,67, 71,85, 87,63, 82,51, 2,26, 37,28, + 42,17, 47,74, 71,54, 18,64, 13,52, 34,18, 19,88, 16,38, + 31,49, 59,65, 40,75, 10,89, 37,88, 43,58, 23,85, 34,28, + 58, 3, 73, 2, 68,10, 52,50, 65,75, 6,87, 74,30, 79,40, + 22,72, 16,16, 67,72, 80,65, 0,40, 37,58, 5,32, 77,27, + 8,18, 23,89, 4,30, 36,12, 2,52, 65,40, 77,72, 22,15, + 13, 2, 86,47, 75,18, 82,47, 63,79, 68,57, 68,64, 54,84, + 82,52, 67, 9, 38,20, 1, 7, 58,29, 85,33, 62,17, 88,74, + 48,49, 41,87, 55,10, 11,81, 68,25, 23,28, 72,69, 83,16, + 85, 2, 88,50, 68,49, 51,32, 44,21, 12,20, 25, 9, 27,55, + 0, 8, 65,72, 88, 9, 30,16, 33, 7, 70,51, 4,23, 30, 9, + 21,73, 63,22, 10,25, 22,62, 17,19, 30,58, 76,37, 30,24, + 24,22, 44,76, 76,40, 29,22, 13,53, 50,57, 46,69, 43,31, + 26,61, 53,22, 7,15, 70,55, 66,64, 88,27, 43,41, 25,36, + 19,15, 36,38, 14,81, 48,35, 48,66, 67, 2, 49,21, 67,46, + 6,58, 73,43, 44,39, 56,15, 75,41, 50,12, 43,21, 84,10, + 77,86, 40,40, 63,16, 16,17, 19,18, 11,42, 31,14, 60,10, + 25,81, 29,89, 7,19, 50, 3, 3,84, 78,76, 86,65, 1,51, + 21,34, 23,88, 5, 8, 52,58, 75,51, 14,11, 73,19, 32,12, + 51,59, 85,76, 82,55, 49,60, 14,67, 4,60, 61, 7, 87,19, + 36,89, 41,88, 62,71, 66,36, 5,26, 25,75, 64,77, 56,86, + 23, 8, 79,10, 89,54, 52,36, 32,87, 27,62, 12,22, 57,62, + 10,49, 81,18, 61,88, 3,53, 45, 4, 83,59, 38,43, 8,32, + 53,61, 3,10, 59,14, 44,53, 16,25, 9,75, 89,30, 13,60, + 55,11, 4, 2, 2,86, 7,78, 74,87, 31,60, 51,76, 30,29, + 39,84, 0,53, 86,69, 59,87, 38,44, 21,63, 1,37, 3,85, + 2,18, 19,13, 10,42, 43,59, 68,47, 55,54, 9, 9, 48,87, + 61,20, 48,34, 85,40, 3,35, 80,22, 70,34, 48,53, 23, 0, + 6,46, 70,47, 20,66, 13,80, 56,68, 88,71, 82,36, 14,10, + 16,69, 22,52, 54,59, 72,84, 88,86, 57, 5, 72,49, 44,61, + 46,85, 20,84, 40,23, 20,50, 32,46, 15,49, 83,27, 35, 4, + 7,29, 79,67, 83,47, 62,38, 39, 5, 85,24, 12,85, 8,22, + 84, 0, 38,36, 74,38, 41,76, 70,85, 59,55, 71,30, 19,22, + 66,82, 27, 0, 0,64, 8,77, 43,89, 77, 0, 44,42, 39,21, + 18,49, 45,38, 50,30, 16,60, 42,35, 5,80, 39, 4, 69,66, + 80,36, 85,84, 2,42, 49,84, 59,88, 84,21, 59,24, 38,40, + 57,53, 30,15, 20,29, 60, 3, 88,11, 1,80, 87,20, 15,36, + 33,23, 23,77, 17,56, 6,37, 11, 9, 32,54, 5,45, 70,14, + 24,41, 33,10, 24,84, 69,48, 68, 9, 14,58, 1,64, 73,11, + 16,89, 87,16, 86,62, 60,49, 63, 8, 13,35, 9, 3, 4,64, + 28,69, 51,75, 77,37, 55, 1, 0,80, 66,61, 12,61, 4,39, + 40,73, 85,42, 73,26, 47,48, 33,60, 28,38, 52, 7, 23,68, + 32,29, 43,54, 66,75, 76,56, 8,76, 67, 6, 69,37, 6,71, + 24,64, 77, 1, 40,85, 84,89, 44,47, 62,81, 68,84, 50,27, + 38,51, 81,33, 44,20, 60,66, 67, 5, 31,44, 66,45, 35,43, + 84,59, 46,65, 67,47, 78,84, 54,35, 48, 3, 51,18, 18, 3, + 16, 8, 21,87, 49,85, 20,25, 33,50, 34,33, 19,37, 65,56, + 8,84, 73,16, 62,37, 1,49, 11,85, 5,20, 48,12, 40, 7, + 60,63, 0,49, 89,57, 80,19, 29,44, 11, 6, 75,43, 17,86, + 21, 7, 21,33, 81,23, 73,82, 27,47, 6,32, 34,71, 21,47, + 27,10, 46,48, 59,59, 60,61, 49,18, 61, 9, 80,37, 21,11, + 1,62, 9,76, 25,72, 66,25, 4,68, 2,10, 19, 8, 29,10, + 88,63, 49,87, 2,44, 29,32, 34,58, 89,70, 37, 7, 81,69, + 20,81, 74,60, 64,45, 38,24, 60,54, 11,15, 15,56, 15,44, + 36,75, 83,48, 72,46, 71,33, 59,57, 39,74, 82,31, 82,81, + 23,67, 16,21, 10,51, 9,34, 14,68, 40,68, 30,75, 14,46, + 64, 3, 66, 9, 53,13, 62,53, 64,32, 58,46, 20,36, 60,53, + 62,57, 42,20, 27, 2, 88,81, 25,33, 52,15, 85, 7, 8,89, + 66, 0, 16,73, 78,58, 11,60, 72,47, 65, 0, 66,14 +}; +const int p_90_6[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1613, + /// Array of preferences + 87,77, 7,33, 45,18, 20,76, 51,71, 1,81, 7,35, 14,83, + 59,65, 81,24, 83,57, 32,58, 25,23, 27,59, 67,34, 38,62, + 21,20, 55,26, 68,10, 7,29, 30,15, 40,56, 49,61, 64,18, + 60,88, 88, 2, 72,44, 42,20, 23,52, 68, 8, 87,56, 73,33, + 55,33, 78,89, 80,70, 65,31, 52,84, 87,24, 70,18, 75,65, + 66,11, 38,19, 76,50, 80,39, 33,47, 30,46, 53,48, 29,33, + 36, 1, 65,86, 60,44, 2, 9, 86,87, 17,61, 54,48, 74, 7, + 0,62, 88,47, 13,77, 22,21, 16,81, 31,78, 46,80, 41,71, + 38,72, 25,25, 23,72, 22, 2, 42,13, 11,65, 36,30, 21,50, + 14,49, 27,63, 10,31, 81,62, 56,34, 24, 5, 81,45, 48,78, + 75, 9, 51,38, 5,52, 2,88, 78,10, 85,79, 5,71, 18,18, + 29, 1, 51,41, 82,64, 75,33, 3,81, 82,33, 62,41, 7,47, + 28,74, 63,78, 70,87, 25,49, 86,13, 46,40, 53,62, 27,82, + 59,45, 23,67, 56,29, 39,25, 3, 1, 50,71, 47,13, 23,41, + 60,10, 49,78, 1,25, 51,21, 13,51, 36,37, 28,25, 71,37, + 49, 5, 11, 2, 7,43, 18,15, 70,40, 45, 2, 5,45, 61, 2, + 55,17, 70,37, 32,83, 24,20, 56,67, 0, 1, 52,28, 29,12, + 58,87, 48,23, 34,48, 41,25, 45,73, 25,78, 34,47, 74,26, + 81,51, 51,55, 23, 7, 81,67, 35,12, 70, 7, 75,63, 17,54, + 45,65, 84,86, 86,73, 21,10, 10,47, 76,75, 73,52, 84,36, + 25,39, 42,26, 70,44, 34,53, 66,82, 75,79, 4,86, 72,49, + 19,22, 74,85, 69,77, 24,74, 37,84, 67,39, 0,28, 32,72, + 79, 1, 88,63, 63,65, 52,49, 60,23, 19, 4, 15, 8, 15,84, + 58,74, 60,32, 42,85, 16,24, 42,74, 62,53, 49, 9, 43,75, + 61,67, 61,37, 3,33, 56,89, 89,73, 53,65, 12,76, 73,36, + 79,74, 46, 7, 49,89, 60,39, 71,44, 19,51, 21,82, 39,72, + 89,67, 6,57, 66,68, 54,56, 77,16, 24,46, 50,51, 82, 7, + 66,38, 89,38, 11,67, 75,72, 71,79, 81,25, 55,45, 9,14, + 44,79, 14,24, 77,37, 89,29, 53,63, 77,30, 64, 4, 81,46, + 49,57, 72,14, 27, 7, 84,56, 43, 9, 64,21, 5,42, 64,85, + 6,69, 22,82, 62,67, 12,89, 14,61, 74,65, 44,18, 17,66, + 81,81, 79,16, 60,51, 85,89, 3,23, 33,88, 54,74, 24,27, + 46,89, 83,51, 26,61, 59,72, 79, 7, 0,78, 36,16, 50,84, + 70,52, 44,89, 55,60, 10,69, 23,35, 69,17, 0,51, 84,47, + 3, 2, 8,69, 43,43, 74, 9, 23,20, 45,71, 13, 1, 45,74, + 43,53, 58,23, 48,51, 44,37, 65,35, 87,34, 16, 5, 21, 8, + 88,72, 75,29, 16,65, 22,38, 89, 6, 22,17, 73,66, 35,14, + 60,71, 73,73, 27, 9, 31,23, 49,43, 18,35, 25,38, 9,66, + 81,58, 42,40, 37,12, 29,61, 8,56, 20,54, 5,72, 27,28, + 0, 2, 16,71, 9, 2, 43, 1, 64,44, 71,27, 70, 5, 44,20, + 25,84, 69,20, 14,58, 76,65, 33,84, 35,15, 73, 1, 58,70, + 6,65, 9,23, 60,56, 40,76, 39,18, 39,23, 44,38, 70,71, + 0,20, 26,49, 74,59, 46,16, 2,77, 74,25, 22,75, 39,82, + 28,72, 30,49, 48, 4, 22,74, 36,29, 22,83, 43,62, 86,51, + 74, 3, 15,71, 85,65, 68,38, 41,76, 71, 9, 67,64, 41,17, + 40,35, 42,47, 25,31, 55,62, 12,14, 9,69, 67,56, 38,43, + 43,18, 22,39, 26,55, 29,55, 89, 4, 61,68, 76,78, 73,63, + 27,62, 82,47, 20, 0, 24,77, 48,13, 44,87, 34,42, 63,87, + 78,28, 63,69, 10,21, 1,75, 64,54, 68,54, 67, 2, 11,40, + 0,83, 46,57, 26, 7, 78,71, 28,14, 54,36, 29,47, 78, 4, + 69,33, 9,22, 15, 0, 9,88, 55,85, 35,60, 23,39, 37, 6, + 33,51, 10, 5, 75, 4, 77,34, 46,24, 15,13, 84, 0, 70,72, + 69,68, 59,64, 8,46, 74,20, 47,89, 37,27, 88,13, 41,68, + 43,47, 14,15, 14,47, 79,67, 54,84, 32,46, 1,76, 44,54, + 85,51, 39,73, 81,41, 88,89, 18,81, 1,82, 26,12, 45,29, + 50,76, 89,78, 19, 6, 2,48, 44,80, 18,19, 42,24, 89,41, + 10,78, 62,77, 64,57, 80,72, 36,66, 36,48, 21,16, 83,46, + 48,41, 61,47, 16,34, 46,51, 12,43, 30,24, 39,56, 56,25, + 32,28, 4,76, 80,32, 65,72, 48,55, 37,83, 48,57, 14,26, + 88,45, 43,16, 37,57, 20,24, 23,71, 59,40, 51,54, 20,13, + 51,36, 46, 1, 16,83, 32,89, 26,38, 4,40, 45, 1, 88, 8, + 30,12, 60,73, 42,33, 75,86, 37, 0, 8,64, 10,51, 36,56, + 38,11, 67,46, 75,46, 50,31, 9,65, 30,28, 32,38, 30,63, + 43,59, 85,88, 77,39, 51,40, 30,13, 27,57, 37,80, 63,34, + 79, 8, 81,69, 43,61, 44,58, 34,66, 80,27, 78,88, 0,56, + 23,14, 76,25, 11,25, 52,25, 55,87, 57,14, 44, 7, 60,52, + 40, 9, 40,39, 69,85, 89,36, 62,57, 2,10, 6,47, 33,59, + 85,62, 42,15, 15,21, 16,16, 16,58, 17,24, 8,55, 11,48, + 31,67, 41,70, 45,48, 43,10, 81, 5, 24,54, 55,52, 80,51, + 22,31, 35,77, 22,26, 45,82, 83,33, 16,89, 66,75, 26,67, + 31,64, 88,52, 1,80, 89,70, 31,70, 81, 3, 42, 4, 43,36, + 42,81, 49,13, 69,72, 6,42, 13,60, 35,11, 20,21, 22,67, + 77,27, 82,82, 52,66, 88,68, 82,20, 28,15, 38, 3, 47,82, + 18,52, 9,76, 51,25, 3,22, 77,44, 20,14, 69,70, 73, 7, + 51,43, 39,67, 27, 3, 29,67, 20,71, 27,69, 0,77, 76,61, + 34,23, 67,18, 51,52, 77,67, 37,29, 66,13, 85,40, 36,85, + 24,42, 72,55, 24, 2, 80,54, 9,39, 57,55, 74,53, 45,89, + 12,66, 66,47, 88,38, 32,23, 58,46, 53,43, 5,54, 16,13, + 9, 5, 29,82, 84,41, 87,57, 33,21, 34,21, 32,19, 77,17, + 12,26, 63,73, 14,14, 39,65, 63,72, 53,60, 30,53, 87, 9, + 70,31, 42,61, 16,25, 83,79, 41,50, 37,64, 18,80, 60,21, + 26,19, 13,61, 40,87, 12,13, 20,73, 55,53, 31,55, 87,81, + 89,80, 76,55, 88,11, 46,53, 78,34, 41,54, 72,36, 57,37, + 45, 3, 88,21, 40,62, 71,52, 63,16, 34,30, 50,70, 18,32, + 6,67, 38,83, 50,58, 73,69, 56,48, 1,40, 83,50, 86,83, + 5,57, 34,10, 51,31, 21,44, 84,42, 46,10, 69,13, 41,46, + 35,65, 43,29, 86,79, 3,74, 68,88, 1,62, 38,69, 16,15, + 18,59, 7,12, 77, 8, 71,15, 32,41, 80,65, 52, 6, 76,49, + 82,52, 3,72, 15,26, 83,14, 71,71, 2,37, 83,80, 66,42, + 35,13, 16,27, 60,40, 87,89, 78,70, 61,78, 54,44, 42,79, + 12,86, 78,40, 8,54, 43,69, 8,53, 2,47, 51,70, 36,46, + 37,78, 51,76, 48,75, 29,83, 52,44, 51,49, 17,67, 31,47, + 31,31, 83,74, 68,77, 52,61, 55,12, 62,39, 27,47, 28, 3, + 15,74, 88,82, 59,48, 18,67, 17,35, 41,65, 84,49, 1,85, + 68,78, 54,55, 56,83, 50,85, 17,29, 38,80, 88,70, 83,67, + 53,40, 77,66, 70,54, 41,89, 10, 4, 17,62, 35, 5, 50, 2, + 16,36, 74,46, 6,78, 82,41, 28,54, 89,68, 64,13, 19,79, + 53,89, 5,50, 70,33, 26, 5, 20,19, 87,11, 60,59, 37,50, + 33,62, 35,76, 10,84, 35, 3, 84,37, 25,71, 7,23, 87,62, + 75,28, 50,13, 6,49, 67, 1, 74,61, 76,51, 62,11, 33,61, + 41,21, 88,65, 28,51, 80,82, 60,63, 31,39, 21,88, 87,72, + 21,26, 42,87, 78,13, 72,17, 84,82, 49,26, 89,50, 64,24, + 23,11, 59, 0, 62,17, 52,41, 75, 0, 66,72, 5,21, 77,60, + 55,35, 44, 6, 74,80, 6, 7, 45, 7, 70,60, 44,28, 9,54, + 79,25, 55, 7, 68,12, 55,57, 17,32, 61,15, 26,76, 32,74, + 46,44, 60,76, 28,64, 87,44, 24,39, 75,30, 86,33, 2,12, + 69,49, 12,46, 2,34, 77,31, 15,25, 43,57, 86,64, 1,23, + 71,13, 83,37, 80,31, 89,88, 56,71, 49, 0, 55,68, 78,37, + 77, 3, 19,21, 88,54, 32,75, 33,65, 82,53, 34, 9, 70, 8, + 86,34, 84, 6, 77,32, 78,81, 65,64, 78,39, 69,12, 27,55, + 29,11, 81, 8, 58,86, 73,84, 66,73, 11,38, 74,36, 59,77, + 72,21, 32,86, 61,12, 88,66, 68,46, 36,67, 40,68, 75,49, + 41,31, 34,75, 23,88, 14,33, 35,59, 25,20, 79,48, 41,26, + 72,10, 52,62, 42,89, 54,62, 39,78, 35,71, 3,21, 62,60, + 37,41, 55,67, 17,75, 41,47, 5,79, 86,77, 6,45, 0,23, + 19,31, 26,30, 65,33, 17,51, 0,81, 40,40, 0,27, 78,26, + 55,44, 38, 5, 55,77, 41,33, 69,39, 87, 7, 63,18, 61,84, + 74,39, 9,37, 27,14, 1,88, 50,53, 64, 3, 20,44, 76, 1, + 19,89, 54,43, 85,21, 85,73, 45,38, 64,47, 72,29, 48,60, + 27,32, 56, 9, 83,17, 44, 4, 51,37, 27,25, 7,11, 42,23, + 40,89, 39,11, 89,33, 61,21, 12,65, 7,68, 34,59, 78,64, + 31,19, 59,52, 35,85, 57,51, 7,44, 89,26, 17,74, 30,87, + 18,47, 67,68, 44,45, 22,61, 83, 5, 68,47, 9,49, 55,15, + 28,35, 29,73, 48,24, 8, 6, 26,72, 79, 9, 45,76, 51, 9, + 34,34, 44,48, 69,22, 0,11, 61,74, 4,28, 64,61, 80,24, + 86,68, 81,76, 19,45, 78,14, 41,48, 59,28, 42,32, 58,24, + 89, 5, 63,82, 40,14, 65,10, 11,46, 70,32, 56,27, 2,85, + 86, 1, 76,66, 42,69, 81,14, 40, 5, 87,27, 65,45, 84,64, + 19,57, 12,37, 55,89, 26,63, 75,59, 1,87, 30, 6, 39,32, + 5,61, 31,82, 7, 1, 70,41, 34,35, 54,39, 39,58, 34,56, + 44, 2, 64,77, 58, 8, 37, 4, 12,68, 5,63, 48,63, 78,19, + 82,24, 65,77, 39,29, 38,50, 81,20, 30, 3, 77, 5, 42, 0, + 62,36, 34,26, 28,45, 56,77, 56,58, 73,45, 18,10, 24,14, + 4,88, 34,12, 44,19, 81, 2, 52,86, 88,39, 53,78, 9,18, + 2,26, 19,42, 44,69, 73,83, 25,17, 48,64, 17,39, 33,87, + 1,41, 55,48, 82,42, 39,24, 28,52, 72, 5, 75,25, 25,18, + 45,36, 59,79, 50,20, 47,53, 62, 8, 89,48, 87,60, 54,19, + 10,54, 67, 9, 60,26, 0,47, 1,56, 65,24, 7,59, 78,58, + 23,75, 69,82, 11, 8, 57, 8, 85,84, 3,34, 58,27, 51,86, + 53,73, 38, 0, 83,44, 61,18, 47,55, 18,11, 9,36, 87,82, + 25,53, 54,38, 56,56, 8,38, 16, 8, 56,39, 49,32, 13,75, + 4, 4, 59,76, 33,83, 36,19, 6,28, 73,24, 10,39, 1,60, + 58,80, 59,89, 66,45, 21, 4, 5,14, 15,80, 26,88, 26,33, + 40,69, 35,36, 45,33, 45,61, 59, 6, 8, 8, 20,35, 68,18, + 24,76, 60,35, 26,59, 30,72, 70,26, 78,51, 20,17, 55, 3, + 10,22, 4,68, 86,19, 30,65, 63, 3, 58, 5, 26,45, 81,15, + 77,38, 24,69, 26,60, 85,80, 49,58, 66,44, 22,48, 19,58, + 8,19, 46,68, 84,66, 7,41, 68,66, 84,25, 19,82, 49,50, + 49, 1, 18,82, 47,34, 36,23, 56,22, 85,71, 83,82, 17,37, + 19, 7, 14,20, 33,35, 42,38, 70,29, 58,78, 53,16, 12,18, + 78,80, 32,56, 54,72, 81,16, 48,10, 67, 5, 11,57, 6,52, + 55,54, 0, 0, 34,41, 82,27, 88,15, 58,82, 71,20, 58,35, + 12,17, 78,73, 80,60, 50, 7, 67,28, 68,80, 42,22, 40,22, + 51,72, 62,56, 47,31, 19,76, 22,49, 39,71, 67, 6, 83,28, + 72,64, 38,70, 86,55, 63,23, 77,75, 84,40, 67,36, 60,36, + 26,37, 88,75, 53,13, 62,46, 61,27, 37,56, 58,51, 2,40, + 17,12, 64,49, 71,16, 47,36, 59,80, 51,73, 10,34, 78,30, + 82,55, 34,64, 18,17, 60,28, 81,71, 10,45, 13,88, 50,18, + 11,53, 63,49, 86,45, 60, 3, 22,66, 80,14, 67,11, 70,25, + 11, 7, 24,60, 72,81, 14,88, 56,75, 6,31, 75,42, 65,67, + 12,20, 14,27, 21,24, 88,58, 73,72, 33,13, 71,63, 54,29, + 32,64, 13,47, 45,56, 69,26, 72,40, 30,89, 25,88, 28,55, + 56,76, 58, 0, 40,58, 25,46, 70, 4, 16,17, 65,80, 82,83, + 26,39, 12,74, 66,63, 67,65, 15,89, 17,13, 68,48, 67,87, + 52,77, 67,78, 73,39, 68,26, 58, 2, 1,59, 81,10, 29,41, + 56,26, 10,20, 72,65, 20,11, 67,38, 40,30, 7,36, 36,68, + 21,60, 70,38, 49,77, 88,48, 8,36, 43,64, 69,69, 65,82, + 49,14, 69,40, 68, 6, 62,88, 1,31, 59,86, 73,14, 61,24, + 72,11, 56,28, 35,56, 81, 9, 60,37, 46, 0, 89,82, 23,42, + 34,73, 48,33, 6,73, 54, 0, 52,36, 76,64, 28,27, 46,59, + 88,22, 70,16, 12,53, 42, 7, 4, 0, 46, 2, 56,17, 34,18, + 78, 9, 46,48, 39,88, 0,21, 9,61, 37,32, 56,87, 20,69, + 38,63, 52,57, 23,44, 59,24, 75,69, 68,55, 74, 2, 3, 8, + 10, 2, 28,34, 18,50, 23,60, 76,67, 16,11, 32,20, 79,79, + 27,89, 67,53, 74,84, 59,27, 53,58, 51,23, 73,38, 0,70, + 11,11, 3,60, 19,28, 46,78, 77,73, 79,75, 3,26, 16,47, + 4,62, 46,35, 12,80, 31,27, 16,84, 65,68, 37,49, 46,54, + 65,75, 6,59, 24,59, 89,42, 55,27, 89,65, 18,58, 12,60, + 15,35, 61, 1, 44,64, 27,44, 21,17, 60,33, 62,80, 64,82, + 53,32, 10,10, 26,31, 84,54, 76,46, 13,30, 57,53, 54, 1, + 18,56, 31, 5, 84,88, 70,49, 68,84, 52,37, 69,30, 37,48, + 69,29, 75,45, 69,41, 27,24, 59,44, 89,79, 30,19, 0,36, + 74,72, 23, 9, 65,84, 49,44, 83,69, 44,11, 25,64, 73,76, + 28,81, 86,32, 23,62, 49,31, 54,73, 17, 9, 14,67, 41,63, + 68,14, 47,74, 17,71, 1,67, 10,27, 9,21, 61,80, 40,77, + 20,49, 75,82, 31,22, 66,41, 49,36, 38,35, 70,84, 80,66, + 21,55, 79,68, 43,44, 68,81, 7, 5, 41,22, 18,49, 73,58, + 14,13, 55,13, 75,58, 30, 9, 25,33, 73,88, 38,14, 58,54, + 25,51, 10,23, 60,53, 35,45, 14,52, 48, 3, 89,85, 31,76, + 65,17, 85,35, 30,35, 36,57, 78,53, 68,50, 60,60, 55,74, + 26, 8, 54,85, 59,59, 21,14, 34,81, 61,62, 55,18, 76,58, + 47,30, 64,69, 34, 3, 52,17, 11,13, 59,13, 43,76, 80,48, + 89,34, 14,45, 62, 5, 3,58, 49,46, 42,12, 47,52, 59,69, + 77,10, 8,40, 6,76, 59,23, 80, 3, 5,49, 70,80, 38, 7, + 30,26, 16,77, 58,55, 64, 9, 16,85, 56,18, 1,50, 72,20, + 43,72, 76,33, 43,33, 6,37, 1,89, 40,38, 44,42, 28,75, + 33,74, 60,65, 72, 2, 19,62, 40,26, 86,66, 10,17, 78,57, + 22,27, 25,62, 32,24, 33, 5, 56,10, 44,67, 14,84, 57,62, + 69,76, 76,73, 26,86, 2,74, 78,35, 60,77, 89,18, 57,44, + 38,15, 32,67, 16,26, 53,81, 6,62, 86,41, 54,14, 16,61, + 32,42, 81,79, 33,11, 69,67, 47,75, 8,50, 26, 0, 12, 2, + 88,43, 8,72, 73,48, 50,24, 6,11 +}; +const int p_90_7[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1154, + /// Array of preferences + 3,69, 75,19, 28,83, 31,46, 41,73, 1,71, 15,54, 58,38, + 32,26, 76,80, 89, 1, 33,21, 31, 0, 74,88, 80,32, 9,33, + 50,50, 57,89, 71,37, 32,73, 58,35, 74,75, 49,75, 4,81, + 72,41, 38,33, 47,36, 0, 5, 82,81, 41,39, 0,27, 25,20, + 71,45, 57,62, 70,50, 32,12, 86,24, 67,26, 84,56, 71, 2, + 65,49, 39,87, 52,58, 64,59, 44,73, 76, 2, 77,81, 41,11, + 13,60, 87,80, 52, 7, 57,87, 83,80, 38,46, 68, 6, 5,60, + 78, 3, 87,12, 14,62, 61,30, 24,67, 14,43, 7,21, 29,14, + 36,13, 14,58, 35,61, 36,87, 0,39, 22,16, 43,65, 87,35, + 81,51, 63,10, 22,77, 86,58, 59,74, 7,42, 81,13, 45, 1, + 5,81, 4,87, 80,30, 68,40, 6,25, 61,48, 85,69, 58,36, + 78,61, 74, 3, 8,85, 68,68, 55,12, 36,30, 67,87, 85,26, + 63,47, 87,54, 16,87, 59,37, 3,11, 48,34, 49, 8, 35,23, + 61,63, 74,12, 82,62, 16,81, 33,67, 18,82, 37,60, 15,58, + 55,41, 30,80, 9,37, 76,73, 41,57, 61,35, 50,89, 28,87, + 37,89, 13,52, 36,57, 21,46, 89,78, 45,53, 82,41, 15,37, + 0,89, 22,85, 21,68, 84,31, 18,80, 30,64, 55,77, 18,28, + 62,60, 17,18, 12,82, 35,56, 69,54, 53,58, 88,31, 3,24, + 48,75, 10,76, 53,79, 68,15, 66,78, 44,29, 29,51, 2,74, + 34, 8, 7,22, 7,65, 48,38, 48, 1, 40,87, 71,20, 16,28, + 25,50, 6,28, 0,48, 82,23, 21,50, 42,51, 66,57, 85,29, + 23,67, 88,48, 55,30, 21,70, 5,58, 87,14, 61, 0, 46,72, + 6,10, 79,25, 40, 1, 36,33, 75,62, 58,15, 43,53, 89,63, + 68,45, 0,54, 83, 3, 38,13, 8,86, 16,17, 19, 8, 79,85, + 81,76, 31,38, 22,42, 17,34, 70, 7, 76,77, 69,61, 44, 6, + 56,85, 86, 0, 6,72, 48,53, 38,16, 21,49, 26,58, 73,80, + 37,25, 68,44, 31,40, 65,62, 72,10, 16,39, 35,58, 39,34, + 25,46, 7,89, 53,25, 86,52, 21,85, 73,73, 26, 3, 83,73, + 13,11, 13,33, 48,36, 53,28, 68, 5, 80,54, 51,29, 42,40, + 21, 9, 39,13, 79, 5, 77,10, 52,44, 83,27, 34,60, 62,51, + 80,75, 55,72, 29,26, 45,10, 24,19, 16,59, 0,65, 77,84, + 17,12, 77, 2, 31,10, 70,14, 38,42, 43,73, 48,54, 10,39, + 56,53, 10,15, 3, 9, 4,85, 84,10, 72,47, 9,21, 68,62, + 5,43, 38,39, 88, 5, 54,48, 60,28, 35,86, 59,51, 47,53, + 53,16, 1,73, 22,46, 62, 2, 86,11, 7,24, 29,77, 52,50, + 53,76, 60,56, 47,68, 38,25, 55,40, 52,29, 23,65, 29,43, + 30, 7, 30,51, 56,67, 18, 4, 88,19, 39,56, 0,64, 67,28, + 55,46, 59,32, 87,46, 36, 6, 14,83, 47, 2, 34,62, 5,82, + 11,81, 11,83, 66,16, 10, 1, 36,81, 44, 5, 44,66, 28,10, + 52,47, 45,48, 82,88, 74,38, 18,14, 44, 3, 81, 5, 11,80, + 19,30, 84,50, 32,60, 30,31, 17,71, 15,65, 53, 7, 23, 0, + 63,73, 38,62, 80,14, 3,28, 31,31, 35,22, 20,66, 50, 9, + 29,28, 48,19, 26, 9, 86, 4, 20,45, 85,34, 7,44, 26, 8, + 88,29, 43,68, 70,84, 38,60, 13,67, 45, 2, 14, 8, 27,47, + 2,52, 78,59, 22,37, 3,70, 4,84, 47,34, 60, 8, 52, 0, + 54,19, 18,62, 1,11, 70,25, 42,34, 60,12, 28,23, 3,13, + 8,50, 46,36, 29,35, 31,12, 77,15, 21,12, 63,51, 64,70, + 31,78, 55,36, 8,70, 54,68, 10,82, 24,52, 69,69, 45,72, + 36, 3, 64,44, 5,44, 11,65, 69,49, 52, 9, 11,63, 49, 0, + 3,72, 59,72, 21, 6, 77,78, 85,54, 77,52, 84,69, 52,35, + 31,61, 17,16, 82,47, 32,15, 75,50, 84,16, 76, 5, 29,58, + 51,85, 70,12, 59,21, 62,86, 39,19, 20,16, 59,56, 50,52, + 39,15, 79,72, 63,17, 17,89, 75,55, 61,71, 32,89, 85, 8, + 25,16, 20,20, 71,65, 72,70, 75,68, 30,44, 55,23, 84,26, + 81,84, 53,45, 88,88, 63,41, 66,76, 79,55, 35,71, 81,20, + 43,28, 61,69, 84,83, 88,69, 6,59, 20,52, 4, 9, 63,65, + 25, 2, 10,73, 44,43, 39, 0, 40,28, 32,19, 1,68, 47,24, + 58,39, 19,54, 74,85, 16,61, 69,63, 53,67, 12,35, 25,82, + 38,69, 22,44, 21,89, 40,73, 50,23, 52,84, 6,37, 6, 9, + 55,73, 49,68, 52,32, 82,43, 8,22, 88,89, 57,48, 89,68, + 63,79, 7, 6, 69,64, 37,40, 17,87, 77,47, 75,59, 5,67, + 89,51, 40,66, 69, 2, 36,44, 43, 0, 40,58, 29, 6, 22,59, + 25,77, 26,41, 11,41, 1,57, 41, 7, 56,39, 34, 3, 34,19, + 14,26, 76, 1, 67,10, 24,57, 46,38, 27,78, 42,81, 70,83, + 27,72, 40,80, 46,41, 78,69, 60, 7, 57, 4, 20, 1, 23,59, + 11, 7, 56,19, 76,56, 88,75, 48,86, 71,60, 20,44, 21,26, + 67,72, 37,85, 83,71, 81,56, 55,14, 89,72, 35,38, 89,19, + 88,83, 59,68, 84,17, 72,21, 47,89, 29,79, 3,36, 74, 2, + 55,89, 19,62, 24,12, 71,21, 57, 3, 24,32, 34,83, 39,14, + 82,60, 78,58, 83,78, 4,50, 81,55, 69, 5, 12,32, 61,36, + 12,86, 28,17, 39,54, 29,74, 81,87, 2,12, 29, 8, 1,69, + 34,73, 84,25, 0,77, 22,73, 0,46, 69,89, 58,82, 66,55, + 9,89, 30,37, 75,52, 43,17, 47,79, 89,30, 77,35, 14,34, + 25,62, 24,18, 59,63, 54,88, 18,63, 41,12, 21,81, 8, 8, + 36,25, 41,43, 1,40, 14,38, 53,87, 77,20, 41,22, 37, 7, + 27, 1, 39,86, 8,37, 69,56, 48,68, 58,23, 23,74, 36, 5, + 68,33, 67,73, 28,37, 35,65, 81,58, 46,70, 9, 4, 18,37, + 34,84, 32, 5, 65,51, 21,69, 6,63, 48,43, 69,40, 61,20, + 61,32, 11,13, 17,67, 64,40, 38,58, 68,61, 18, 0, 11,38, + 87,29, 13,85, 60,54, 0,18, 15,62, 40,12, 4,17, 5,19, + 0, 6, 31,74, 63,11, 75,66, 18,33, 42,67, 29, 3, 43,71, + 19,42, 17,79, 21,18, 86,49, 82,28, 40,45, 80,13, 61, 2, + 32,35, 84,36, 47,28, 28,74, 81,18, 77,22, 3, 6, 70,41, + 64,84, 13,27, 45,11, 47,87, 55,80, 33, 7, 67,15, 79,18, + 70,64, 41,45, 5,71, 31,50, 83, 6, 55,19, 51,81, 33,12, + 36,62, 61,80, 36,59, 2, 8, 23, 8, 58,72, 55,55, 42,43, + 35,31, 77,42, 17,68, 28,84, 48,83, 30,16, 7,38, 78,80, + 15,56, 88,86, 43,59, 13,37, 33,76, 0,70, 46,84, 52,39, + 57,67, 16,10, 25,57, 87,74, 29,27, 49,64, 23,38, 22,60, + 68,89, 77,45, 87, 3, 71,50, 64,79, 68,14, 45,58, 64, 3, + 43,10, 47,58, 31,73, 35,27, 30,35, 57,23, 47,72, 63,48, + 54,73, 1,34, 33,74, 41,44, 22,41, 72,34, 78,13, 88,55, + 28,27, 18, 5, 3,19, 55,66, 60,21, 9,35, 6,12, 51,62, + 36,29, 0,14, 77,37, 70,53, 13, 2, 54,29, 0, 4, 49,72, + 19,34, 81,89, 54,75, 77,53, 63,89, 16,12, 54,55, 9,62, + 3,18, 69,29, 16,22, 46,30, 50, 4, 20,74, 42,60, 47,71, + 40,48, 59,28, 81,25, 8,80, 30,43, 77,23, 77,44, 67,18, + 29, 2, 27,39, 16,23, 33,15, 11,62, 67,48, 86,68, 69,71, + 75,57, 86,80, 64,34, 85,19, 67,40, 19,39, 66,24, 19,46, + 43, 8, 81,23, 71,66, 73, 4, 80,26, 73,34, 49,19, 14,80, + 12,69, 49,46, 40,41, 66,71, 46,83, 28,72, 6,29, 70,79, + 29,63, 13,56, 12,68, 12,14, 9,63, 26,16, 46,39, 48,52, + 18,11, 74,15, 77,80, 85,82, 1,22, 74,58, 51,49, 73,15, + 65,42, 23,78, 69,82, 12,84, 72,73, 59,67, 80,19, 49,57, + 16,37, 86,12, 53,13, 31,43, 70,37, 39,63, 43,33, 61,57, + 50,22, 52,21, 64,88, 41,50, 62,45, 33,33, 38,78, 29,42, + 78,65, 57,73, 77, 1, 26,66, 28,61, 3,76, 36,16, 7,58, + 87,51, 1,49, 51,77, 59,36, 28, 5, 54, 2, 78,46, 27,77, + 53,43, 24,28, 29,38, 0, 8, 68,84, 78,47, 61,88, 69,83, + 13,83, 83,88, 61,13, 68,73, 55,63, 62,79, 30,63, 13,45, + 11,28, 45,82, 67,64, 75,58, 42,85, 50,78, 63,70, 65, 5, + 14,47, 55,79, 11,86, 0,82, 39,57, 29, 9, 31,42, 87,81, + 2,88, 88,16, 1,25, 76,35, 78,52, 21,51, 50,10, 23,18, + 86,57, 64,61, 78, 1, 6,31, 69,66, 4,37, 64,51, 39,65, + 88, 1, 60,18, 28,86, 29,69, 34,80, 17, 7, 49,26, 36,89, + 66,37, 9, 8, 13,81, 64,82, 28,44, 21,52, 15,57, 32,74, + 87,15, 44,15, 29, 1, 23,13, 4,66, 68,30, 68,80, 24,13, + 30,23, 83,33, 54,13, 62,64, 2,60, 42,76, 66, 8, 64,72, + 22,69, 66,33, 46,76, 79,54, 84,39, 51, 5, 63,86, 70,34, + 39,36, 33,13, 35,14, 87,75, 28,32, 47,42, 11,73, 0,73, + 62,22, 9,50, 15,83, 18,12, 17,65, 75,25, 59,41, 4,12, + 6,20, 19,13, 22,51, 28,57, 21,79, 13, 9, 35,73, 32, 0, + 86,82, 6,60, 5, 5, 26,85, 78,19, 26,71, 84,57, 27,88, + 26,10, 15,43, 9,88, 60,29, 9,16, 35,57, 17,61, 9,68, + 46,47, 58,27, 20, 6, 52,61, 85,89, 37,59, 49, 4, 33,69, + 83,57, 33, 5, 26,21, 3,80, 74,62, 56,32, 87,76, 56,64, + 31,26, 52, 8, 15,17, 37,27, 77,85, 83,53, 28,40, 32,30, + 68,28, 76,71, 45,59, 1,37, 7,84, 25,72, 58,51, 56,37, + 11,79, 37,16, 74,37, 53,84, 70,86, 11,18, 14,25, 11,74, + 13,66, 42,86, 7, 4, 41,70, 81,38, 87,40, 29,21, 30,52, + 69, 6, 36,23, 44,39, 14,52, 88,79, 6,79, 54,42, 50,65, + 11,47, 43,52, 51,63, 12,67, 37,14, 6,68, 27,80, 60,89, + 22,30, 64,46, 77,76, 56, 7, 38,53, 12,44, 29, 7, 19,12, + 46,80, 0,38, 20,82, 44,13, 4,70, 82,85, 77, 0, 28,31, + 76,34, 3,29, 74,41, 4,36, 51, 1, 87,31, 30,33, 7,63, + 6,58, 21, 2, 22,18, 3,43, 7,16, 10,19, 72,81, 60,70, + 89,32, 59,83, 62,81, 21, 1, 76,60, 48,16, 1,20, 49,25, + 49,10, 74,39, 11, 3, 23,23, 74,23, 44, 4, 47, 8, 38,35, + 39,22, 29,25, 87, 7, 56,47, 58,31, 70, 9, 75,76, 50,34, + 44,82, 32,71, 26,73, 11,19, 44,63, 67,35, 15,24, 36,56, + 76,18, 11,40, 7, 7, 72,89, 83, 1, 29,30, 29,81, 69,17, + 12,51, 8,42, 54,31, 88,56, 80,41, 31, 2, 61,67, 14,28, + 34,16, 87,89, 30,65, 72,49, 59,20, 0,43, 54,49, 78,24, + 53,82, 60,88, 75,33, 3,54, 28,18, 28, 4, 78, 8, 45,67, + 82,56, 41,74 +}; +const int p_90_8[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1439, + /// Array of preferences + 87,64, 8,70, 13,16, 26,33, 42, 4, 85,46, 24,50, 1,87, + 3,32, 14,17, 84,23, 34,30, 80,55, 45,25, 39,67, 61,40, + 69,38, 12, 0, 40,30, 54,59, 6, 2, 66,73, 65,20, 19,85, + 48, 6, 10,42, 44,51, 31,64, 18,28, 4,55, 29,26, 67,52, + 50,21, 18,14, 24,46, 28,55, 17,87, 59,43, 53,60, 49,52, + 47,40, 88,63, 23,44, 44,13, 89,67, 51,13, 49,46, 15,83, + 68, 3, 41,86, 66,86, 22,51, 37,85, 58,35, 47,52, 51, 0, + 10,48, 84,59, 63,49, 74,84, 69,46, 74,80, 45,31, 60,56, + 82,34, 78,22, 27,23, 66, 0, 43,52, 19, 3, 36,28, 59,19, + 77,36, 51,24, 7,28, 58,68, 71,81, 4,64, 63,35, 38,79, + 20,42, 40,35, 59,66, 71, 5, 74,82, 24,10, 59,86, 19, 4, + 78,10, 32,35, 53,21, 39,87, 3,49, 13,19, 19,42, 1,69, + 56,29, 62,33, 50, 8, 80,48, 67,31, 78, 6, 32,23, 56,47, + 74,59, 2, 3, 47,46, 47, 5, 53,74, 81,33, 7,58, 41,61, + 59,69, 9,50, 4,89, 19,22, 9,74, 84, 0, 51, 6, 30, 9, + 19,36, 76,27, 20,21, 64,48, 85,52, 4, 6, 72,44, 57,41, + 66,74, 55, 9, 70,84, 61,86, 87,72, 20,23, 88,66, 70, 7, + 29,12, 77,88, 16,17, 56,50, 20,89, 43,11, 88,41, 74, 4, + 39,88, 83,62, 67,29, 84,63, 68,22, 45,65, 13,89, 86,51, + 46,80, 13,56, 27,44, 89,27, 47,55, 17,86, 70,82, 85, 2, + 67,27, 14,82, 21,48, 69,59, 34,14, 5,21, 77,62, 73,78, + 8,54, 78,28, 42,27, 7,25, 68,24, 25,61, 36,18, 6,38, + 1,66, 42,50, 66,89, 60,84, 51, 9, 82, 4, 79,38, 43,36, + 33,67, 13,64, 65,69, 48,77, 1,17, 2,13, 73,88, 15,24, + 58,25, 34,27, 68,77, 31, 9, 57,26, 3,17, 23, 8, 79,25, + 36,50, 52,71, 56,24, 11,20, 44,28, 71,67, 39,16, 88,65, + 24,47, 62, 4, 55,67, 54,84, 43, 0, 27,27, 58,52, 81,68, + 23,38, 77,40, 37,68, 65,47, 83,16, 61,11, 56,65, 10, 8, + 3,82, 35,52, 30,87, 11,24, 1,72, 41, 8, 67,51, 25, 9, + 17,54, 83, 1, 27, 8, 46,38, 39, 6, 10,52, 70,52, 62,13, + 38,45, 31,36, 28,30, 78,21, 78,15, 69,57, 28,34, 55,63, + 11, 9, 37,16, 34,52, 21,51, 22,11, 20,58, 0,73, 23,84, + 24,32, 32,39, 54,31, 14,24, 16,43, 11,32, 11,57, 14,16, + 77,68, 14,67, 24,40, 49,49, 52,18, 67,23, 65,21, 4,73, + 24,51, 80,24, 48,38, 64,38, 32,82, 78,11, 41,23, 60,80, + 11,72, 49,83, 68,33, 31,57, 56,18, 52,82, 46,72, 3, 2, + 44,14, 22,22, 87,49, 44,39, 44,86, 23, 1, 51,39, 9,15, + 56,52, 12,33, 15,33, 1,63, 53, 2, 50,62, 87,13, 47,78, + 25,78, 10,66, 80,31, 74,36, 21,39, 61,36, 52,36, 41,63, + 48, 2, 11,52, 59,18, 70,26, 9,28, 49,45, 71,30, 64,72, + 14,18, 51,29, 46,36, 0,58, 45,53, 45, 4, 29,59, 40,34, + 2,80, 69,10, 47,19, 9,64, 85,31, 18,66, 82,66, 53, 5, + 30,15, 85,16, 69,22, 49, 9, 31,65, 43,38, 7,23, 5, 8, + 58,66, 37,87, 11,61, 10,29, 12,80, 41,36, 39, 2, 39,21, + 71,55, 42,49, 69,82, 18,80, 41, 3, 27,37, 6, 9, 48,69, + 21,34, 61,20, 18,24, 86,29, 49,63, 25,64, 68,17, 57,40, + 54,23, 71,72, 76,76, 49,36, 0,43, 41,77, 53,42, 36,66, + 46,88, 31,73, 55,57, 57,30, 35,73, 14,20, 7,46, 27,57, + 20,51, 22,32, 2,51, 52,35, 64,50, 12,73, 75,37, 20,38, + 6,65, 19,31, 17,23, 80, 5, 74,89, 45,80, 86,59, 54,67, + 14,79, 37,39, 53,56, 83,69, 24,54, 29,49, 72,83, 88,23, + 51,16, 68, 0, 26,54, 19,78, 18,25, 66,60, 71,29, 36,72, + 54,43, 43,18, 22,23, 69,73, 27,52, 23,13, 86, 8, 1,70, + 73,52, 24,25, 14,71, 50,82, 10,36, 50,13, 70,56, 55,62, + 37, 1, 45,64, 85,56, 83,53, 82,31, 86,68, 32,40, 71,11, + 32,62, 60,31, 86,45, 57, 2, 16, 8, 44,21, 35,48, 29,77, + 84,31, 69,34, 85,47, 70,12, 18,11, 2,17, 3,43, 79,64, + 70,70, 79,27, 4,26, 10,21, 85,17, 48,30, 22,40, 86,27, + 57,10, 28,76, 71,23, 11,69, 39,62, 59,87, 85,36, 72,80, + 5,72, 25,70, 52,62, 78,77, 27,64, 47,59, 26,47, 45,57, + 7, 1, 70,23, 74, 2, 88,33, 63, 9, 30,20, 55,18, 25,71, + 2,58, 63,48, 66,68, 67,32, 9,58, 42, 6, 15,36, 5,84, + 49,81, 67,48, 54,56, 3,22, 33,28, 43,82, 12,32, 20,69, + 25,11, 12,36, 89,80, 67,86, 22,12, 57,46, 46, 9, 1,78, + 50,32, 44,58, 33,56, 42,16, 83, 9, 26,37, 31,14, 46,48, + 65,89, 37,18, 22,86, 28,11, 86,83, 35,22, 39,68, 39,76, + 12,65, 41,82, 59,89, 68, 2, 87,55, 44,59, 17, 5, 14,31, + 42,38, 48,85, 46,52, 16,45, 14, 2, 36,31, 28,31, 53,85, + 72,52, 7,60, 65,46, 36,24, 11,13, 73,12, 66,10, 17,16, + 26,61, 53,58, 86,66, 36,55, 73,37, 50,24, 69,52, 75,29, + 7,77, 7,15, 80,51, 68,20, 51,71, 49,57, 66,41, 57, 9, + 9,63, 73,11, 4,85, 62,75, 61,55, 56,12, 47,76, 40,55, + 10,70, 12,55, 44,56, 44, 2, 70,10, 58,28, 18,31, 31,40, + 83,80, 58,64, 81,88, 32,65, 21,80, 49,56, 21,85, 23,50, + 23,55, 33,70, 30,37, 50,76, 79,28, 2, 4, 3,53, 8,89, + 67,72, 48,89, 5,55, 57,20, 24,18, 49,24, 32,52, 59,29, + 20,56, 29,14, 18,62, 65, 1, 81,73, 20,87, 34,35, 39,50, + 18,47, 27,10, 57,67, 44,69, 80, 3, 16,78, 57,48, 65,35, + 1,76, 78,84, 35,37, 16,76, 61,84, 32,53, 65,78, 3, 0, + 77,47, 81,66, 50,35, 3,46, 75,25, 44,20, 25,88, 27, 9, + 84,38, 21,17, 70, 3, 66,15, 21,16, 88,15, 16,36, 15,73, + 58, 7, 32,10, 37,61, 58,82, 12,68, 65,40, 39,13, 59, 7, + 32,57, 46,70, 51,40, 85,72, 56,74, 5,42, 70,63, 20,44, + 22,63, 42,18, 53,47, 29, 3, 63,34, 60,60, 15,51, 83,47, + 21,36, 82,89, 89,85, 68,79, 49,68, 8,45, 57,82, 6,69, + 80,33, 32,67, 86,82, 34,53, 39,52, 16,79, 72,46, 59,52, + 66,40, 6,32, 19,75, 27,13, 37,14, 24,74, 53,37, 39,59, + 76,32, 88, 9, 50,85, 19,15, 74,73, 58,20, 63,74, 35, 2, + 81,20, 32,81, 84,75, 74,67, 1,44, 84,15, 86,79, 41,70, + 53,86, 5,50, 7,87, 75, 7, 81,43, 8,84, 66,31, 85,34, + 10,15, 57,12, 66,82, 23,28, 17,65, 79,17, 28,54, 39,75, + 62,39, 19,54, 14,27, 54,51, 62,60, 41,40, 48,29, 30, 8, + 84,37, 65,67, 10,78, 28,60, 58,12, 86,56, 37,67, 31,53, + 9,46, 2,31, 66,64, 52, 3, 22,75, 80,38, 15,85, 22,46, + 78,41, 54, 0, 12,86, 61,67, 45,54, 82,69, 26,88, 54, 5, + 5,86, 87, 2, 19,45, 46,64, 64,89, 31,85, 34,12, 71, 1, + 69,86, 12,75, 37,72, 23,41, 67,36, 33,39, 73,66, 42,70, + 52,21, 53,80, 19, 8, 89, 9, 73,55, 13,12, 36,69, 6,21, + 50,31, 51,20, 20,46, 60,74, 1,61, 35,10, 21,86, 31,72, + 70,35, 62,29, 20,32, 26,24, 67,66, 52,84, 71,83, 9,41, + 70,81, 38,40, 17,73, 86,77, 40,73, 6,29, 61,32, 36,75, + 77,42, 28,85, 88,86, 30,22, 79,51, 7,37, 49,19, 70,46, + 64,49, 78,72, 17, 7, 81,46, 71,49, 31,13, 58,73, 27,89, + 51, 7, 75, 0, 8,37, 1,29, 31,31, 35,64, 29,56, 82,23, + 87,50, 43,28, 0,23, 35,18, 15,56, 38,57, 51,52, 44,77, + 5,44, 13,24, 47,41, 3,57, 47,43, 7,79, 21,45, 3,85, + 81,31, 36,45, 28,43, 86,34, 52,19, 67,85, 22,15, 24,73, + 49,54, 42,56, 32,69, 28,89, 39,86, 34,34, 64,47, 69,29, + 7,74, 88,22, 27,38, 83,56, 71,48, 53,32, 19,52, 50,19, + 13,14, 11,51, 43,80, 60,79, 52,80, 26,31, 0,29, 43,16, + 7,27, 12,31, 27, 2, 76,16, 48,46, 46, 4, 30,61, 3,33, + 56,44, 62,40, 28,48, 64,29, 59,57, 76,45, 68,78, 16,13, + 75,47, 49,58, 82,39, 15,21, 62,28, 86,33, 34,76, 42,10, + 21,19, 3,59, 30, 1, 9,20, 80,77, 42,67, 17,29, 35,45, + 13,82, 64,37, 29,45, 80, 4, 41,64, 56,87, 21, 2, 63,61, + 49,12, 15,23, 40,13, 59,26, 71,70, 5,24, 87,78, 19,23, + 20,75, 76,28, 76,38, 65, 3, 45,43, 82,47, 3,36, 87,74, + 82,78, 57,37, 10,88, 39,26, 14,86, 45,39, 27,79, 11, 5, + 28,46, 49,14, 70,73, 38,82, 41,81, 69,15, 29,10, 60,21, + 8,42, 32,32, 34, 6, 16,44, 13,65, 74, 3, 28,75, 9,68, + 0,27, 57,78, 13,30, 44,34, 71,80, 12,37, 83,46, 66,65, + 63,14, 29, 4, 13,80, 53,28, 58,21, 56,48, 22,25, 16,32, + 36,20, 10,34, 71,47, 3,86, 37,26, 22,81, 53, 7, 69,62, + 81,19, 32,47, 50,33, 48, 9, 3,89, 16,68, 23,73, 77,19, + 61,38, 51,82, 87,18, 72,81, 25,65, 88,73, 71,65, 37,33, + 71,68, 6,46, 29,34, 57,83, 11,67, 72,88, 9,23, 0,65, + 80,57, 22,52, 6,74, 7,20, 24,83, 86,85, 41,89, 53, 0, + 75,31, 16,84, 13,69, 55,35, 45,51, 52,28, 63, 8, 25,75, + 4, 2, 11,56, 0,40, 87,34, 44,36, 71, 7, 34,25, 87,81, + 84,22, 79,74, 10,83, 47,61, 34, 1, 3,64, 38,54, 36,64, + 20,24, 56,61, 61,57, 40,47, 54,49, 39,55, 27,33, 73,18, + 6,81, 50,11, 59, 3, 36,52, 42, 0, 10,85, 28,70, 50,55, + 45,77, 68,31, 25,22, 73,54, 6, 0, 50,41, 70,32, 45,22, + 85,50, 57,11, 61,66, 46,29, 7,88, 3,48, 45,47, 48,14, + 14, 3, 54,32, 80,79, 11, 6, 33,59, 41,76, 89,73, 85,35, + 19,35, 29, 9, 76,33, 42,35, 1,37, 50,54, 82,42, 3,87, + 66,25, 4,34, 86,81, 64,45, 89,26, 1,84, 58,41, 11,48, + 12,51, 32,64, 65,71, 85, 9, 17,41, 29, 1, 29,55, 43,24, + 30,48, 60,33, 72,51, 36,43, 5, 6, 40,75, 89,65, 76,85, + 22,41, 72,16, 80,16, 12,72, 31,18, 59,33, 89,10, 83,77, + 24,62, 66,69, 53, 6, 69, 4, 34,83, 47,82, 18,12, 2,29, + 65,74, 29,13, 22,61, 66,20, 54,61, 36,33, 80,52, 33,57, + 87,71, 28,39, 51,19, 29,24, 37,13, 4,68, 65,13, 6,58, + 34,66, 85, 8, 87,53, 42,15, 74,40, 33,22, 86,52, 46,32, + 75,62, 85,59, 63,56, 20,49, 0,66, 70,72, 47,10, 9,51, + 24,37, 69,41, 23,87, 4,74, 73,60, 42,88, 87,63, 40,83, + 70,64, 18,64, 10,68, 48,74, 38, 2, 89,83, 38,18, 65,19, + 12, 3, 50, 3, 15,27, 56,72, 84,82, 64,33, 63,58, 48, 5, + 45,60, 20,27, 23,72, 81,24, 2,56, 30,45, 66,67, 48,20, + 9,32, 38,89, 62,14, 22,64, 41,52, 21,53, 55, 2, 40,78, + 27,86, 47, 6, 33,18, 11,73, 77, 0, 54,66, 16,18, 89,43, + 18,74, 27,53, 62,12, 1,47, 49,10, 21,20, 11,30, 75,74, + 88, 3, 72, 6, 43,23, 48, 1, 53,16, 72,14, 44, 9, 7,84, + 37,30, 65,54, 76,75, 58, 9, 83,12, 68,23, 33,55, 45,63, + 87,26, 8,82, 15,15, 27,69, 55,43, 40,81, 76,62, 40,42, + 25,60, 28, 3, 26, 5, 27,35, 74,72, 51,43, 64,59, 37,36, + 22,78, 9,69, 34,23, 33,48, 32,12, 9,11, 83,32, 10,30, + 42,53, 50,50, 15,60, 43,75, 48,62, 85,62, 3,88, 3,19, + 89,87, 44,22, 28,28, 73,85, 54,36, 38, 7, 56,51, 21,59, + 58,26, 6,73, 2,73, 72, 9, 35,44, 58,32, 80,62, 7,63, + 75,68, 48,19, 73,23, 26,76, 89,30, 4,71, 65,70, 77,20, + 11,41, 88,71, 54,19, 76,24, 35,87, 38,31, 80,29, 14,14, + 6,67, 76,66, 38,26, 82,83, 80,61, 39,39, 79,36, 69,71, + 68,18, 63,59, 64,36, 73,53, 54,10, 24,31, 23,75, 69,79, + 68,59, 15,22, 39,73, 29,42, 47,25, 11,65, 15,88, 66,87, + 46,54, 83,64, 1,19, 78, 1, 21,62, 29,46, 21,28, 4,19, + 2,14, 13,36, 51,74, 52,65, 63,86, 48,60, 39,46, 11,33, + 13,76, 86,60, 50,47, 24,16, 44, 8, 52,60, 68,21, 27,87, + 55,53, 46,85, 26,72, 3,50, 33, 4, 75,64, 75, 3, 64,21, + 47,16, 7,42, 83,30, 28,18, 77,58, 40,36, 59,11, 61,58, + 56,25, 51, 4, 71,44, 3,26, 36,58, 23,69, 33,16, 25,37, + 17,71, 7,72, 10,45, 41,49, 72,70, 7,53, 44,43, 10,20, + 35,75, 84,30, 80,20, 16,47, 86,40, 71,20, 26,16, 50,70, + 44,37, 34,13, 63, 5, 1, 8, 69,72, 38,74, 55, 5, 60,68, + 84,29, 12,54, 56,53, 35,31, 38, 9, 79,44, 38,64, 11,46, + 53,30, 37,17, 84,53, 47,65, 20, 3, 86,30, 3,21, 16,40, + 58,15, 34,79, 42,21, 53, 1, 62,43, 69, 2, 40,57, 67,61, + 52,47, 77,65, 89,16, 52,15, 48,61, 2,26, 77,53, 34,58, + 72,53, 38,72, 61,22, 64,12, 80, 9, 62,22, 47,11, 6, 3, + 50,87, 58,69, 76,63, 62,49, 21,33, 11,89, 54,20 +}; +const int p_90_9[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1138, + /// Array of preferences + 59,15, 71,30, 51,66, 77,63, 10,11, 13,15, 88,28, 1,47, + 56,19, 18,25, 88,54, 14,50, 11,13, 51,76, 57, 7, 75,46, + 89,13, 58,47, 49,60, 66,71, 20,73, 74,35, 70,82, 11,46, + 69,68, 72,82, 83,30, 82,19, 50,59, 88,87, 48,41, 35,65, + 2,65, 83,89, 14,48, 12,53, 39,29, 38,78, 49,41, 56,55, + 38,66, 55,68, 4, 5, 36,11, 28,54, 44,37, 62,76, 85,80, + 64,81, 42,30, 1,73, 41,17, 21,61, 28,70, 22, 7, 9,71, + 88,23, 69, 8, 82,38, 27,19, 20,38, 41,33, 38,26, 54,73, + 28,20, 6,33, 58,51, 21,68, 11,14, 1,76, 49,82, 76,89, + 28,65, 3,60, 86,49, 10,41, 44,40, 35,21, 81, 8, 58,79, + 11,57, 85,25, 43,11, 55,43, 50,75, 78,37, 19,45, 35,10, + 70,68, 28,77, 49,88, 6,45, 15,46, 73,76, 2,31, 38,10, + 82,81, 42,89, 7,22, 51,38, 65,88, 5,43, 89,37, 80,28, + 24,84, 30,43, 17,52, 4,83, 8,49, 69,64, 82,14, 65,45, + 53,71, 21,19, 30,72, 47,73, 43,68, 19,33, 22,25, 73,35, + 62,14, 26,22, 28,32, 33,86, 85,61, 28,83, 66,11, 8,61, + 70,67, 61,64, 12,23, 32,30, 50,64, 67,35, 16,50, 9,38, + 44,32, 3,29, 9,22, 4,16, 25,40, 56, 0, 56,76, 17,15, + 17,19, 29,84, 24,60, 17,35, 41,23, 29,88, 82,67, 36,86, + 61,52, 42,86, 77, 6, 59,59, 77,56, 72,57, 8,67, 6,25, + 82,85, 40,77, 78, 3, 33,73, 46,42, 24,83, 89,57, 60,59, + 70,61, 84,31, 74,46, 83,19, 6,78, 42, 8, 81, 2, 5,17, + 61,14, 83,34, 29,19, 0,15, 46,13, 75,16, 37, 9, 52,25, + 84,66, 35,86, 60,66, 55,12, 42,71, 38,30, 42,29, 81,62, + 48,44, 37,45, 39,87, 16,87, 80,15, 3,76, 80,18, 89,38, + 51,82, 18,17, 15,64, 64,72, 58,70, 9,12, 35,28, 12,66, + 81,43, 37,34, 53,62, 21,64, 0,22, 43,63, 59,39, 34,12, + 80,47, 71, 5, 73,30, 82,18, 26,66, 61,78, 9,15, 5,53, + 15,10, 61,17, 50,13, 25,83, 48,19, 44,42, 76,82, 77,42, + 38,35, 50,85, 26,89, 6,89, 0,30, 13,13, 37,51, 3,59, + 63,23, 26,62, 61,74, 31,18, 13, 0, 7,13, 78,20, 34,20, + 40,32, 0,77, 34,61, 55,67, 17,25, 43,47, 35,22, 69,75, + 14,30, 3,12, 40, 7, 64,86, 6,55, 88,43, 60,44, 19,39, + 77,16, 84,48, 32,57, 82, 8, 78,49, 20,42, 63,53, 47,17, + 0,71, 78,53, 10,89, 30, 8, 81,80, 33,29, 73,55, 8,65, + 11,48, 20,50, 88, 4, 41, 4, 78,51, 74,81, 54,75, 67,14, + 39,35, 84,76, 41,37, 61,51, 16, 0, 50,41, 52,23, 15,65, + 44,78, 54,67, 62,56, 0,18, 3,68, 71,58, 68, 2, 19,27, + 0,79, 50,72, 73,58, 74,61, 2,66, 37,32, 30,37, 36,62, + 80,61, 80,55, 2,69, 52,30, 60,60, 2, 5, 89,44, 5,89, + 43,19, 34,13, 38,22, 35,66, 25,44, 52,67, 55,51, 48,67, + 56,26, 42, 9, 27,41, 33,67, 63,47, 28,17, 62, 3, 73,56, + 67,89, 36,75, 37,83, 56, 4, 69,37, 35,31, 73,27, 81,26, + 30, 9, 13,27, 57,35, 17,68, 28,47, 87,41, 39,52, 60,13, + 10, 0, 60,77, 79,84, 66, 0, 77,80, 64,26, 58,67, 8,42, + 24,33, 84,42, 80,37, 35,18, 11, 3, 63,22, 63,71, 15,81, + 68,43, 48,40, 5,14, 66, 3, 59,80, 8, 7, 28,79, 81,85, + 33,68, 20,18, 30,61, 78,12, 30,51, 11,29, 66,49, 22,66, + 48,46, 32, 8, 10,52, 81,58, 0, 7, 47,46, 63,52, 23, 2, + 36,36, 29,15, 3,40, 80,41, 87,62, 50,24, 42,49, 9,13, + 31,32, 55,37, 2, 0, 68,12, 89,27, 64,46, 52,85, 81,77, + 39,11, 55,83, 47,81, 45,40, 3,85, 12,57, 7, 5, 55,73, + 56,45, 53,86, 20,83, 62,37, 34,38, 71,69, 30,39, 9,20, + 21, 2, 86, 1, 69,60, 42,64, 33,32, 36,21, 8,89, 45,21, + 28,85, 50, 9, 53,14, 27,42, 66,20, 46,26, 23,58, 50,23, + 79,17, 61,47, 71,10, 62,67, 32,19, 3,67, 16,25, 6,54, + 50,14, 33,53, 33, 8, 54,55, 72,17, 4,32, 18,33, 65,40, + 84,71, 26,65, 57,65, 80, 6, 19,31, 68,84, 81,32, 41,30, + 41,81, 21,10, 82,69, 67,30, 23,60, 88,14, 6,26, 31,28, + 43, 1, 24,41, 19,80, 51,28, 82,61, 82,37, 39, 8, 18,19, + 26,64, 11, 4, 49,31, 67,21, 54,42, 26,39, 13,26, 53,76, + 62,77, 42, 1, 72,60, 39,26, 38,87, 78,55, 60,76, 9,54, + 74,71, 1,33, 8,81, 41,19, 13,34, 12,59, 17,47, 89,59, + 87,65, 28,21, 43,55, 85,31, 16,33, 61,56, 88,75, 22,75, + 20,24, 81,70, 29,18, 55,56, 83,61, 48,14, 47,21, 71,41, + 8,60, 3,39, 9, 3, 74, 3, 74,84, 7,16, 55, 6, 70, 1, + 43, 2, 40,26, 44,67, 66, 4, 15,86, 89,69, 81, 4, 82,28, + 40,78, 78,75, 1, 3, 59,47, 1,43, 67,37, 60,74, 15, 9, + 29,36, 62, 0, 16,22, 80,39, 78,46, 82, 3, 54,60, 4,15, + 72,40, 15,25, 26,50, 37,56, 12,46, 7,27, 5,88, 75,24, + 38,44, 5,20, 76,35, 46,87, 65,51, 75, 6, 45, 6, 89,86, + 75,66, 71,52, 44,68, 35,19, 59,71, 58,69, 6,42, 59,28, + 66,51, 81,74, 14,10, 29,79, 82, 7, 14, 5, 4,89, 45,33, + 34,55, 7,17, 76,76, 4,28, 72,31, 86,44, 55,32, 38,88, + 19,87, 11,52, 38,76, 35,72, 8,63, 45, 2, 80,17, 7,33, + 21,82, 14,68, 77,21, 75,63, 24,61, 10,63, 35, 6, 25,82, + 35,35, 51,50, 80,51, 23,75, 72,53, 65,48, 0,10, 13,43, + 42,85, 24,42, 37,87, 44,46, 43, 9, 79, 7, 54,28, 33,69, + 9,66, 42,40, 17,53, 2,37, 50,49, 62,53, 33, 9, 86,20, + 84,38, 15,45, 18,41, 56,23, 12,43, 74,32, 45,87, 70,53, + 88,88, 83,32, 83, 5, 58,68, 68,13, 44,77, 52,52, 64,56, + 8,62, 14, 2, 62,69, 1,35, 17,73, 35, 0, 55,45, 16,18, + 31,60, 5,12, 28,46, 41,45, 46,71, 0,83, 52,60, 52,41, + 69,66, 22,41, 1,84, 80, 4, 79,42, 5,70, 30,18, 34,60, + 62, 2, 84,35, 54,71, 76,23, 70,34, 31,50, 57,51, 67,33, + 83,42, 4, 9, 32,67, 6,70, 9,23, 22,29, 48,35, 42,25, + 8,13, 72,10, 76,27, 9,81, 86,83, 40,72, 45,32, 49, 2, + 19,13, 40,42, 30,29, 85,19, 83,36, 26,16, 67,78, 67,15, + 69,31, 40,37, 25,39, 27,81, 39, 7, 63,26, 71, 1, 56,62, + 67,27, 9,33, 24, 5, 89, 3, 31,88, 32,59, 36,19, 54,57, + 29,38, 83,54, 47,85, 75,79, 3,23, 87,31, 46,53, 81,61, + 49,14, 10,75, 71, 3, 77,76, 20,44, 65,32, 39,65, 52,74, + 29,55, 64,45, 85,58, 18,71, 46,74, 36,30, 11,21, 20,85, + 24,71, 83,83, 83,58, 76,51, 38, 7, 12,54, 27,16, 18,84, + 43,64, 42,55, 56,29, 61,61, 57, 5, 17, 4, 23,36, 19,44, + 64,12, 16,19, 84,41, 79,20, 51,63, 80,79, 10,48, 21,72, + 16,56, 61,22, 26,81, 11,51, 84, 4, 40,74, 23, 9, 39,31, + 47,52, 61,76, 57,30, 22, 3, 5, 4, 10,69, 61,39, 56,72, + 81,83, 80,52, 73,74, 40,83, 81,36, 76,37, 38,71, 73,88, + 85,53, 0,14, 73,81, 44,51, 26,75, 7,28, 28, 4, 18,82, + 81,49, 16,57, 60,27, 13, 9, 33,14, 15,38, 33,25, 25,86, + 5,11, 6, 8, 80,10, 15,17, 74,16, 69,34, 40, 1, 81,86, + 63, 5, 80,87, 52,21, 84,44, 13, 5, 28,38, 25,19, 74,72, + 57,80, 33,80, 65,33, 54,34, 76,30, 53,32, 46,70, 2,68, + 82,45, 5,60, 27,33, 54,43, 23,86, 66,52, 82, 6, 59,78, + 21,42, 62,59, 83,66, 79,68, 74,40, 24, 4, 33,13, 87,13, + 51,21, 50,46, 75,80, 48,74, 73,54, 34,72, 89,60, 15,84, + 75,12, 30, 5, 53,60, 38,41, 33,35, 65,30, 22,88, 24,10, + 89, 1, 0,46, 48, 0, 53,34, 87,54, 47,27, 74,75, 56, 6, + 41,26, 6,66, 7,42, 84,68, 49,65, 19,69, 81,63, 6,69, + 15,67, 25,75, 39,82, 31,13, 66,57, 66,47, 81,12, 76, 9, + 82,42, 31,53, 52,48, 60,14, 50,34, 36,56, 11,63, 57,43, + 89,10, 1,65, 61,31, 69,84, 89,20, 30,13, 25,53, 8,75, + 26,44, 86,61, 64, 6, 31,68, 49,71, 7,57, 49,74, 34,28, + 11,53, 6,43, 48, 9, 40,21, 11,69, 77,69, 83,64, 40,58, + 89,85, 36,69, 50,35, 66,35, 88,19, 82, 5, 42, 0, 81,48, + 26,25, 10,30, 83,67, 40,16, 35, 4, 37,28, 85,57, 42,72, + 52,11, 55, 2, 80,75, 52, 8, 59, 4, 29,81, 12,85, 56,86, + 87, 8, 87,14, 42,65, 21,88, 69,28, 16,72, 1,19, 55,65, + 72,76, 48,42, 38,49, 7, 1, 35,73, 89,30, 80,54, 72,35, + 1,51, 79,48, 10,82, 60,38, 89,83, 73,41, 74,67, 27,38, + 82,65, 43,24, 68,66, 48,22, 83,81, 68,41, 30,16, 84,40, + 85,67, 82,55, 0, 9, 40,39, 13,59, 68,17, 42,78, 32,16, + 62,45, 73,87, 87,66, 1, 8, 85, 6, 87,15, 8,19, 42,52, + 32,84, 41,88, 61,37, 83,68, 10, 2, 27,61, 7,24, 4,33, + 1,24, 35,33, 48,45, 87,26, 88, 8, 74, 4, 53,25, 34,51, + 73,34, 62,75, 73,22, 53,27, 18,18, 55, 5, 88,30, 1,64, + 2,15, 24,57, 85,73, 41,15, 47,53, 18,76, 32, 4, 6,71, + 20,86, 49,50, 38,11, 20,10, 16,31, 49, 5, 34,25, 55,33, + 71,87, 59,41, 79,58, 5, 7, 53, 5, 26,53, 82,13, 56,52, + 89,39, 27,83, 80,43, 1,79, 89, 4, 87,32, 11,27, 78,57, + 58,31, 11,76, 43, 6, 25,76, 65,19, 72,21, 10,84, 89,43, + 16, 4, 55,70, 28,10, 52,29, 52,76, 15,82, 6,56, 3,58, + 20,72, 45,35, 26,40, 67,79, 0,43, 76,65, 62,13, 32,78, + 80,84, 61,66, 3, 5, 73,69, 2,48, 14,32, 68,50, 42,80, + 17,63, 36,26, 25,54, 35,89, 76,60, 22,24, 89,29, 25,14, + 60,17, 53,81, 71,84, 8,14, 76,80, 68,73, 24,34, 13,75, + 23, 6, 48,71, 55,19, 85,10, 5,24, 66, 1, 22,37, 55,64, + 44, 2, 48,30, 73,86, 61,72, 75,22, 58,82, 58,54, 21, 5, + 77,30, 79,72, 8,39, 71,19, 28,19, 75,11, 57,12, 30,46, + 2,18, 78,62, 73,85, 83,85, 52,45, 38,68, 78, 7, 44,60, + 55,62, 39,86, 41, 2, 44,35, 52,75, 24,45, 49,18, 20,89, + 22,45, 54,54 +}; +const int p_90_10[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1752, + /// Array of preferences + 36,87, 69,77, 19,30, 28,19, 40, 3, 39,81, 49,55, 88,47, + 40,56, 65, 3, 15,67, 72,73, 58,68, 28,51, 75,56, 11,30, + 3,50, 35, 9, 68, 1, 5, 2, 86,24, 68,59, 22,69, 51,19, + 81,76, 15, 5, 37,40, 45,45, 39,42, 22,72, 84,33, 52,15, + 87,59, 9,73, 47,60, 39,86, 41,72, 51,35, 13,21, 73,11, + 82,43, 37,78, 72,55, 13,14, 46,55, 44,76, 16,28, 56,29, + 12, 3, 56, 2, 52,78, 13,18, 73,85, 29,56, 58,55, 68,80, + 71,51, 3,84, 88,68, 2,37, 64, 9, 79,68, 4,83, 36,79, + 2,83, 61,59, 87,52, 77,69, 68,64, 3, 8, 29,52, 5,59, + 76, 5, 14,41, 11,19, 2,82, 5,57, 81,75, 61,67, 73,35, + 43,54, 46,49, 21,56, 12,65, 15,56, 0, 8, 17,27, 66,49, + 44,42, 6,57, 21,48, 75, 3, 16,67, 49,14, 20,88, 61,55, + 30,88, 4,77, 55,69, 64,53, 66, 8, 71,43, 9,87, 33,39, + 64,66, 60,74, 61,71, 32,20, 5,20, 28,30, 25,89, 44,68, + 1,24, 47,53, 37,63, 29,53, 35,71, 74,56, 86,44, 43,30, + 33,59, 54,82, 9,88, 69,22, 22,25, 76,59, 77, 4, 18, 6, + 15,51, 0,80, 79,24, 20,87, 31,68, 28,26, 64,76, 66,66, + 71,76, 31, 4, 8,45, 47,29, 45,81, 10,59, 45, 2, 6,36, + 55,35, 30,71, 48,46, 19, 3, 45,70, 48,72, 0,34, 76,78, + 33,20, 57,73, 44,37, 52,46, 59,46, 75,44, 67,68, 83,54, + 64,25, 24,32, 38,61, 80,72, 12,57, 82,55, 56,41, 79,40, + 64,22, 67,20, 57,10, 78,69, 37,30, 19,12, 51,43, 31,63, + 73,86, 43,66, 22,41, 85,41, 2,44, 12,86, 23,35, 49,72, + 10,43, 83,41, 18,89, 20,13, 20,17, 31,47, 15,62, 55,12, + 37,69, 24,76, 89, 1, 75,40, 43,45, 58,18, 20,58, 18,60, + 70,67, 77,18, 47,23, 27,69, 89,24, 52,23, 13,33, 78,77, + 74,18, 49,54, 82,19, 7,40, 87,30, 24,67, 52,18, 44,25, + 5,37, 33,15, 70,22, 62,46, 65,42, 2,64, 31,11, 35,24, + 66,53, 44,62, 47, 4, 61,80, 48,70, 15,11, 46,44, 5,83, + 75,81, 61,28, 80,31, 2, 6, 25,64, 31,22, 44,80, 20,23, + 24,38, 22,73, 63,51, 60,68, 68,77, 69,13, 42,30, 36,43, + 82,18, 54,59, 13,79, 67,15, 56,88, 36,34, 78,21, 46,70, + 75,42, 72, 7, 64,59, 84, 1, 12,33, 14,87, 16,59, 87,74, + 66,87, 7,65, 38,87, 37,48, 75, 1, 77,30, 58,57, 55,38, + 72,61, 75,84, 60, 5, 20,32, 44,86, 71,88, 75,31, 9,38, + 54,39, 11, 4, 17, 3, 86, 7, 8, 6, 28,25, 52,13, 52,58, + 21,20, 81,65, 27,20, 89,71, 40, 6, 2,45, 50,30, 79,67, + 8,89, 11,36, 78,66, 85,87, 16,88, 5,89, 31, 5, 29,23, + 39,45, 41,55, 22, 5, 70,24, 63,85, 28,18, 6,70, 31,41, + 22,32, 77, 5, 85, 5, 56,11, 73,58, 18,86, 27,68, 6,71, + 42,63, 72,56, 42,33, 6,37, 75,45, 65,25, 60,51, 60, 1, + 9,35, 18,17, 38,31, 24,57, 28,47, 65,41, 85,13, 41,12, + 83,16, 22,37, 14, 9, 84,76, 15, 4, 64,21, 18,73, 32,78, + 27,32, 14,51, 35,11, 25,12, 59,30, 16,36, 57,12, 48,63, + 69,36, 67,58, 52,73, 0,62, 13,68, 21,77, 16,66, 80,21, + 26,27, 23,73, 80, 3, 35,36, 71,47, 39,76, 78,75, 26,40, + 72,26, 9, 2, 71,34, 77,66, 80,54, 80, 1, 21,27, 36,44, + 13,39, 46,27, 9,53, 10, 7, 33,19, 64,14, 83,11, 45,61, + 83,82, 32, 0, 27,87, 23,67, 47,50, 46,43, 54,42, 13,45, + 11,64, 8, 5, 72, 9, 8, 4, 6,80, 76,18, 39,29, 81, 1, + 59,89, 33,79, 86, 4, 33,54, 72,19, 62,79, 46,29, 67,57, + 41,35, 20, 2, 9,83, 6,51, 55,84, 57,44, 58,66, 15, 9, + 46,13, 70,29, 16,84, 43,14, 5,79, 64,89, 69,44, 23,52, + 62,43, 5,32, 14,85, 40,71, 13,44, 57,81, 11,81, 78,38, + 87,84, 66, 9, 8,21, 67,83, 7,43, 47, 9, 63,71, 4,84, + 29,41, 76,21, 88,37, 39,32, 16,45, 52,80, 53,16, 47,89, + 2, 5, 71,84, 63,24, 83, 0, 19,24, 65,51, 55,29, 61,43, + 87,16, 37,87, 27,80, 6,38, 34,81, 48,75, 57,21, 25,17, + 5,44, 45,22, 20,30, 88,10, 58,49, 12,80, 36, 7, 30,53, + 48,24, 42,70, 80, 6, 56,72, 27,14, 66,40, 37,11, 77,57, + 41,43, 61,68, 0,61, 39,10, 62,86, 63,62, 17,38, 14,73, + 39,28, 18,64, 41,27, 4,35, 16, 8, 80,45, 34,34, 48,21, + 63,11, 22,59, 20,72, 19,26, 16,60, 25, 1, 80,30, 53,39, + 57,37, 41,65, 50,44, 56,79, 88,67, 61,37, 25,81, 80,35, + 33,35, 51,26, 65,39, 23,69, 72,44, 84, 6, 42, 4, 62,26, + 61,18, 62,76, 1,40, 61,50, 22,43, 4,28, 63, 6, 77,31, + 64,15, 17,54, 50, 5, 78,68, 78, 7, 1,70, 16,75, 20,46, + 47,19, 69,21, 81,83, 6,15, 65,44, 9,81, 23,21, 17,24, + 48,83, 54,23, 31, 1, 68,57, 16,86, 87,19, 75,60, 53, 3, + 35,79, 40,54, 18,36, 50,38, 0,29, 63,78, 48,23, 18,31, + 70,30, 11,20, 46,85, 88, 1, 47,72, 23, 3, 86,65, 75, 9, + 55,30, 89,53, 41,71, 26,13, 1,76, 43,25, 11, 9, 46,22, + 19,56, 57,55, 35,70, 46,78, 54,47, 63,59, 86,18, 7,72, + 16,50, 73,29, 3,25, 69,71, 74,13, 36,53, 29,69, 8,76, + 76,77, 38, 4, 65, 9, 55, 3, 78,74, 87,77, 7,42, 82,80, + 57,30, 51,75, 15,57, 35,52, 0,23, 71,38, 71,79, 34,21, + 23, 1, 62,65, 9,45, 27,35, 66,39, 23,26, 83,33, 7,66, + 83,88, 71,15, 28,11, 84,30, 66,29, 0,44, 16, 9, 34,33, + 40, 5, 79,38, 51,80, 48,53, 44,26, 4,50, 62,42, 40,65, + 36,81, 36,11, 33,80, 47,18, 40,55, 47,44, 30,12, 78, 5, + 7,64, 30,11, 51, 6, 47,77, 50,10, 36, 1, 4,89, 8, 3, + 74,59, 6, 8, 12,23, 67,62, 81,85, 32,63, 32,53, 61,40, + 77,17, 76,19, 20,50, 29,33, 74,88, 23,47, 69,15, 65,54, + 10,21, 3,85, 53,67, 8,23, 48, 2, 3,52, 58,69, 69,45, + 0,20, 8,40, 41,15, 12,81, 34,51, 45,24, 47,81, 7,33, + 25, 7, 14, 5, 20,29, 13,73, 49,33, 73,27, 72,65, 42,67, + 46,36, 55,80, 79, 3, 31,80, 32,65, 38,14, 1,53, 28,38, + 72, 8, 4,15, 25,50, 77, 8, 26,56, 18,30, 23,83, 5, 3, + 75,29, 45,46, 44,33, 58, 7, 6,40, 14,30, 41,51, 73,19, + 47,12, 1,22, 49,39, 73,33, 27,65, 79,36, 47,75, 30,63, + 58,67, 30,62, 38,74, 43,50, 75,54, 11, 0, 17, 4, 1, 4, + 38,59, 38,41, 62,17, 39,56, 6, 7, 6, 0, 59,37, 39,22, + 74,55, 67,14, 72, 5, 83,69, 65,12, 62,75, 37,76, 33,55, + 75,85, 4,76, 52,48, 87,27, 3,58, 42,40, 28,14, 13,17, + 50,72, 8,49, 3, 5, 71,31, 75,32, 66,32, 45,17, 82,15, + 88, 7, 36,10, 47, 2, 3,72, 49,28, 51,83, 80,43, 82,30, + 70,37, 87,10, 22,44, 75,25, 20,31, 55,71, 61, 8, 50,14, + 25,73, 83, 3, 63, 2, 76,50, 87,62, 47,63, 10,73, 2,15, + 38,43, 24,50, 38,60, 80,33, 43,82, 22,82, 0, 5, 24,22, + 12,20, 44,88, 6,32, 1, 5, 72,16, 54,50, 22,17, 0,48, + 27,23, 85, 3, 17,79, 19,57, 48,14, 78,83, 28,54, 0,74, + 81,69, 62,41, 83,45, 19,25, 10, 9, 9,66, 75,69, 75,23, + 5,69, 51,86, 16,65, 29, 4, 62,70, 49,56, 42,52, 52,62, + 23,82, 39,49, 86,76, 71, 7, 78,85, 70,79, 59,54, 80,63, + 56,83, 29,61, 13,26, 23,14, 33,85, 48, 4, 3,65, 41, 9, + 75,82, 43,21, 89,63, 81,73, 77,15, 80,71, 26,51, 45,52, + 33,40, 40,21, 79,28, 79,10, 86,51, 74,57, 10,89, 81,51, + 70,71, 88,64, 76,17, 80,46, 67,44, 31,82, 37,34, 47,39, + 86,50, 2,73, 63,26, 75,14, 88,48, 15,10, 54,27, 21,66, + 13,56, 81, 0, 64,33, 61,69, 43, 2, 29,11, 54,86, 34,74, + 87,43, 7,60, 52,54, 37,88, 12,42, 20,66, 31,38, 60,33, + 34, 6, 25, 9, 4,63, 58,47, 3,57, 31,32, 40,59, 83,26, + 27, 9, 61,78, 51,69, 65,21, 72,82, 28,21, 86,12, 44,69, + 8,51, 5,49, 74,19, 27,74, 85,78, 6, 6, 29,88, 82, 2, + 46,86, 81,67, 68,72, 85,25, 50, 4, 83,34, 48,10, 25, 6, + 0,76, 14,67, 2,78, 44,59, 5,24, 11,40, 16,61, 13,53, + 0,46, 76,69, 66,80, 72,80, 49,45, 77,78, 22,78, 52, 0, + 11,38, 35,16, 83,38, 27,78, 4,37, 44,71, 70,16, 11,85, + 13,70, 53,43, 29,66, 66, 6, 51,51, 34,50, 68,71, 49,64, + 79,17, 6,20, 30,19, 61,87, 60,13, 13,65, 1,82, 7,74, + 57,89, 10, 0, 60,72, 70,27, 39, 5, 40,80, 21,18, 51,62, + 86,48, 26,63, 36,73, 88,27, 71,70, 32,69, 18,69, 35,57, + 41,54, 59,60, 73,59, 87,26, 83,74, 89, 0, 18, 2, 41,68, + 85,16, 24,34, 78,32, 54,37, 33,37, 79,70, 80,25, 52,69, + 17,73, 18,25, 57,54, 60,79, 51,71, 74,15, 63,79, 2,34, + 26,37, 71, 9, 51, 0, 63,39, 28,44, 13,69, 32,33, 60,64, + 81, 2, 71,23, 74,61, 42,26, 25,27, 54,55, 23,89, 37, 6, + 38,71, 51,45, 11,55, 77,65, 6,29, 7,59, 24,26, 44,48, + 66,76, 43,76, 35,85, 25,53, 27,15, 31, 9, 79, 4, 35,84, + 58,77, 21,39, 71,69, 3,21, 59,77, 21,86, 56,37, 38,25, + 26,14, 87,47, 29, 8, 32, 3, 83,47, 65,32, 64,74, 10,45, + 49,20, 1,26, 88,50, 59, 7, 61, 0, 54,11, 78,36, 46,88, + 1,85, 70,36, 58,89, 86,79, 61,51, 68,27, 53,32, 81,55, + 2,58, 61,30, 40,72, 56,33, 30,20, 37,56, 50,54, 82,74, + 77,52, 11,24, 38,64, 26,75, 3,53, 30,37, 76,14, 60,43, + 8,70, 87,21, 72,77, 32,51, 50,73, 85,50, 62,40, 43,17, + 25,25, 50,86, 37, 2, 54,61, 53, 9, 82,70, 11,72, 34,11, + 33,68, 69,61, 5,22, 86,17, 9,51, 12,70, 31,31, 58,27, + 59,34, 16,81, 26,74, 57,36, 16,70, 71, 6, 74,69, 43,51, + 55,63, 75,50, 30,74, 73,67, 50,59, 61,52, 27,57, 15,31, + 19,70, 79, 6, 80,67, 48,49, 71,14, 10, 6, 7,46, 70,57, + 77,85, 81,35, 84,24, 76,27, 80,39, 78,64, 17,85, 12,54, + 54,16, 79,73, 67, 9, 80, 4, 36, 4, 83,15, 26,15, 78,80, + 74, 5, 25,31, 31,24, 83,25, 25,26, 9,61, 54,48, 48,16, + 30, 3, 29,60, 13,42, 6, 4, 4,11, 30,32, 54,64, 84,20, + 35, 8, 45,78, 43,20, 72,83, 11,37, 23,24, 27, 7, 86,31, + 77,35, 62,25, 26,43, 61,77, 42,15, 48, 3, 2,72, 40, 9, + 8, 0, 70,86, 16,71, 82,81, 16,63, 59,85, 10,31, 19, 0, + 30,42, 21,55, 5,88, 30, 9, 0, 7, 44,34, 28, 9, 8,72, + 33,57, 3, 4, 45,28, 50,37, 72,32, 19,61, 14,83, 0,19, + 35,30, 13,20, 60,15, 34,16, 15,61, 41,49, 57,62, 24,59, + 86,20, 34,75, 87,64, 66, 2, 26,71, 81,45, 2,61, 6,33, + 31,67, 73,56, 61,21, 62,16, 50,82, 85,46, 54, 2, 37,10, + 87,63, 66,64, 77, 2, 3,32, 60, 2, 58,85, 19,87, 50,69, + 31,23, 10,33, 88,60, 19,47, 39,53, 44,27, 20, 7, 22,33, + 89,38, 85,18, 33,26, 83,27, 81,89, 78,52, 7,87, 64, 7, + 4, 0, 40,44, 72,75, 86,29, 36,68, 54,54, 14,55, 6,35, + 7,58, 82, 3, 44,11, 29,71, 11, 8, 74,32, 77,73, 2,10, + 56,47, 35,77, 11,70, 71,85, 80,76, 39,78, 77,59, 76,57, + 26,79, 49, 7, 26,85, 34,35, 13,84, 3,39, 14,77, 0,33, + 37,58, 44,79, 28,62, 31,21, 24,54, 29,87, 30,47, 42,75, + 80,79, 71,20, 51, 8, 59,12, 65,59, 50,61, 11,27, 49,80, + 54,76, 52,89, 45,55, 49, 1, 37,38, 36,28, 19,43, 70, 8, + 8,34, 42, 7, 64,63, 89,56, 74,62, 77,14, 54, 9, 14,44, + 57,64, 10,85, 7,26, 69, 1, 21,59, 4,55, 49,58, 28, 3, + 10, 1, 26,52, 55, 9, 74,54, 16,37, 52,38, 9,24, 40,31, + 21,12, 31,19, 6,39, 48, 6, 77,89, 72,11, 39, 9, 20,52, + 88,34, 63,21, 23,60, 33,41, 17,14, 27,75, 71, 2, 8,10, + 51,77, 0,52, 5,52, 31,65, 18,39, 85,76, 10,29, 82,26, + 70, 3, 53,42, 39,44, 3,89, 80,84, 67,53, 49,18, 88,44, + 65,19, 41, 2, 83,35, 68,14, 85,49, 40,85, 68,54, 33,67, + 53,28, 25,76, 81,88, 65,82, 18,84, 38, 1, 38, 5, 42, 0, + 85,11, 85,86, 28,83, 39, 3, 20,36, 4,36, 42,71, 46,23, + 71,37, 14,78, 45,33, 1,64, 16,83, 45,56, 62,61, 50,88, + 4,29, 47,80, 28,31, 54,80, 24,88, 3,59, 0,55, 7,27, + 49,75, 82,16, 24,31, 29,43, 15,24, 67,66, 63,36, 44,73, + 31,33, 7, 9, 26,88, 53,65, 70,33, 73,88, 67,22, 12,39, + 37,32, 16,89, 51,38, 72,64, 21, 9, 59,74, 36,59, 53,85, + 48,20, 26,19, 78,10, 79,20, 3,43, 49,71, 69,68, 81,10, + 13,38, 56, 6, 49,16, 23,16, 39,50, 0,63, 25,32, 11,29, + 72,43, 22,35, 71,48, 4,74, 46,83, 46,57, 89,65, 64,57, + 10,18, 75,19, 33,66, 57,49, 39,26, 15,42, 48,55, 16,31, + 28,33, 74,49, 55, 8, 62,60, 38,73, 17,67, 11,88, 23,84, + 19, 6, 79,46, 44,50, 41,70, 63,86, 30,86, 9, 7, 51,25, + 73,40, 72,87, 39,33, 60,55, 57,15, 1,79, 60,65, 9,77, + 0,83, 22,50, 32,62, 59,50, 31,60, 14,54, 86,14, 8,17, + 86,71, 30,68, 76,31, 41,44, 25,61, 32,60, 35,23, 61,63, + 81,36, 65,13, 71,28, 58,60, 20,68, 34,55, 85,42, 69,88, + 55,68, 18,11, 84,75, 72,10, 32,82, 1,38, 7,30, 68, 9, + 86, 5, 67,31, 8,22, 72,20, 32,76, 62,64, 22,77, 61, 2, + 56,42, 18,42, 6,14, 22,12, 53,86, 5, 4, 40,29, 49,40, + 86,53, 17,23, 56,27, 10,70, 50,35, 71,78, 71,60, 52, 2, + 49,50, 48,11, 30,28, 6,60, 43,71, 87,20, 28, 8, 86,87, + 30,67, 58,84, 12,58, 55,75, 69,11, 45,80, 36,83, 8,43, + 70,34, 17,52, 89,13, 3,37, 54,79, 31,43, 47,83, 78,86, + 66,52, 5,29, 42,22, 27,84, 67, 6, 4,79, 75, 0, 77,71, + 80,74, 2,77, 5,45, 88,16, 21,11, 30,56, 69,42, 18,12, + 10,34, 40,33, 48, 1, 45,83, 83, 2, 75,48, 25,43, 70,64, + 11,80, 21,88, 52,66, 5,43, 29, 0, 56,89, 36,67, 15, 3, + 58,79, 76,32, 1,35, 10,22, 53,82, 4,71, 24,64, 82,46, + 66,16, 72,14, 88,86, 16,73, 8, 8, 55,28, 58,88, 74,41, + 58,48, 53,62, 65,23, 40,18, 51,85, 52,33, 75,61, 2,11, + 18,21, 81,61, 59,10, 41,76, 48,42, 33,22, 75,10, 84,11, + 28,22, 65,66, 67,26, 25,48, 63,38, 39,43, 43,61, 21,37, + 0, 0, 69,14, 53,51, 27,76, 89,18, 40, 0, 7,89, 8,25, + 70,10, 67,21, 24,56, 47,36, 36,72, 19,23, 74,28, 67,29, + 18,32, 63,17, 78,49, 19,28, 89,12, 55,20, 57,61, 78,81, + 56,10, 9,43, 64,70, 24,20, 54, 8, 21,65, 24,61, 34,57, + 86,83, 88,51, 2,36, 18,34, 4, 1, 81,62, 10,11, 61,84, + 10,51, 66,10, 75,65, 69,49, 82,53, 20,81, 64,79, 84,39, + 25,18, 47,51, 67,47, 79,29, 63,28, 28,80, 29, 1, 43,33, + 88,79, 23,58, 42,19, 52,39, 28,12, 58, 8, 65,33, 3,83, + 12,25, 4,87, 38,23, 72,88, 55,48, 58,30, 1,54, 8,54, + 39, 2, 72,76, 84,67, 36,66, 21,41, 16,62, 87,50, 59,49, + 83,43, 34,32, 88,63, 8,50, 15,14, 7,32, 57,68, 72,35, + 83,42, 65,84, 84,17, 27,26, 18,79, 72,22, 74,35, 51,88, + 6,85, 83,65, 16,74, 81,56, 27,28, 62,71, 45,18, 4,68, + 29,34, 7,39, 30,70, 14, 7, 6,75, 64,72, 49,22, 18,78, + 83,71, 86,52, 42,44, 26,82, 51,70, 19,64, 14,11, 53,15 +}; +const int p_90_11[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1524, + /// Array of preferences + 62,18, 67,85, 89,69, 41,14, 0,54, 67,84, 9, 8, 15,89, + 78,73, 48,41, 25,26, 7,49, 54,89, 3,72, 57,13, 29,82, + 68,77, 9,49, 24,22, 9,69, 9,51, 12, 3, 38,12, 89,42, + 4,77, 58,89, 44,16, 5,77, 88,78, 32, 8, 7,52, 18,81, + 76,76, 72,74, 82,42, 57,69, 5,42, 9,61, 84,64, 3,21, + 12,77, 79,76, 70,79, 50,63, 68,46, 47,24, 2, 1, 25,86, + 84, 5, 43,14, 17,79, 28,45, 26, 9, 47,29, 58,63, 60,89, + 70,16, 27,44, 39,29, 5,75, 66,48, 35, 5, 21,86, 62,80, + 36,30, 88,89, 3,48, 50,54, 7,45, 5,12, 11,43, 26,23, + 89,22, 78,84, 85,52, 4,17, 12,38, 18, 4, 32,63, 64,15, + 43,68, 16, 4, 85,46, 8,61, 38, 5, 29,50, 54,27, 49,51, + 26,71, 57,83, 22,37, 46,79, 11,44, 5,38, 46,44, 3,28, + 30,34, 80,32, 30,25, 27,29, 88,59, 71,50, 49,61, 76,59, + 5,40, 4,45, 84, 8, 86,88, 27,19, 64,69, 31,85, 41,27, + 22,29, 34,84, 28,11, 25,41, 2,40, 40,37, 15,28, 75,89, + 10,42, 55,83, 29, 4, 12,18, 89,77, 17,21, 38,59, 37,56, + 17,13, 58,38, 41, 2, 40,60, 43,62, 53,66, 17,61, 73,35, + 62,76, 79,44, 73,11, 74,15, 59,72, 69,80, 67,47, 32,48, + 55,58, 20,73, 69,66, 66, 4, 66,18, 59,89, 75,75, 47,74, + 10, 4, 22,82, 43, 2, 56,26, 45,71, 15,81, 57,71, 23,51, + 59,49, 47,14, 28,13, 74,89, 77,48, 74,82, 62, 7, 68,72, + 67,64, 78, 2, 52,88, 41,74, 34,62, 71,36, 89,33, 37,70, + 35,70, 11,64, 14,65, 86,21, 21,29, 45,68, 63,36, 19,67, + 28, 4, 35,25, 4,52, 52,50, 71,19, 36,13, 28,75, 7,14, + 85,27, 38,74, 7,74, 42,78, 36,12, 40,64, 26,78, 70, 4, + 81,69, 78,69, 58,14, 8,37, 36,83, 19,45, 22,22, 81,82, + 16, 6, 65,49, 28,32, 80,62, 58,47, 80,76, 6,56, 52,56, + 58,45, 26,18, 13,38, 2,82, 53,40, 56,33, 82,31, 79,45, + 23,86, 83,15, 79, 5, 49,56, 6,88, 23,35, 18,42, 9,81, + 85, 9, 77,63, 65,75, 58,65, 66,69, 84,27, 55, 5, 22,62, + 20,60, 44,61, 0,77, 22,40, 40,49, 40,28, 40,85, 78,62, + 80,16, 42, 2, 24,61, 77,72, 6,70, 4,38, 22,79, 23,84, + 42,44, 21,39, 17,64, 33, 2, 30,45, 23,78, 39,77, 74,25, + 42, 7, 4,85, 67,16, 1,32, 62,60, 50,50, 19,68, 51,43, + 54,78, 31,22, 70, 1, 29,44, 27,71, 18,66, 84,16, 22,17, + 79, 3, 57,44, 62,71, 79,60, 62,27, 40,75, 89,46, 78, 6, + 56,36, 51,62, 3,70, 60,76, 11,76, 56,20, 29,68, 67,13, + 12,81, 41,85, 79,63, 52,19, 53,55, 68,20, 27,78, 32,41, + 30,54, 7,57, 3, 6, 37,41, 68,51, 2,75, 81, 3, 54,65, + 50,43, 65,34, 83,20, 64,59, 50,52, 67, 8, 19,33, 66,27, + 77,18, 36,31, 38,58, 5,69, 31,33, 47,45, 79,86, 7,51, + 37,87, 60,34, 29,51, 87,42, 9,63, 29, 1, 76,84, 86,69, + 43,33, 18,50, 27,66, 50,11, 46,30, 53,54, 59,73, 63,28, + 86,62, 68,33, 78, 5, 19,71, 67,25, 11, 3, 67,56, 27,50, + 4,42, 30,32, 70,62, 11,58, 28,55, 22,59, 83,81, 7,47, + 42,87, 23,55, 19,37, 8,23, 70,41, 27,43, 39,49, 72,48, + 89,57, 56,77, 21, 3, 34,82, 54,43, 26,41, 43,34, 83,57, + 14, 6, 73,70, 50, 2, 47,67, 39,57, 5, 5, 81,70, 11,66, + 17,30, 89,74, 47,19, 64,32, 1,15, 67,18, 6,13, 87,14, + 23,76, 48,58, 67,80, 29,60, 55,31, 28,68, 66,43, 89,88, + 27, 3, 55,22, 79,12, 4,18, 54, 2, 67,70, 11,37, 10,51, + 51,40, 12,33, 59,47, 32,19, 71,52, 36, 0, 59,12, 30,15, + 83,29, 66,59, 14,20, 44,58, 46,40, 12,56, 75,71, 45,61, + 0,80, 52, 1, 45,64, 78,28, 88,33, 42,47, 22,45, 42,18, + 4,63, 31,18, 78,72, 78, 1, 59,29, 67, 1, 40,89, 8,66, + 59,15, 0,85, 6,44, 0,69, 63,12, 63,16, 8, 2, 22,71, + 31,56, 22,15, 67,73, 54, 1, 38,50, 21,37, 86,67, 74,55, + 82,73, 9,57, 32,12, 47,79, 78, 4, 84,21, 22,33, 49,74, + 35,29, 10,49, 21,82, 54, 9, 58,61, 79,69, 88,26, 87,19, + 79,72, 88, 2, 28, 1, 77,71, 43,88, 52,58, 49,82, 9,83, + 18,87, 57,74, 6,81, 13,48, 83, 0, 6,67, 15,65, 29,40, + 20,77, 75,77, 84,33, 30,67, 44,21, 31,87, 24,43, 37,35, + 1,13, 52,78, 80,79, 80,66, 69,29, 43, 5, 77,30, 25,18, + 57,34, 20,71, 24, 1, 29,83, 11,85, 71,32, 39, 1, 78,35, + 66,34, 8, 9, 0,83, 23,80, 5,39, 67,44, 32,54, 21,12, + 17,15, 83,50, 65,26, 81,41, 21,74, 37,86, 35,47, 61,86, + 33,60, 42,16, 71,60, 13, 3, 67,35, 2,30, 26,22, 72,38, + 78,77, 43,19, 8,86, 77,89, 86,79, 47, 0, 78,65, 12, 8, + 22,30, 77,65, 5,85, 39,56, 26,81, 45,24, 87,75, 72,22, + 16,88, 29,23, 42,72, 36,41, 81,66, 18, 0, 9, 0, 11,52, + 89,65, 74,65, 41, 7, 8,72, 47,65, 20,83, 89,83, 18,86, + 72,81, 18, 3, 33,51, 86,15, 4,86, 11,79, 41,67, 8,31, + 39,72, 30,22, 61,89, 8,74, 5,52, 40,57, 71,61, 53,50, + 63,37, 32,52, 64,89, 80,34, 65, 4, 23,46, 17,71, 88, 6, + 50,89, 26,80, 28,66, 87,62, 53,88, 0,68, 63,54, 36,82, + 76,12, 37,69, 41, 8, 46,62, 16,26, 66,74, 57,55, 52,25, + 7,20, 53,35, 54,48, 60,64, 46,13, 20, 6, 32,79, 45,49, + 25,38, 37, 0, 83, 9, 19,89, 51,18, 19,81, 13,86, 72,17, + 35,57, 40,86, 74, 3, 63,33, 10,50, 33,76, 9, 5, 88,23, + 10,82, 48,73, 64,68, 81,19, 57,63, 80, 2, 63,83, 51, 4, + 38,81, 50,84, 36,66, 60,86, 46,57, 59,14, 69,19, 65,67, + 44, 1, 62,41, 2,53, 27,20, 55, 1, 52,48, 85,38, 64,81, + 22,16, 78,52, 43, 6, 14,85, 17,56, 61,53, 88,10, 38,24, + 79,27, 58,83, 41, 0, 65,31, 75,11, 49, 4, 7, 6, 38,65, + 40,82, 36,15, 68,45, 73,63, 67, 5, 84,75, 6,42, 15,30, + 71,78, 2,81, 20,29, 18,76, 66,41, 8, 8, 12,57, 35, 1, + 55, 8, 6,26, 35,32, 7,24, 11,20, 38,51, 19, 8, 61,61, + 48,68, 41,52, 76,45, 85,32, 16,85, 0,45, 35, 3, 6,18, + 5,78, 70,58, 67,54, 82,87, 33,75, 66,72, 84,51, 33,82, + 89,24, 25,30, 64,84, 13, 5, 16,33, 49, 1, 70,64, 32,28, + 11, 6, 55,78, 14,32, 22,19, 73,85, 25,88, 53,28, 79, 1, + 61,65, 70,74, 44,65, 26, 4, 4,14, 50,60, 16,83, 23,20, + 42,74, 25,76, 18,85, 49,88, 76,79, 72,68, 21,64, 70, 8, + 14,53, 55,19, 52,36, 36,88, 37,28, 89,15, 82,12, 36,34, + 5, 9, 87,44, 71,73, 53,82, 67,62, 88,40, 17,60, 74, 6, + 39,65, 5,22, 50,32, 60,13, 61,47, 56,24, 81,46, 45,25, + 87,54, 50,68, 28,65, 27,73, 85,24, 47,57, 55,27, 85,85, + 42,26, 14,87, 82,84, 8,67, 38,73, 45,85, 51,64, 54,28, + 48,16, 24,11, 76,22, 63,45, 26,36, 19,83, 67,23, 15,44, + 63,43, 19,16, 43,56, 17, 7, 43,51, 43,36, 74, 2, 75,69, + 1,83, 84,87, 50,88, 26, 8, 45,34, 57,25, 13, 8, 8, 0, + 13,27, 70,83, 25,36, 43,24, 4,11, 29,21, 7,33, 74, 1, + 70, 9, 87,84, 71,64, 25,78, 56,51, 44,67, 70, 0, 15,18, + 15,14, 15,39, 84,81, 39,34, 5,48, 27,23, 36, 6, 12,22, + 71,41, 7,80, 33, 5, 48, 6, 17,12, 52,79, 36,23, 28,30, + 23,19, 35,86, 37,16, 47,48, 29,27, 85,67, 7,83, 47,68, + 84,47, 43,74, 31, 8, 39,35, 14,10, 84,53, 30, 2, 62,70, + 24,68, 24,72, 79, 8, 50,71, 70,55, 69,49, 49,59, 51,23, + 20,59, 73,31, 5,32, 85,48, 46,54, 44,19, 81,87, 79,42, + 60,66, 0,33, 54,35, 46, 2, 84,59, 58,82, 85,73, 60,23, + 43,86, 5,87, 48,72, 18,77, 47,47, 23,15, 74, 7, 88,88, + 43, 9, 28,82, 37, 5, 15,26, 29,29, 74,64, 31,49, 50,75, + 62,83, 27,83, 15,32, 15,48, 1,66, 21,25, 3,77, 82,25, + 20,51, 26,37, 40,80, 35,21, 42,50, 7,56, 84,39, 7,40, + 21,72, 80,88, 80,87, 9,27, 14,30, 28,71, 60,65, 32,83, + 24,57, 53,29, 67,79, 43,81, 83,77, 42,84, 45,19, 20,22, + 21,30, 6,40, 89,20, 0,59, 51,31, 21,41, 58,13, 3,39, + 5,66, 22,26, 22,83, 7,65, 23,66, 8,53, 80,74, 11,55, + 46,16, 21,51, 48,52, 23,43, 7,59, 59,34, 25,22, 85,56, + 51,38, 44,85, 12,15, 48,38, 69,17, 76,46, 89,58, 21,32, + 46,70, 62, 9, 52,13, 60,24, 28,20, 49, 2, 65,71, 60,17, + 64,88, 11,11, 27,45, 74,87, 52,37, 87,81, 50,36, 88,61, + 84,68, 35,84, 68,63, 46,65, 28,86, 28,42, 47,49, 81,67, + 86,38, 77,87, 62,35, 30,30, 55,44, 11, 8, 4,78, 23,85, + 32,72, 69,64, 21,36, 59,86, 48,14, 12,19, 16,60, 67,86, + 61,25, 46,32, 38, 1, 58,23, 33,78, 89,41, 55,68, 56, 8, + 88,71, 43,54, 61,46, 21, 5, 43, 4, 4,55, 79,70, 14,56, + 42,54, 66,55, 83,26, 51,69, 6, 1, 60,54, 3,89, 60,44, + 81,79, 86,24, 59,65, 24,50, 56,52, 6,52, 47,66, 40,21, + 18,36, 54, 3, 17,57, 43,37, 58,50, 12,13, 67,45, 52,77, + 51,58, 63,42, 70,81, 42,12, 3,49, 25,44, 81,81, 46,86, + 6,16, 34, 8, 69,65, 36,54, 32,80, 23,14, 71,34, 51,47, + 31,37, 39,15, 10,74, 72,65, 87,83, 62,36, 38,42, 19,26, + 20,12, 39,12, 11,10, 75, 1, 61,48, 85,15, 13,22, 37,44, + 21,58, 71, 0, 2,54, 47,40, 74,11, 82,52, 60,74, 16, 5, + 74,59, 35, 9, 13,44, 57,56, 74,31, 21,66, 50, 6, 22, 8, + 12,89, 12,58, 78,89, 68,43, 32,33, 41, 3, 4, 0, 7,76, + 66,42, 76,64, 58, 6, 82, 2, 20,14, 13,69, 11,69, 86,84, + 85,58, 69,60, 78,11, 58,77, 8,78, 24,13, 4,33, 73,13, + 67,65, 87,50, 1, 7, 62,42, 77,42, 17,59, 27,36, 45,41, + 78,58, 72,24, 80,67, 13,50, 39,55, 59,61, 52,28, 2,31, + 4,81, 54, 5, 20,84, 66,70, 14,54, 24,65, 73,28, 60, 5, + 60,39, 57,60, 40,76, 70,45, 80,18, 24,23, 46,45, 9,24, + 28,63, 40,20, 55,17, 44,11, 73,27, 25,47, 62,64, 6,43, + 55,25, 49,45, 69, 7, 53,41, 45,50, 31,23, 73, 4, 45,72, + 56,13, 6, 6, 28, 6, 33,81, 23,30, 22,21, 68,67, 14,74, + 65,25, 88,12, 73,89, 70,18, 33,31, 34,22, 15,72, 69,33, + 77,49, 87,53, 37,62, 13,28, 76,78, 89,26, 50,45, 34,33, + 3,78, 81,54, 8,15, 17,44, 70,84, 38,63, 49,21, 77,47, + 41,21, 76,18, 7,73, 20, 2, 37,33, 59,41, 53,69, 57,14, + 45,33, 16,67, 61,81, 23,23, 65, 0, 39,36, 0,72, 13,43, + 75,78, 0,29, 69,75, 15, 6, 73,75, 26,43, 5,28, 75,72, + 81,73, 85,45, 37,80, 33,85, 39, 8, 26,74, 36,85, 27,52, + 89, 9, 60,26, 2,43, 84,31, 4,62, 14,22, 48,60, 63,55, + 73,54, 82,37, 88, 7, 13,16, 78,55, 1,17, 26,34, 34,41, + 3,73, 37, 8, 77,75, 10,22, 38,22, 56,39, 41,89, 52,11, + 53,22, 25,75, 75,62, 47,61, 6,20, 26,49, 22,53, 39,51, + 38,38, 56, 2, 65,79, 48,30, 23,58, 56,32, 17,29, 33,17, + 51,57, 81,64, 89,32, 82,85, 57,57, 26,31, 47,58, 85,40, + 18,78, 69,28, 46,80, 70,50, 9,22, 58,81, 62,78, 71,48, + 12,25, 58,68, 2,70, 40,72, 74,46, 1,25, 47,50, 26,77, + 68,57, 61,79, 36,20, 54,70, 30,64, 66,49, 56,82, 61,32, + 13,35, 21, 9, 53,71, 77,28, 18,39, 55,86, 11,54, 49,17, + 73,22, 46,59, 89,56, 8, 4, 8, 5, 19,38, 82,36, 48,79, + 75,79, 32,89, 30,17, 76,23, 56,84, 79,37, 53,15, 89,59, + 15,58, 53, 8, 81,36, 5,59, 67,10, 17,80, 27,21, 35,58, + 74,16, 4,61, 18,49, 48,23, 34,17, 10,57, 71,29, 25,24, + 11,48, 36,53, 12,31, 51,60, 71,84, 72,15, 20,28, 4,84, + 59, 7, 3,82, 75,40, 69,25, 49,12, 89,29, 41,40, 25,58, + 12,85, 45,82, 21,11, 71,57, 54,42, 20,70, 52,26, 46,87, + 83,16, 43,32, 9, 3, 30,23, 86,53, 74,52, 32, 1, 34,18, + 67,66, 3,18, 44,52, 35,60, 6,85, 80,17, 43,10, 70,56, + 88,83, 53, 4, 16,71, 36,89, 80,50, 17,75, 23,16, 61,11, + 72,25, 24,10, 9,17, 19,61, 79,56, 11,80, 27,84, 85,86, + 43,47, 82,56, 81,65, 0,67, 50,20, 63,38, 11,75, 1,52, + 1,67, 39,58, 11,81, 57,67, 34,21, 47,32, 57,87, 21, 0, + 43,12, 33,23, 47,33, 19,77, 60, 9, 56,64, 54,86, 68,28, + 70,37, 29,46, 68,54, 73,58, 55,21, 74,43, 81,59, 27,30, + 29, 9, 79,58, 4,22, 89,14, 83,68, 76,58, 70,46, 35,13, + 69,37, 35,63, 77,23, 58,56, 60,52, 54,71, 26,16, 62,49, + 28,22, 12,20, 76,13, 65,84, 75,18, 43,70, 58,29, 18,69, + 76,21, 56,34, 87,18, 11,16, 33,58, 27,81, 51,28, 0,16, + 40,38, 81,44, 2, 2, 65,47, 2,60, 18,71, 30,13, 4,39, + 10,25, 69,51, 1,79, 25, 7, 47, 8, 55,41, 85,11, 41,59, + 50, 3, 27,58, 21,14, 10,76, 62,34, 86,43, 50,29, 12, 9, + 75, 0, 6,57, 82,70, 34,27, 12,84, 86,22, 16,87, 70,24, + 30,84, 49,60, 28,48, 6, 3, 28,14, 21,47, 62,66, 78,66, + 9,64, 73,83, 24,44, 67,34, 7,42, 62,39, 37,10, 65,22, + 83,45, 2, 7, 79,23, 57,45, 35, 0, 32,66, 43,57, 9,48, + 59,31, 47,11, 44,32, 17,52, 33,42, 4,58, 35,23, 74,26, + 57,54, 58,10, 15,47, 4,12 +}; +const int p_90_12[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1292, + /// Array of preferences + 39,14, 3,37, 16,88, 84,56, 13,33, 2,59, 46,31, 0, 0, + 54,69, 72,38, 38,20, 62,58, 40, 8, 40, 7, 47,74, 85,52, + 13,25, 23,42, 36,42, 72, 5, 16,56, 34,28, 83,27, 60,12, + 32,36, 19,12, 72,39, 18,50, 44,58, 10,58, 12,40, 59,18, + 36,88, 77,18, 64,84, 14,86, 33,89, 37,71, 13,15, 51,28, + 45, 0, 59,40, 61, 7, 57,40, 17,79, 40,72, 89,88, 14,49, + 78,17, 2,75, 78,55, 69,19, 51,25, 78,61, 10,28, 12,39, + 61,13, 69, 1, 40,68, 84,13, 10, 4, 77,61, 10, 2, 70,30, + 55,18, 39, 5, 3, 5, 76,74, 15, 9, 29,51, 6,82, 55,61, + 4,57, 67,40, 75,54, 24,13, 20,55, 19,11, 76, 4, 66,46, + 18, 5, 75,15, 14, 1, 89,58, 49,49, 34, 7, 25,13, 81,24, + 3, 9, 0,77, 66, 5, 48, 4, 15,45, 40,74, 14,61, 29,60, + 23,45, 74,51, 18,36, 56, 2, 63,53, 61, 3, 62,63, 68,66, + 41, 5, 75,57, 75,68, 0,58, 25,66, 69,43, 16,86, 4,75, + 6, 1, 86,38, 21,50, 57,31, 82,60, 30,46, 32,39, 9,53, + 89,46, 63, 0, 44,66, 12,80, 7,47, 21, 5, 55,86, 27,44, + 79,87, 19,65, 74,16, 73,69, 38,88, 41, 0, 45,84, 46,77, + 69,16, 0,50, 8,48, 3,88, 69,57, 18, 0, 18,58, 41,72, + 44, 8, 32,26, 57, 7, 52,66, 72,55, 55,50, 74, 0, 27,45, + 19,36, 23,34, 61,33, 7,18, 36,15, 58,12, 83, 2, 45,35, + 7,70, 86,15, 3,15, 9,52, 82, 8, 29,44, 22,14, 56,70, + 62,54, 27,56, 50,47, 30,11, 69,27, 22,75, 52,86, 33,33, + 58,86, 74, 7, 55,78, 57,55, 62,25, 43,62, 23,58, 72,27, + 58,66, 3,53, 73,27, 19,20, 53,67, 54,89, 44,11, 16,89, + 52,68, 32,33, 60,68, 56,59, 86,47, 67,10, 62,50, 78,10, + 76,26, 76,11, 18,85, 84,88, 65,24, 46,75, 87,54, 79,21, + 77,32, 68,58, 80, 5, 30,20, 37,86, 26,13, 54,55, 46,54, + 74,37, 77,59, 52,48, 79, 2, 6,80, 72,63, 67,71, 16,40, + 70,19, 56,22, 26,62, 15, 4, 13,73, 51,37, 33,23, 25, 8, + 34,19, 20,19, 29,53, 45,38, 12,12, 23,39, 14,13, 65,42, + 20,15, 55,62, 48, 0, 52,59, 4,88, 61,62, 83,42, 49,37, + 25, 5, 61,12, 79,15, 10,63, 5, 4, 70, 8, 47,61, 48,41, + 76,67, 89,30, 4, 5, 31,15, 39,63, 16,50, 42,68, 37,87, + 35,75, 41,79, 62,78, 28,47, 65,45, 20,56, 51,36, 1,36, + 75,80, 18,66, 34, 0, 45,79, 30,85, 22,82, 31,12, 21,41, + 46,59, 34,75, 21,85, 5,86, 50,34, 29,23, 78,85, 23, 9, + 45, 1, 40,33, 52,87, 86,53, 22,19, 7,43, 31,58, 35,57, + 3,34, 36,45, 47,43, 59,87, 1,55, 17,16, 60,23, 45,63, + 21,87, 9,67, 32,51, 27,19, 49,76, 65, 3, 1,61, 47,55, + 62,51, 40,81, 55,69, 18,10, 80,21, 0,26, 80,46, 17,59, + 51,86, 56,76, 36,44, 73,17, 45,17, 79,52, 51,66, 87,43, + 35,17, 87,86, 59,49, 19,34, 28, 4, 47,16, 30, 1, 55,70, + 32,18, 13, 8, 22, 6, 72, 8, 78,32, 2,43, 37,63, 81,38, + 66,42, 2,30, 41, 8, 20,17, 56,17, 48,38, 74,88, 63,82, + 79,55, 40,17, 4,76, 16,31, 57,73, 28,76, 78,25, 62,86, + 66,37, 66,59, 47, 4, 61, 8, 56,27, 4,22, 7,76, 83,44, + 42,38, 66,89, 16,52, 68,72, 50,87, 2,61, 30,86, 8,61, + 57,44, 52,37, 8,52, 63, 1, 56,24, 61,80, 76, 0, 14, 5, + 11,10, 15,18, 88,35, 66, 8, 28,42, 22,72, 82,46, 54,42, + 48, 1, 38,57, 75,21, 61,14, 12,64, 14,78, 54,86, 7,88, + 35,18, 18,49, 63,43, 72,74, 61,67, 22,24, 32,49, 77,83, + 13,42, 15,73, 41,43, 36, 4, 61,69, 65,51, 10,35, 19,24, + 47,81, 39,80, 76,49, 8,53, 80,56, 14,81, 21,21, 89,36, + 80,63, 32,60, 19,27, 85,79, 42,50, 48,31, 47,63, 34,13, + 52,43, 58,48, 7,48, 22,85, 25,59, 48, 7, 68, 5, 2,85, + 73,88, 28,29, 88,58, 23,47, 16,48, 85, 5, 76,31, 89,32, + 67,70, 57,57, 3,27, 42, 2, 30,30, 82,70, 77,21, 75,53, + 71,33, 60,86, 69,56, 14,21, 66, 9, 14,50, 36,26, 20,70, + 0,20, 47,67, 4,53, 42, 6, 24,86, 16,49, 51,48, 6,48, + 57,56, 34,51, 1,50, 47,64, 87,53, 78,69, 53,66, 85,57, + 35,48, 48,80, 88,30, 31,44, 31,83, 86,69, 37,73, 81,85, + 10,70, 32,14, 78,41, 54,81, 67,46, 8,66, 34,82, 48,89, + 82,81, 86,84, 22,89, 82,71, 44,27, 33,78, 40,82, 1,30, + 3,65, 70, 5, 54, 8, 88,55, 14, 2, 65,84, 73,16, 44,87, + 64,52, 47,18, 88, 5, 8,55, 5,46, 52,69, 62,88, 53,43, + 24,54, 27, 9, 29,36, 69,30, 50,80, 78,86, 72,14, 5,71, + 12,81, 49,66, 78,18, 80,76, 50,54, 4,12, 64,48, 77,53, + 77,27, 13,32, 27, 3, 35,86, 16,63, 27, 7, 33, 0, 67,41, + 59,84, 84,30, 15,71, 12,68, 82,44, 84,66, 12,38, 66,49, + 4,41, 28,17, 29,45, 19,47, 22,18, 2,82, 59,76, 83,28, + 66,52, 48,66, 54,44, 59,14, 84,68, 41,38, 46,73, 8,81, + 86,41, 85,77, 73,71, 48,76, 57,65, 9,27, 38,79, 41, 3, + 81,66, 50,42, 89,24, 50,11, 69,69, 57,11, 70,41, 35,46, + 72,66, 55, 3, 13,76, 75,51, 80,35, 2,79, 83,13, 20,35, + 52,64, 87,31, 65,26, 31,71, 67,44, 27,42, 39,55, 0,66, + 14,30, 26,45, 30,52, 12,49, 10,49, 51,80, 17,83, 41,83, + 60,76, 34,45, 37,84, 76, 6, 16,87, 62,59, 29,52, 81,30, + 54,12, 48,36, 37,89, 66,36, 66,40, 32,59, 44,73, 42,12, + 25, 4, 84,62, 43,30, 64,29, 86,21, 61,34, 67,29, 69,11, + 31,62, 85,20, 35,36, 21,61, 55,65, 55,12, 57,15, 12,66, + 77,66, 24,71, 82, 7, 84,20, 33,61, 33,65, 71,14, 83,31, + 4,20, 79,69, 72,48, 73,80, 12,17, 54,83, 29, 7, 87,21, + 56, 8, 37,16, 46,69, 52,80, 83,63, 81,20, 24,58, 4,35, + 50,78, 6,33, 74,70, 41,31, 28,74, 71,30, 65, 1, 44,48, + 70,77, 6,63, 11,84, 88,77, 45,89, 6,74, 55,17, 66,62, + 29,37, 20,89, 29,25, 53,50, 61,48, 88,31, 66,76, 64,21, + 27,71, 84,55, 76, 5, 60, 0, 74,85, 37,85, 47,30, 64, 6, + 86,72, 13,77, 67,54, 78,44, 49, 0, 33,70, 64,86, 21,67, + 48,60, 67,59, 23,69, 65,19, 13,24, 42,49, 39,15, 37,19, + 12,46, 22,47, 74,69, 45,53, 40,66, 12,20, 2,34, 20,21, + 39, 1, 74,76, 71,85, 32,69, 74, 5, 37,64, 54,35, 58,83, + 15,84, 78,51, 4,65, 30,78, 22,66, 33,60, 32,40, 35,84, + 75,42, 3,81, 8,44, 54,45, 41,74, 73,18, 46,19, 34, 1, + 31,32, 4,73, 0,64, 34,79, 29, 6, 11,74, 19,87, 21, 0, + 23,67, 11,20, 30,60, 61,36, 78,42, 41,35, 42,31, 86, 7, + 82,82, 84,46, 79,49, 12,30, 52,73, 85,73, 70,68, 59,58, + 68,61, 51,44, 56,51, 56,72, 45,45, 76,85, 59, 9, 54,37, + 36,28, 76,86, 67,14, 76,63, 13,50, 61,55, 66,47, 47,80, + 77,29, 67,52, 47,59, 87,85, 43,85, 80,66, 11,51, 25,18, + 86,58, 22,11, 53,76, 14,54, 57,67, 26,82, 3,87, 41,55, + 11,69, 2,12, 71,67, 5,80, 89,17, 70,62, 66,85, 87, 9, + 22, 5, 87,50, 57,16, 11,65, 20,43, 84,73, 86,25, 30,42, + 0,13, 15,37, 64,51, 27,29, 35,26, 77,34, 26,81, 72,22, + 27,39, 4,86, 30,21, 58, 5, 56,54, 41, 6, 8,29, 7,14, + 67,73, 59,12, 21,45, 1,25, 16,32, 39,36, 32,38, 45,28, + 51, 7, 26,86, 25,72, 66,20, 89,67, 51, 9, 14,64, 38,48, + 4,23, 28,10, 78,78, 76,36, 76,17, 80,22, 72,15, 44, 6, + 64,83, 20,80, 59,13, 13, 5, 48,40, 46,71, 15,41, 39, 0, + 64, 0, 72,85, 27,63, 37,78, 25,15, 43,60, 75,47, 84,89, + 15,28, 89,54, 34,89, 10,55, 70,11, 8,56, 42,64, 11,62, + 84,24, 54,41, 86,78, 53,71, 31, 1, 82,55, 34, 3, 25,85, + 33,43, 65, 0, 78,11, 34,33, 58,13, 0,33, 18,29, 16,84, + 0,84, 73,46, 83,80, 61,89, 10,42, 85,66, 51,51, 16,13, + 23,81, 51,82, 81,32, 53, 2, 86,77, 46,42, 19,77, 88,32, + 23,22, 11,56, 50,63, 12,35, 73,67, 47,84, 15, 7, 37,31, + 39,85, 17,81, 73,61, 81,29, 13,22, 57,42, 11,61, 76,41, + 20,81, 78, 2, 32,85, 20, 3, 74,14, 14,56, 23,30, 52,45, + 85,14, 79,84, 67,36, 74,36, 17,28, 66,11, 31,88, 14,43, + 32,15, 19,80, 84, 7, 8,89, 66,41, 12,65, 22,55, 35, 3, + 10, 6, 26,25, 16,33, 63,36, 83,30, 68,48, 42,36, 42, 5, + 88,33, 20,48, 16,71, 7, 9, 38,38, 45,54, 56,61, 13,16, + 48,23, 39,28, 45,24, 73,64, 6,58, 1,45, 15,29, 49,20, + 71,44, 1,75, 51,27, 50,71, 35,56, 64, 5, 34,35, 25,22, + 29,85, 73,37, 23,63, 65, 2, 1,52, 29,63, 4, 6, 53,56, + 36,10, 18,88, 32,80, 22,34, 31,79, 45,23, 23,13, 51,14, + 81,41, 17,32, 39, 9, 82,33, 2,76, 76,53, 3,28, 2,11, + 57,45, 75,41, 78, 0, 17, 5, 61,16, 84,72, 65,86, 27,78, + 37,77, 38,29, 74,24, 15,22, 2,16, 50,30, 57,88, 33,40, + 44,68, 55, 7, 1,33, 56,66, 52,10, 28,34, 40,86, 13,11, + 65,16, 58,75, 31,55, 17,29, 43,73, 33,16, 77, 8, 84,60, + 49,56, 26, 2, 15,53, 26,22, 85,32, 10,57, 46,39, 68,17, + 18,76, 15,79, 9,31, 65,77, 71,79, 7,30, 5,20, 84, 9, + 58,70, 82,20, 80, 4, 46,83, 5,19, 11,68, 15,59, 66,60, + 19,64, 2,65, 74,81, 31,24, 47,42, 81,14, 43,72, 68,34, + 4,31, 43,77, 1,69, 67,53, 37,13, 60,10, 27,88, 85,47, + 23,38, 54, 4, 37, 6, 3, 6, 66,15, 14,51, 75, 8, 67,87, + 25,44, 16,81, 43,32, 73,51, 51, 0, 11,64, 60,36, 54,59, + 5,89, 87,79, 87,29, 45,80, 16,75, 56,25, 12,62, 46,45, + 54,28, 16,69, 39,89, 19,70, 50,56, 53,14, 87,74, 27,31, + 46,44, 16,53, 18,20, 30, 7, 38, 0, 70,18, 10,29, 85,65, + 39,48, 47,34, 42,39, 12,22, 22,78, 77,15, 33,15, 75,87, + 40,60, 10,34, 11,67, 48,69, 27,64, 39, 7, 67,47, 11,81, + 68,75, 1,51, 89,65, 19,78, 55, 4, 20,51, 36,36, 45,16, + 59,71, 35,74, 14,55, 64,26, 23,29, 19,38, 66, 2, 42, 7, + 62,76, 21,70, 77,26, 69,45, 45,74, 56,83, 9,24, 8,34, + 15,78, 76,40, 25,33, 53,46, 71,48, 35,21, 37,25, 46, 8, + 39,23, 72,28, 49, 9, 25,47, 22,64, 48,35, 6,85, 48,57, + 2,51, 61,68, 10,73, 80,71, 27,23, 82,30, 67,56, 26,77, + 25,83, 70,56, 60,85, 51,50, 13,43, 62, 3, 55,88, 78,16, + 63,46, 4, 3, 77,25, 80,31, 31,42, 76,23, 29, 0, 75,88, + 17,75, 78, 8, 60,65, 60,66, 0,15, 7, 5, 23,78, 17,37, + 54,34, 59,53, 65,64, 9,43, 19,63, 10,79, 38,11, 25,27, + 26,68, 20,85, 76,82, 4,78, 5,34, 25,60, 60,11, 83,84, + 62,13, 41,40, 75,12, 17,82, 64,76, 23,75, 41,28, 27,18, + 35,76, 40,69, 46,18, 1,71, 48,12, 75,13, 22,53, 36,25, + 85,29, 55,85, 22,87, 82,13, 27,59, 52,46, 34,81, 31,65, + 4,36, 69,68, 44,80, 46,15, 51,10, 63,69, 42,13, 64,25, + 37,29, 74,29, 55,45, 2,70, 72, 3, 88,50, 36,21, 31,28, + 54,88, 26, 0, 66,24, 40,38, 87,49, 43,64, 28,48, 53,57, + 37,60, 36,77, 32,53, 71,21, 85,40, 70,40, 49,25, 21,40, + 9,14, 3,59, 73,19, 17,13, 89,79, 61,81, 42,72, 87,46, + 1,60, 73,28, 63,66, 77, 3 +}; +const int p_90_13[] = { + /// Number of people on picture + 90, + /// Number of preferences + 97, + /// Array of preferences + 54,64, 4,53, 64,44, 24,49, 54,84, 51,33, 75,60, 39, 7, + 65,38, 59,52, 38,19, 4,15, 19,36, 71,70, 62,76, 51,78, + 88, 6, 44,19, 76,46, 70,27, 54,35, 42,50, 21, 8, 9,49, + 4,48, 85,62, 3,63, 14,33, 35, 0, 87,67, 9,55, 28,22, + 51,74, 86,46, 89,25, 8, 7, 30,42, 5, 6, 22,77, 66,66, + 30,46, 85,58, 82,22, 28,47, 89,59, 6,37, 47,37, 70,60, + 59,70, 14,51, 6,35, 13,10, 58,13, 56,59, 15,22, 85,55, + 56,66, 89,71, 36, 9, 58, 9, 60, 6, 71,44, 8, 4, 26,35, + 1,68, 88,82, 79,15, 28,48, 11,74, 33,42, 28,75, 73,23, + 44,67, 30,66, 44, 9, 72, 1, 79,79, 81,58, 49,15, 27,29, + 88,74, 61, 4, 36,16, 34,28, 47,57, 41,89, 83,49, 45, 2, + 76,48, 53,77, 28,44, 65,14, 52,10, 22,87, 10,58, 8,44, + 30, 8 +}; +const int p_90_14[] = { + /// Number of people on picture + 90, + /// Number of preferences + 912, + /// Array of preferences + 35,27, 49,82, 67,18, 66,48, 16,17, 59,48, 44,61, 69,89, + 77,13, 81, 3, 82,47, 69,54, 14,73, 70,10, 55, 0, 26,67, + 52,16, 73,53, 1,60, 89,45, 42,46, 26,28, 61, 4, 78,21, + 1,65, 20,66, 5,69, 43,28, 4,57, 75,38, 18,69, 74,10, + 15,27, 86,33, 0,45, 11,19, 32,89, 18,39, 19,86, 19,71, + 51,77, 82,15, 6,72, 80,54, 37,59, 13,47, 44,36, 31,80, + 54,17, 88,31, 63,37, 40,68, 7,77, 25, 8, 51,85, 40, 7, + 15,71, 33, 3, 65,48, 65,53, 72,35, 35,41, 68,80, 72,30, + 2,51, 41,59, 19, 9, 36,79, 33,63, 44,12, 15,29, 25,64, + 67,37, 37,79, 80,29, 20,77, 45,89, 66,21, 83, 1, 64,31, + 11,61, 21,55, 21,43, 11,36, 50,21, 26,61, 6,83, 83,81, + 40,65, 67,70, 64,10, 57,77, 10,46, 1,73, 34, 8, 89,54, + 32, 6, 20,16, 64,54, 1,44, 3,54, 52,34, 87,72, 15,51, + 29,49, 0, 2, 75, 3, 30,50, 18, 6, 54,42, 67,56, 67,43, + 49,31, 86,67, 32,27, 62, 7, 4,67, 79,24, 47,68, 71,26, + 47,20, 77, 5, 36,61, 28,42, 65,74, 62,17, 58,50, 22,72, + 82,43, 56,30, 88, 7, 22,56, 32,68, 70,78, 20,50, 84,14, + 82,62, 31, 5, 8,54, 47, 1, 1,68, 76, 1, 57,80, 48,14, + 49, 1, 53,69, 43,58, 52,56, 80,21, 74,29, 1,45, 43,31, + 42,82, 61,71, 1,63, 61,47, 49,27, 71,41, 75, 6, 73,24, + 6,36, 75,23, 31,86, 8,21, 84,84, 11,65, 77,56, 61,35, + 33, 6, 73,70, 35,60, 85,15, 13,37, 78,77, 79,16, 65,58, + 34,86, 58,25, 23,87, 85,39, 28,34, 83,67, 38,10, 7,10, + 53, 0, 2, 8, 59,17, 37, 3, 42,84, 80,43, 46,82, 54,52, + 67,44, 36,23, 67, 0, 74,57, 40,30, 10,62, 25,16, 33,88, + 71, 4, 58,37, 35,86, 68,76, 35,61, 30,48, 23,28, 47,64, + 8,68, 50,29, 7,38, 72,69, 14,14, 46, 1, 63,40, 66,30, + 70,13, 72,37, 2,21, 3,51, 46,31, 54,67, 68,39, 56,67, + 60,81, 22,63, 33,82, 0, 5, 60,26, 38,56, 55,66, 30,72, + 52,52, 84,34, 73,13, 19,80, 31,29, 13,53, 39,52, 34,35, + 82,72, 8,13, 81,83, 12,76, 26,12, 60,86, 68, 7, 26,74, + 79,65, 52,76, 42,88, 47,62, 17,48, 88, 0, 24,37, 43,80, + 66,24, 23,47, 15,73, 79,74, 13,28, 63,89, 46,39, 1, 9, + 34,39, 45,29, 66,16, 6,21, 0,57, 73,22, 58,74, 30,81, + 45,24, 87,13, 58,34, 28,78, 32, 0, 41,69, 57,67, 15,33, + 80,84, 35,55, 63, 9, 13,77, 21,11, 22,19, 85,75, 50,28, + 82,81, 6,16, 51,23, 30,49, 30, 5, 16,89, 50,55, 57,30, + 48,19, 63,41, 68,45, 9,32, 56,52, 76,52, 64,23, 7,31, + 42,25, 9,66, 86,37, 76,47, 56,55, 52,42, 10, 1, 88,23, + 48,15, 36,12, 29,13, 78, 0, 87,16, 44,41, 70,43, 53,66, + 15,49, 20, 5, 0,71, 27,81, 74,80, 11,85, 1,57, 88,68, + 5,66, 60,63, 78,85, 65, 4, 21,48, 40,82, 46,19, 6,84, + 86,46, 56,54, 0,80, 74, 6, 28,44, 60,61, 76,61, 30,85, + 37, 5, 12,59, 2, 0, 5,59, 11,23, 27,27, 5,89, 82,42, + 32,18, 11,73, 88,45, 8,14, 51,83, 54,65, 3,77, 37, 0, + 72, 6, 47,80, 74,46, 62,89, 21,13, 57,76, 7, 1, 37,47, + 58,33, 10,56, 24,24, 25,39, 47, 6, 38,34, 68,81, 48,46, + 17,37, 74,12, 8,71, 17,18, 70,23, 42,30, 8,12, 11,84, + 46,61, 12,37, 62, 4, 63,49, 13,18, 23, 3, 73,67, 62,35, + 81,18, 23,38, 33,29, 75,42, 5,36, 64,29, 88,35, 59,63, + 11, 4, 73,86, 35,65, 18,14, 82,80, 82, 9, 20,14, 84,64, + 88,14, 38,79, 6, 3, 36,69, 17, 6, 13,56, 23,51, 8,42, + 19,87, 35,70, 80,18, 80,77, 11,79, 13,59, 5,50, 21,10, + 64,39, 33,49, 5,67, 40,17, 63,85, 89,26, 59,38, 25,78, + 50,71, 58,14, 60,71, 61,29, 2, 1, 42,27, 31,34, 19,13, + 31,39, 86,80, 87,15, 15, 7, 41, 6, 17,69, 48, 7, 72,76, + 27,79, 29,40, 76,75, 87,67, 58,58, 55,74, 3,64, 31,16, + 63,68, 12,28, 13, 4, 62,32, 81,48, 5,75, 65,22, 26,77, + 23,26, 16,42, 55,52, 21, 6, 24,41, 68,17, 85,56, 85,71, + 72,88, 33,33, 74,39, 10,17, 60,67, 17,61, 16,52, 85,86, + 83,82, 12,49, 56,70, 68,15, 55,17, 79,28, 48,81, 84,83, + 72,62, 28,24, 22,24, 76,23, 80,72, 17,75, 41,68, 5,17, + 16, 8, 28,65, 46,76, 32,64, 9,83, 53,67, 81,82, 54,59, + 25,23, 35,36, 27,77, 46,38, 15,50, 39,39, 6,49, 75,54, + 39,68, 6,54, 57, 3, 81,43, 56,50, 22,86, 33,85, 83,47, + 29,29, 69, 8, 11,25, 85,82, 4, 6, 2,57, 51,39, 15,80, + 42,79, 50,72, 53, 2, 77,32, 42,38, 76,26, 57, 5, 78,84, + 89,52, 89,35, 50, 3, 23,77, 19,67, 78,36, 45,49, 79,39, + 22, 1, 22,48, 76,38, 25,41, 0,53, 31,88, 39,33, 50,76, + 51,38, 35,34, 7,60, 47,75, 70,67, 72, 2, 20,87, 70,70, + 32,58, 89,12, 33,30, 16,87, 84,76, 25,66, 59,50, 61,34, + 85,18, 85,85, 42,11, 13,30, 88,80, 30,35, 8,63, 5,62, + 36,27, 11,15, 85,67, 47,23, 60,50, 37,66, 10,70, 32,72, + 21, 1, 10,76, 10,51, 22,18, 58,13, 82,71, 25, 2, 71,14, + 74,77, 19,83, 2,77, 69,88, 63,11, 58, 1, 82,69, 79,54, + 88,56, 53,51, 80,87, 52, 8, 25,26, 44,80, 61,38, 68,56, + 15,47, 15,45, 27,46, 20,75, 45,51, 68,75, 64,25, 47,19, + 68,79, 74,41, 15, 8, 10,63, 32,31, 44,89, 69,48, 68,61, + 25,61, 49,17, 55,13, 3,56, 27,63, 22, 2, 86,65, 57,74, + 86,79, 53,40, 79,36, 8,64, 62, 0, 24,15, 63,55, 26, 6, + 26, 1, 34,41, 22,45, 57,89, 19,78, 12,23, 46,71, 25,74, + 71,82, 15,42, 20,48, 49,50, 77,89, 63, 2, 9,76, 81,13, + 15,56, 24,12, 2,28, 34,71, 60,37, 60,69, 32,88, 51,19, + 47, 0, 28,37, 25,89, 32, 5, 36,89, 61,84, 40,31, 73,64, + 50,63, 69,63, 64, 6, 40,78, 83, 2, 20,41, 65,21, 49,41, + 49,79, 26,44, 77,81, 61,88, 35,78, 16,34, 50,12, 13,32, + 88,62, 28,41, 3,33, 48,73, 59,75, 24,66, 63,70, 50,53, + 75,59, 48,78, 56,78, 47,79, 49,20, 5, 6, 68,16, 44,18, + 44,54, 0,18, 15,55, 33,59, 64,56, 89,17, 26,50, 69,34, + 43,59, 41, 7, 7,17, 34,31, 38,87, 28,63, 17,66, 82,66, + 54,50, 55,64, 10,69, 61,14, 44,66, 13,86, 34, 3, 72,52, + 36,38, 24,35, 48,31, 4,14, 77,66, 75,32, 8,33, 65, 8, + 70,46, 58,27, 17, 1, 1,86, 61,73, 48, 2, 64,61, 80,23, + 89, 0, 40, 8, 20,60, 66,49, 41,82, 21,71, 66,58, 48,40, + 30,41, 23,80, 34,65, 77,29, 3,22, 19,24, 78,46, 79,42, + 37,26, 75,25, 30,17, 85,73, 27,62, 26,29, 60,52, 12,52, + 14,70, 2,65, 79, 8, 44,26, 83,25, 41,30, 79,62, 19,43, + 28,20, 54,20, 58,42, 63,61, 64,32, 89, 3, 18,82, 56,60, + 28,56, 53,77, 9,10, 43,73, 28,27, 67,58, 49,61, 16,30, + 72, 4, 63,72, 15, 5, 8,56, 67,50, 13,61, 20,52, 89,67, + 45,15, 63,87, 64,18, 14,43, 20,29, 48,47, 72,33, 16,23, + 40,39, 47,32, 78, 8, 45,20, 77, 1, 35,33, 17,39, 53,75, + 12,83, 48, 9, 46,25, 7, 5, 51,52, 67,17, 20,28, 12,55, + 78,24, 58,75, 68,55, 81,65, 42,36, 24,31, 54,11, 64,20, + 3, 3, 86,14, 51,50, 25,58, 4,66, 10,74, 21, 7, 30,58, + 70,59, 29,74, 9, 3, 6, 6, 16,73, 56, 6, 15,48, 65, 3, + 2,14, 31,14, 25,70, 70,71, 79,27, 6,12, 46,46, 52, 4, + 10,10, 14,16, 41,76, 31,52, 14,53, 84,81, 46,14, 63,28, + 0,60, 24,75, 5,79, 52,51, 5,28, 14,86, 18,32, 45,65, + 86,21, 53,58, 46,12, 0,74, 76,21, 12,27, 13,44, 85,35, + 21,42, 66,62, 6, 0, 53,61, 7,71, 42,35, 30,89, 80, 0, + 3, 4, 82,11, 76,30, 39,41, 47,11, 87,10, 34,18, 65,65, + 73,54, 80,46, 68,43, 54,48, 37,52, 69,52, 54,30, 21,44, + 47,15, 54,22, 82,75, 20,83, 62,70, 48, 5, 36, 2, 50,50 +}; +const int p_90_15[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1744, + /// Array of preferences + 34,69, 59,60, 4, 2, 65,63, 16,11, 55,78, 64,49, 13,74, + 68,47, 46,69, 33,80, 22,24, 71,88, 27,13, 33,73, 54,10, + 10,63, 40,80, 24,32, 0,80, 47,28, 88,33, 4, 5, 73,72, + 66,53, 47,26, 19, 5, 62, 5, 18,84, 14,23, 46,25, 16,46, + 58,27, 61, 6, 84,40, 76,88, 17,21, 48,53, 24,75, 89,65, + 14,61, 68,26, 49,11, 59,73, 63,78, 24,37, 60,26, 43,42, + 23,87, 69,19, 53,27, 20,47, 69, 4, 61,46, 12,33, 69,23, + 42,21, 55, 1, 52,72, 40,36, 24,56, 44,37, 66,38, 77,74, + 56,35, 77,87, 65,82, 85,68, 36, 3, 84,76, 30,26, 39,78, + 3,57, 43,49, 30,65, 77,55, 9,16, 82,62, 58,30, 32,38, + 84,81, 73,69, 38,61, 58, 9, 42,29, 39,68, 11,62, 28,26, + 42,45, 17,79, 5,23, 24, 7, 11,47, 80,52, 71,32, 55,11, + 86,61, 36,42, 72,46, 49,38, 40,44, 11,81, 81,53, 79,38, + 74,19, 48,58, 9,25, 2, 6, 66,45, 23,11, 19,25, 28,69, + 42,32, 15,72, 17, 2, 66,86, 58,32, 85,32, 66,10, 49,23, + 36,29, 81, 3, 1,52, 49, 3, 28,11, 66,28, 85,70, 53,84, + 47,85, 59,69, 17,73, 74, 1, 29,44, 84,89, 52,67, 57,32, + 1,79, 5,32, 29,22, 55,75, 5,66, 89,79, 26, 5, 62,29, + 53,74, 62, 7, 48,19, 55,34, 83,19, 79,43, 87,54, 3,53, + 71,37, 20,41, 69,79, 67,43, 5,53, 51,49, 25,66, 17,33, + 38,19, 66,34, 37,73, 45,49, 77,46, 77,17, 36,48, 0,46, + 70,47, 2,46, 65,52, 82,87, 50,70, 77,61, 33,66, 12,64, + 67,33, 33,65, 24,67, 66, 7, 69,60, 47,56, 83, 3, 60,57, + 21,70, 9,13, 80,34, 53,43, 86,37, 89,41, 45,35, 5,31, + 1,13, 84,63, 34,48, 22,52, 23, 6, 24,20, 49,75, 51,39, + 70,52, 81,32, 72,29, 17,51, 55,50, 14, 3, 15,88, 48,17, + 12,12, 17,18, 42,88, 2,14, 13,76, 82,69, 35,49, 60,36, + 72,89, 48,20, 15,46, 64,22, 9,41, 7,29, 81,26, 19, 4, + 47,43, 58,68, 25,85, 29,66, 22,19, 56,34, 12,74, 24,50, + 60,79, 5,25, 74,48, 86,55, 4,54, 75,41, 52,85, 84,62, + 71,73, 65,86, 72,45, 86,58, 32,68, 10,18, 39,17, 37,12, + 1, 2, 25,54, 9,62, 81,15, 8,71, 48,82, 10,87, 68,37, + 56,67, 50,89, 3,78, 75,29, 26,16, 17,84, 67,68, 3,42, + 60,25, 44,82, 89,32, 58,43, 59,14, 2, 9, 34,72, 89,52, + 68, 4, 15,24, 57, 9, 9, 8, 74,16, 22,73, 14,20, 18,26, + 86,39, 4,23, 80,27, 40,37, 54,33, 51,69, 33,35, 64,11, + 53,23, 28,84, 76,45, 15, 9, 82,23, 10,88, 20,22, 63,72, + 73,57, 55,47, 39,24, 7,64, 44,23, 7,51, 28,48, 65,47, + 0,39, 48,36, 51,81, 11,85, 1,73, 84,23, 58,86, 48, 3, + 63, 7, 52,32, 32, 1, 47,73, 57,26, 58,16, 54,65, 9,20, + 89,37, 76,38, 23,56, 32,63, 77,64, 74,14, 33,57, 60,40, + 13,65, 81,42, 29,57, 63, 5, 74,81, 34,36, 5,36, 10,30, + 17,61, 15,10, 8,74, 82, 4, 74,27, 86, 3, 78,31, 43,23, + 78,43, 13,17, 52, 5, 33,43, 80,20, 88,60, 16,81, 3,11, + 48,34, 59, 9, 63,12, 54,45, 12, 2, 72, 7, 36, 0, 12,27, + 55,26, 15,17, 5,73, 80, 0, 6,59, 38,37, 62,42, 41,83, + 58,72, 15,87, 43,15, 32,32, 75, 1, 11,23, 76,65, 15,15, + 28,61, 19,73, 40,47, 32,66, 14,60, 14,21, 45,81, 60,34, + 68,17, 73,89, 58,46, 63, 1, 73,86, 52,68, 10,49, 26,68, + 43,55, 2,10, 47,51, 28, 6, 39,87, 24,14, 56,53, 70,40, + 67,86, 43,22, 84,27, 20, 4, 27, 8, 31,42, 73,74, 38,10, + 87,35, 62,54, 73,79, 20,37, 38, 5, 37,61, 14,80, 39,65, + 16,73, 27,37, 70,77, 6,86, 30,56, 21,84, 71,39, 7,13, + 16, 7, 67,57, 55,71, 36,57, 2,50, 21,30, 19,74, 6,15, + 24,30, 81,38, 16,63, 68,44, 61,65, 76,77, 88,22, 55,41, + 20,65, 45,45, 0,42, 58, 8, 10,67, 74,22, 1,69, 87,74, + 50,10, 13,83, 68,10, 70, 1, 34,22, 13,63, 61,67, 29,46, + 3,36, 70,62, 34,11, 45,86, 39,41, 2,40, 54,69, 62,81, + 66,51, 36,59, 69,15, 23,39, 2,83, 27,32, 73,27, 6,23, + 23,16, 87,48, 6,53, 17,56, 42,77, 19,30, 45, 3, 22,13, + 69, 3, 20, 5, 63,71, 82,64, 63,77, 14, 5, 74,68, 63,30, + 65,20, 57,28, 37, 7, 78,52, 76,60, 29,35, 53,47, 52,89, + 23,29, 4,38, 62,43, 31, 5, 53,58, 24,23, 43,80, 26, 4, + 4,51, 28,64, 43,81, 21,60, 67,60, 86,69, 78, 0, 83,47, + 49,57, 1,87, 33,84, 5,35, 7,75, 67,49, 57,34, 11,11, + 38,82, 23,83, 63, 3, 31,23, 50,54, 82,65, 0,30, 51, 8, + 69,46, 82,63, 70, 0, 57,13, 46, 6, 17,78, 29,26, 39,77, + 83,62, 44,71, 71,14, 67,53, 16,75, 9,15, 67,58, 41, 8, + 18,86, 37,50, 79,13, 7,39, 36,10, 68,49, 49,29, 8,15, + 76,22, 70,72, 89,87, 11,16, 21,65, 50,72, 65,28, 82,59, + 81,43, 32,60, 72,44, 86,49, 78, 9, 79,88, 63,49, 44,85, + 51,89, 69,89, 67,61, 26, 2, 69,34, 81,62, 89,50, 51, 3, + 50,86, 25,73, 32,45, 82,50, 34,12, 61,45, 62,47, 67,16, + 68,73, 19,28, 0, 1, 81,87, 11,49, 14,54, 37,42, 6,34, + 88,30, 38, 1, 18, 3, 83,13, 9,63, 85,20, 56,50, 69,87, + 62,41, 52,86, 86,89, 13,37, 18,60, 28,60, 22, 0, 49,21, + 69,55, 71,18, 88,78, 56,49, 0,29, 19,36, 85,29, 37,30, + 88,14, 71,67, 14,44, 5, 0, 72,62, 47,17, 51,51, 19, 0, + 3,22, 39, 5, 68,31, 4,78, 73,29, 15, 3, 11,17, 32,24, + 83,39, 45, 0, 41, 6, 25,20, 34,61, 27,66, 68,83, 2,13, + 14,43, 72,38, 87,83, 36,74, 26, 9, 54,17, 39,44, 61,43, + 78,60, 75,46, 81,47, 78,89, 85,52, 11,74, 26,45, 8,56, + 26,27, 4,27, 13,80, 19, 8, 39,28, 80,61, 86,17, 28,77, + 3,31, 72,68, 45,77, 18,64, 43,31, 54,13, 84, 5, 51,68, + 58,36, 56, 4, 81,33, 73,19, 25,29, 52, 1, 29,83, 67,14, + 42,12, 79,19, 43,33, 86,78, 52,13, 11,89, 50,36, 33,30, + 69,41, 16, 5, 27,64, 41,68, 56,79, 43,79, 2, 4, 35,72, + 16,44, 69,59, 3,79, 3,73, 83,14, 50,84, 40,66, 38,69, + 19, 3, 12,14, 5,24, 34,67, 22,72, 71,52, 13,44, 6,26, + 60,74, 52,31, 51,33, 52,66, 49,25, 6, 1, 65,25, 87,44, + 36,51, 30,22, 23,43, 69,75, 44,48, 23,84, 34,39, 68,16, + 88,52, 43,83, 41,52, 3,49, 35,61, 4,60, 0,50, 10,33, + 32,85, 16,10, 78,88, 59,78, 44,62, 46,70, 32,75, 5,27, + 33,71, 74,75, 46,72, 77,82, 23,37, 86,73, 82,10, 25,70, + 80,71, 85,84, 70,51, 30,42, 31,52, 74,44, 36,19, 0,12, + 66,37, 28,85, 22,58, 35,57, 7,60, 80,55, 71,84, 14,18, + 87,26, 76,23, 30, 1, 2,43, 84, 7, 55,45, 78,13, 76,10, + 48,88, 45,55, 69,50, 1,15, 52,69, 51,76, 33, 1, 21, 9, + 22,17, 20,52, 37,77, 7, 5, 4, 3, 65,16, 65,38, 70,65, + 50, 7, 58,35, 2,25, 38,81, 83,29, 64, 9, 67,41, 30, 4, + 71,63, 30,40, 88,25, 32,65, 27,46, 18,43, 32,81, 5,60, + 38,43, 56,81, 18,30, 5,15, 26,71, 79,77, 4,55, 2,59, + 48,21, 21, 1, 58,38, 20,10, 70,41, 77,52, 50,76, 25, 7, + 13,50, 85,83, 45,19, 60,85, 87,43, 84, 4, 31,68, 32, 9, + 6,74, 43,84, 73,67, 16,69, 57,17, 87,30, 55,43, 16,65, + 15,68, 79,14, 52, 0, 54,57, 19,80, 1,86, 86,22, 30,15, + 1,39, 17,85, 21,56, 33,51, 43,10, 27,31, 62,75, 71, 6, + 15,26, 41,57, 28,53, 84,13, 32,64, 70,24, 70,18, 61,56, + 51,67, 17,89, 86,23, 88,56, 15,21, 62,72, 6,64, 84,53, + 64,16, 7, 0, 37,18, 81,64, 67,17, 65,83, 84,77, 59,48, + 83,84, 11, 3, 21,55, 37,23, 30,48, 72,54, 44,53, 30,74, + 16,40, 52, 6, 86,74, 59,11, 49, 5, 30,46, 65, 0, 0,89, + 26,21, 87,87, 60,38, 51,88, 68,18, 78,78, 88,39, 50,46, + 38,68, 72,43, 15,11, 59,42, 32,39, 8,72, 80,66, 84,47, + 19,37, 73,78, 47,46, 89,80, 19,52, 69,47, 62,23, 7,10, + 66,22, 39, 4, 18,73, 12,43, 84,78, 32,18, 46,88, 46,56, + 74,82, 46,73, 18,87, 60,24, 23,71, 48,38, 29,29, 5,42, + 84,28, 39,21, 65,77, 50,63, 33,78, 87,77, 5,55, 53,13, + 48,71, 81,35, 8,41, 10,29, 19,15, 36,61, 49,66, 41,49, + 46,18, 41,63, 37,57, 10,62, 68, 0, 73,80, 83,77, 73,41, + 81,68, 73,31, 48, 7, 84,74, 58, 0, 84,14, 33,23, 56, 8, + 82,46, 37,89, 53,15, 77,78, 52,57, 12,22, 50,85, 8, 2, + 41,64, 6, 4, 27,70, 0, 7, 22,79, 17,13, 67,87, 44,31, + 41,30, 26,22, 31,12, 45,30, 38,77, 1,72, 69,76, 25,47, + 42,59, 74,17, 0,77, 41,10, 48, 5, 3,46, 5,34, 65,32, + 70,21, 44, 5, 26,32, 83,27, 2,72, 38,13, 37,86, 12,13, + 80,13, 39,19, 64,86, 43,11, 82,44, 43,74, 67,22, 39,61, + 4,75, 8,66, 25,51, 85,23, 29,59, 43, 8, 23,19, 86,20, + 67,83, 26,64, 57,30, 70,50, 77,38, 11, 2, 46,68, 9, 2, + 52,33, 74,24, 69,43, 31,36, 81, 9, 14,15, 34,76, 33,34, + 77,39, 10,23, 6, 3, 86, 4, 59,25, 80,10, 77,88, 87,68, + 65,36, 77,54, 69,20, 35,69, 23, 4, 5,16, 77,84, 61,86, + 68,59, 41,53, 26,39, 40,23, 42,10, 52,88, 36,35, 59,62, + 34, 9, 40,69, 4,48, 41,85, 64,80, 87, 8, 7,12, 45,79, + 72,36, 7,17, 77,45, 64,67, 51,65, 81,18, 33,19, 17,64, + 57,86, 48,86, 7, 1, 12,57, 48,57, 26, 3, 7,52, 53,83, + 23,73, 58,19, 77,28, 73,44, 19,61, 52,35, 69, 6, 69,17, + 69,44, 49,12, 34,88, 23,74, 5,49, 28,34, 12,50, 19,10, + 27,63, 60,87, 37,63, 20,33, 85,24, 12,66, 21,80, 77,49, + 17,40, 3,80, 3,50, 88,38, 68,52, 41,24, 18,39, 33,18, + 72,81, 64,34, 80,57, 10,56, 70,12, 62,80, 55,30, 44,41, + 27,30, 7,69, 8,34, 11, 5, 1, 9, 70,87, 53,71, 81,84, + 3,62, 27,47, 19, 9, 27,36, 82,76, 9, 3, 30,72, 79, 3, + 71,55, 6,89, 28, 7, 2,66, 46,40, 46,24, 2,71, 8,40, + 48,70, 89,15, 69,86, 1,56, 35,16, 85,15, 6,50, 80,37, + 16,41, 57,59, 4,21, 22,43, 19,59, 79,69, 4,59, 88,17, + 42,18, 54,48, 16,54, 30,62, 66,40, 51,15, 71,25, 81,83, + 83,37, 66, 6, 74,36, 56,54, 65,64, 73,56, 1,47, 63,23, + 22,81, 60,12, 52,78, 38,67, 42, 2, 54,62, 37,15, 31,21, + 33, 7, 41,14, 86,31, 16,24, 39,39, 72,37, 71,69, 24,82, + 75,38, 76,15, 50,39, 34,83, 40,40, 82,37, 11,32, 64,48, + 51,25, 23,24, 48,11, 48,52, 58,33, 21,66, 87,25, 64,38, + 38,59, 19, 2, 35,41, 12,81, 53, 1, 11,48, 77,65, 47,39, + 85,18, 89,38, 47,12, 43,61, 45, 7, 4,82, 8, 4, 69,73, + 27,44, 87,88, 35,60, 9,69, 87,60, 45,89, 54, 5, 16,18, + 56,52, 1,25, 12,84, 74,84, 61, 9, 31,61, 8,47, 85, 3, + 11,53, 29,73, 52,76, 64,40, 62, 6, 13,15, 30,77, 30,85, + 31,50, 18,21, 44,38, 75,69, 13,41, 1,18, 63,63, 74,70, + 39,66, 25,16, 54,74, 32,71, 44,27, 65,78, 60,22, 13,10, + 41,65, 28,74, 17,70, 8,63, 88,29, 1,33, 18,68, 42,26, + 73,71, 5,67, 81,25, 65,58, 41,27, 29,34, 28,50, 23,61, + 51,38, 54,18, 83,52, 68,68, 13,59, 60,19, 52,14, 9,87, + 11,31, 14,69, 26,87, 21,25, 46,43, 69,32, 84,25, 26,40, + 30,60, 37,19, 78, 5, 16,23, 79,44, 11,21, 63,68, 75, 2, + 0,59, 5,76, 18,66, 1,22, 29,43, 10,14, 89, 1, 43,41, + 42,54, 89,28, 31,48, 42,60, 54,22, 78,51, 23,17, 23,46, + 77,33, 71,31, 84,34, 52,15, 50,49, 34,87, 4,72, 10,58, + 80,73, 36, 5, 37,72, 9,17, 2,56, 20,24, 89,43, 49, 8, + 40,38, 6, 2, 59,18, 61,51, 8,11, 78,21, 58,77, 67,38, + 51,52, 51,23, 79,20, 66,59, 63,39, 70,44, 52,18, 22,25, + 7,36, 14,28, 52,23, 31,70, 38,15, 27, 7, 13, 6, 5,62, + 66,17, 57, 8, 83,58, 22,48, 59,74, 46,16, 16,36, 79,39, + 31, 6, 88, 6, 4,62, 35,15, 89,45, 58,24, 7,26, 17,86, + 78,35, 17,65, 83,33, 72,51, 82,29, 45,83, 74,25, 25,35, + 24,68, 74,80, 21,50, 78,16, 30,33, 11,14, 63, 9, 23,81, + 63,13, 8,65, 87,34, 27,15, 4, 0, 73,36, 57,15, 6,22, + 64,36, 31,88, 46,71, 54,20, 11,58, 14,45, 0,11, 85,10, + 30,81, 53,20, 37,51, 54,29, 84,39, 77,16, 82,85, 60,30, + 14,53, 22,85, 29,33, 62,27, 78,46, 23,79, 32,46, 9,72, + 10,82, 28,66, 16,17, 26, 7, 14,74, 20,77, 12,82, 74,56, + 65, 2, 36,54, 50,62, 52,46, 27,82, 63,54, 37,60, 53,73, + 76,85, 78, 2, 46,41, 12, 3, 49,88, 21,79, 82,19, 63,86, + 63,53, 31,75, 31,27, 60,10, 82, 9, 10,64, 29,10, 57,20, + 81,48, 78,48, 18,13, 26,75, 24,33, 4,86, 0,33, 41, 4, + 42,51, 24,15, 55,23, 33, 0, 5,47, 38,29, 63,34, 40,29, + 76,17, 67,45, 82,22, 33,38, 9,36, 23,67, 57,57, 67,29, + 80,59, 48,50, 35,68, 53,77, 76,46, 52, 2, 16,83, 88,55, + 63,87, 30,55, 23,30, 20,38, 56,85, 72,52, 26,48, 16,20, + 11,70, 71,41, 23,65, 51,60, 63,59, 77,70, 60,48, 82,52, + 44,69, 27,79, 31,47, 35,28, 10,81, 74,78, 28,76, 8,31, + 70,70, 76,36, 65,71, 32,41, 9,42, 13,43, 15,47, 13,34, + 7,88, 62,48, 38,88, 46,78, 16,50, 20, 7, 21,47, 78,27, + 28,39, 86,19, 5,85, 75,32, 5,48, 20,68, 78,65, 86,24, + 73, 5, 86,18, 51,70, 45,50, 76,63, 77, 1, 76,68, 22,60, + 78,34, 15,77, 25,81, 26,44, 26,33, 36,69, 67, 1, 3,48, + 61, 0, 11,82, 9,71, 61,26, 75,87, 6,42, 27,56, 55,40, + 12,69, 47,35, 3,32, 46, 9, 67,18, 6,61, 69, 8, 57,83, + 86,52, 34,45, 61,52, 53,72, 30,11, 80,29, 87,16, 78,79, + 81,41, 11,35, 47,30, 44,43, 39,29, 61,61, 41,56, 38, 8, + 66,50, 6,60, 36,52, 24,86, 5,88, 62,86, 59,72, 11,65, + 26,20, 0,63, 12,38, 64,54, 19,45, 64,35, 67,44, 65,49, + 73, 2, 30,19, 83,82, 26,29, 69,49, 70,54, 29,82, 49,87, + 50,23, 19,55, 17,68, 4,58, 72,71, 54,54, 48,77, 9,84, + 88,18, 38,31, 37, 6, 65, 9, 5,61, 85,77, 69,37, 27,84, + 46, 1, 56,19, 55,88, 58,87, 6,24, 75,83, 29,55, 60,21, + 45,51, 79, 5, 37,47, 28,22, 5,17, 39,40, 49,85, 41,62, + 80,89, 69, 7, 7,62, 36,27, 14,52, 60,46, 42,11, 24,11, + 26,24, 57,24, 1,16, 64,23, 33,69, 54,50, 12,89, 54,60, + 71,62, 63,20, 40, 4, 83,20, 55,72, 19,51, 66,43, 76,56, + 0,66, 4,25, 70,49, 80, 1, 17, 4, 57,25, 3,23, 72,67, + 74,40, 10,60, 68,46, 87,27, 20,15, 53,22, 1,54, 33,50, + 10,28, 17, 5, 32,26, 84,58, 80,74, 59,41, 17, 0, 36, 4, + 7,54, 82,33, 88,71, 46,85, 37,67, 23,41, 89,42, 84,71, + 25,24, 49,83, 13,57, 30,54, 65,73, 75,79, 23,89, 87,23, + 72,55, 8,82, 1,36, 56,20, 2,75, 43,25, 39,64, 29,38, + 48,31, 82,41, 54,59, 12,73, 30, 0, 20,69, 64,83, 24,29, + 22,10, 75,76, 41,25, 76,59, 38, 4, 8, 7, 59, 5, 64,64, + 74,64, 88,31, 17,32, 24,73, 40,20, 89,11, 64,12, 9,60 +}; +const int p_90_16[] = { + /// Number of people on picture + 90, + /// Number of preferences + 162, + /// Array of preferences + 57,61, 32,49, 89,25, 7,39, 18,25, 26,86, 35,67, 53,59, + 17,46, 85,56, 63,74, 44,56, 82,52, 69,22, 35,31, 3,41, + 60,36, 24, 4, 78,58, 76,50, 25,81, 13,54, 17, 0, 75,80, + 35,46, 75,44, 48, 2, 10,72, 27,17, 59,73, 76,66, 4,84, + 18,67, 45,24, 30,13, 65,27, 83,16, 30,52, 66,20, 66,14, + 36,65, 55,71, 75,76, 82,34, 26,59, 49,31, 0, 3, 61,42, + 16,70, 2,39, 20,23, 60,57, 39,16, 36,33, 6, 7, 18,42, + 43,68, 47,83, 50,13, 28,33, 17,78, 50,30, 28,16, 55, 8, + 23,56, 75,32, 82,72, 25,68, 44,25, 0,30, 72,22, 55,34, + 61,80, 12,70, 24,46, 9,31, 11,63, 83,40, 24, 8, 59, 6, + 38,49, 84,47, 18,55, 72,69, 44,33, 79,42, 1,73, 69,77, + 89,57, 0,73, 23, 1, 50,38, 46,46, 25,22, 20,65, 60,64, + 37,10, 3,71, 81,75, 2,77, 11,40, 0,59, 36,68, 67,42, + 85,17, 36,32, 60, 8, 89,58, 32,33, 32, 3, 39,85, 4,41, + 79,17, 80,24, 14,13, 3,58, 5,11, 17,67, 72,62, 48,53, + 20,48, 63,56, 23,60, 55,66, 68,72, 74,36, 52,67, 10,41, + 57,22, 77, 8, 37,17, 56,14, 50,61, 34,88, 11,55, 47, 9, + 65,81, 6,69, 61, 0, 70,48, 42,31, 34,61, 26,76, 32,37, + 22,75, 11,22, 40,21, 61,24, 37,11, 75, 6, 68,21, 27,22, + 5,84, 62,83, 71,84, 72,12, 60,67, 82, 6, 8,45, 23,59, + 32,50, 19,38 +}; +const int p_90_17[] = { + /// Number of people on picture + 90, + /// Number of preferences + 1584, + /// Array of preferences + 72,44, 77,37, 71,64, 55,48, 84,79, 45,52, 83,89, 76,16, + 82,55, 69,22, 68,27, 37,50, 6,79, 25,24, 33,54, 21,10, + 26,81, 34,55, 3,78, 54,24, 4,79, 56, 0, 11,87, 43,43, + 15,14, 39,83, 4,47, 41,76, 83,44, 84,33, 16,65, 54,84, + 87,24, 51,68, 70,35, 19,39, 15,21, 88,77, 36,87, 2,40, + 25,37, 23,67, 19,63, 35,17, 31, 6, 69,59, 38,50, 78,65, + 23,68, 63,40, 60,56, 79,29, 6, 6, 65,71, 4,34, 73,35, + 22,69, 75,12, 78,73, 89,22, 46,41, 53,35, 39,31, 17,87, + 35, 0, 8,23, 83, 8, 35,52, 26,87, 40,83, 64,13, 36, 0, + 79,70, 78,82, 21,87, 27,26, 41,45, 77,50, 17,15, 32,23, + 44,61, 10,42, 22,18, 81,15, 59,71, 27,25, 60,54, 13,42, + 82,60, 25,75, 51,27, 8,38, 38,39, 41,62, 46,37, 19, 9, + 48,34, 32,31, 44,27, 65,33, 76,18, 37,58, 45,87, 53,51, + 63,86, 88,35, 30,29, 34,63, 78,64, 14,53, 83,61, 77,53, + 67,30, 44,86, 4,70, 8,18, 54,19, 86, 1, 18,36, 36,57, + 73,57, 78,72, 59,65, 36,85, 31,83, 63,79, 76,86, 19,42, + 69,78, 4,44, 61,81, 55,30, 80,18, 57,17, 29,50, 70,18, + 49, 3, 24,49, 17,66, 42, 9, 83,57, 58,38, 15, 6, 55,40, + 86,28, 2,39, 27,59, 19,46, 56,52, 39,10, 79,20, 65,86, + 43,85, 84,67, 16,18, 83,64, 85,41, 28,84, 75,13, 58,87, + 15,24, 77,54, 29,44, 45,25, 69,10, 21,25, 17,88, 71,48, + 11,65, 33,42, 0,66, 28,21, 49,71, 82,11, 35,83, 51,57, + 22,26, 80,89, 7,78, 18,56, 81,63, 58,45, 80,62, 28,49, + 70,73, 84,27, 42,79, 86,39, 81,25, 32,36, 2,23, 41,39, + 2,84, 85,74, 31,24, 10,25, 61,46, 27,56, 41,58, 68,73, + 59, 0, 57,63, 57,27, 16,33, 86,40, 61,44, 15,46, 82,53, + 41,77, 70,66, 82,66, 52,38, 51,89, 51,74, 73, 6, 62,75, + 87,36, 40,76, 71,22, 26,20, 55,84, 82,58, 55,25, 20, 7, + 76, 9, 46,47, 55,18, 70,65, 65,79, 88,32, 16,29, 47,50, + 7,52, 60,88, 7,68, 13,71, 52,47, 42,24, 13,72, 5,63, + 76,58, 27,88, 3, 2, 25, 2, 31,54, 6,69, 19,76, 6,84, + 73,72, 72,21, 11,42, 3,89, 70,45, 50,43, 58,62, 73,40, + 42, 6, 78,50, 49,29, 29,11, 20,27, 71,51, 0, 5, 37,10, + 41,38, 54,70, 67,84, 79, 0, 0,84, 65,38, 55,82, 50,24, + 40,88, 89,38, 26,72, 3,43, 71,43, 40,41, 11,57, 88,57, + 55,70, 70,11, 10,79, 59,23, 4,12, 26,33, 27,78, 25,53, + 29,23, 16,79, 72,67, 62,50, 46,73, 57,71, 74,66, 66,60, + 13,68, 61,82, 79,13, 10,56, 3,10, 2,16, 43,44, 84,45, + 47,66, 22,25, 8,15, 3,73, 45,21, 72,42, 26,74, 63, 0, + 89,77, 65,51, 40,17, 67,28, 47,33, 49,51, 32,64, 60,69, + 82,44, 16,52, 83,32, 4,52, 72,58, 86,85, 24,66, 1,80, + 69,77, 55,74, 27,28, 12,34, 45,48, 24,67, 54,60, 87,72, + 28,35, 70,32, 72, 3, 40,67, 46,69, 89,32, 55,69, 58,36, + 40,45, 62,62, 74,86, 21,30, 64,89, 69,11, 25,42, 78,23, + 78,52, 2,88, 9,11, 52,80, 81,36, 32, 6, 88,17, 13,12, + 1,17, 26,19, 55,39, 5,11, 82,73, 53,47, 33,83, 7,21, + 41,10, 81,56, 17,48, 43,17, 24,42, 67,26, 2,18, 38,85, + 31,78, 44,88, 80,10, 3,72, 24,78, 53,63, 20, 5, 83,13, + 19,33, 13,49, 39,20, 37,72, 19, 1, 34,41, 35,85, 30,69, + 76,88, 2,17, 63,43, 29,82, 85,56, 49,80, 38,30, 40,48, + 0, 6, 51,23, 23,15, 62,89, 2,71, 0,69, 31,35, 88,33, + 32, 8, 84, 5, 31,59, 54,69, 17,40, 46,87, 41, 0, 52,34, + 41,32, 81,45, 45,44, 87, 9, 82,15, 2,32, 84,41, 3,79, + 38,27, 39,57, 58,54, 1, 9, 47,42, 37,35, 2,85, 71,37, + 47, 7, 0,57, 72,22, 38,22, 17,33, 3,86, 56,20, 82,87, + 6,71, 24,43, 38,76, 46,38, 26,60, 36,30, 58,67, 46,77, + 76,70, 12,27, 34,26, 0,74, 64,80, 28,20, 2,21, 56,64, + 29,25, 88,39, 7, 2, 3,50, 80,72, 19,55, 67, 7, 55,13, + 46, 3, 69,41, 36,24, 17,38, 54,81, 27,20, 41,51, 36,56, + 70,52, 8,86, 63,15, 88,83, 4,25, 80,53, 37, 6, 36, 7, + 88, 1, 25,63, 79,10, 54,71, 45,54, 7,84, 29, 2, 36, 5, + 89,76, 29,35, 49,17, 74,59, 16,12, 12,15, 64, 0, 16,16, + 63,34, 24,23, 60,25, 12, 9, 74,45, 53, 2, 61,15, 45, 4, + 15,82, 39,58, 65, 0, 62,11, 59,87, 18,55, 36,60, 16,81, + 13, 5, 85,80, 39,84, 78,12, 33, 6, 53, 3, 85,23, 7,34, + 37,74, 43,68, 76,57, 69,28, 5,48, 43,87, 27,65, 38,63, + 39,28, 56,66, 48,52, 52,25, 68,50, 62,36, 42,47, 13,64, + 88,78, 45,20, 62,10, 83,51, 68,58, 24,57, 76,45, 53,52, + 70,44, 9, 8, 78,67, 87,38, 25,86, 44,65, 89, 7, 8,79, + 60,50, 13,13, 50, 7, 9,42, 59,78, 58,49, 50,68, 71,66, + 59,44, 6,75, 33,79, 70,20, 26, 5, 88,41, 6,13, 59,42, + 1,57, 38,82, 56,10, 24, 2, 10,41, 69,50, 51,14, 12,47, + 67,42, 80,23, 8,49, 26,24, 68,61, 6,28, 26,44, 9,68, + 10,76, 3, 7, 6,88, 16,32, 84, 9, 88,13, 28,85, 16,68, + 53,48, 8,54, 1,45, 36,38, 33, 5, 48,68, 37,78, 15,60, + 63,63, 64,22, 33,11, 52,67, 28,45, 53,66, 71, 7, 44,46, + 34, 9, 23,34, 38,84, 25,49, 55,37, 57,60, 75, 9, 37,45, + 58,40, 58,88, 52,48, 1,16, 30,35, 69,81, 85, 5, 72,23, + 21,27, 13,16, 48,79, 49,20, 71,65, 44,78, 81,59, 27,36, + 25,62, 78,26, 10,69, 64,32, 1,69, 81, 5, 27, 6, 12,79, + 11,62, 16,83, 52,75, 62,44, 64,72, 10,63, 19, 8, 43,34, + 42,16, 43,65, 43,12, 27,38, 39,24, 83,33, 58,13, 48,38, + 76,82, 27, 7, 64, 3, 23,24, 42, 3, 87,65, 56,14, 75,85, + 29,70, 42,22, 29,51, 18,34, 71,52, 61,68, 5,67, 66,11, + 8,25, 75,68, 78,87, 19, 7, 7, 6, 15,17, 37,84, 37,52, + 10,17, 1,30, 10,60, 81,81, 44,85, 32,20, 26,37, 75,17, + 3,65, 50,78, 20,46, 75,52, 69,48, 75,88, 83,81, 64,27, + 19,51, 19,20, 16,22, 72,43, 21,60, 61,36, 37,51, 76,77, + 27,45, 72,40, 53,81, 32,46, 35,88, 11,20, 1,35, 26,27, + 65,30, 61,52, 80,24, 9,65, 87,10, 10, 2, 48,35, 26,15, + 62,79, 85,66, 13,76, 60,82, 22,56, 1,70, 88,11, 65,50, + 89,15, 38,69, 6,38, 5,20, 25,74, 39, 8, 21,71, 17, 3, + 36,26, 13, 9, 17,89, 59,13, 41,41, 61,60, 74,47, 69,39, + 46,48, 77, 7, 50,55, 78,62, 34,38, 35,31, 0,63, 65, 4, + 5,61, 24,51, 5,16, 84,71, 56,60, 26, 0, 68,10, 38,61, + 13,74, 8, 0, 11,69, 16,39, 72,59, 2,63, 3,51, 7, 8, + 61,11, 66,10, 29, 8, 73,73, 41,49, 43,47, 82,19, 4, 5, + 28,13, 11,31, 83,67, 59,74, 71,39, 48,80, 75,72, 65,46, + 84,55, 33,74, 43,66, 42,33, 75,83, 50,80, 55,27, 29,37, + 46,66, 41,67, 29,65, 59,12, 74,36, 68,63, 8,53, 73,84, + 51,37, 7,22, 63,38, 60,33, 23,73, 32,48, 74,75, 21,17, + 29,86, 66,79, 80,84, 31,58, 51,29, 86, 8, 7,51, 80,50, + 27,70, 75,80, 84,72, 21,62, 62,56, 43,11, 50, 4, 11,33, + 17,83, 88,14, 53,68, 31,18, 39,67, 77,87, 6,45, 49, 8, + 73,86, 51,38, 9,49, 22,66, 4,23, 13,25, 31,80, 75,19, + 83,79, 50,83, 72,48, 72,52, 33,29, 57,12, 51,71, 1,64, + 41,61, 36,68, 30,67, 11,35, 9,26, 13,10, 70,78, 66,34, + 25,52, 75,66, 72, 9, 54, 2, 30, 6, 54,10, 46,65, 26,49, + 17,67, 83,12, 64, 9, 6,24, 20,56, 86,31, 43,54, 68,67, + 12, 7, 24,44, 63,75, 73,16, 45,51, 20,10, 6,17, 36,83, + 38,60, 15, 0, 19,78, 80,63, 21,21, 57,67, 77,57, 48,51, + 58,47, 74,53, 12,22, 72,15, 82,24, 24,69, 48,85, 56,25, + 51,55, 71,56, 16,61, 21,46, 87,50, 69,17, 38,32, 19,64, + 38, 7, 48,59, 63,59, 75,18, 27,31, 84,34, 15,44, 15,15, + 1,82, 17,16, 79,35, 39,87, 25,57, 2,29, 21,55, 10, 7, + 33,20, 73,77, 79,24, 65,29, 71,88, 37,64, 1,72, 78,28, + 14,25, 16,84, 24,70, 50,66, 78,51, 77,85, 20, 4, 87,69, + 55,20, 59,72, 42,42, 43,61, 41,47, 0,87, 81,55, 5, 0, + 89, 6, 27,62, 73,18, 33,32, 56,68, 69,83, 18,20, 45,80, + 57,36, 80,38, 42,85, 38,78, 60,21, 68,78, 73,10, 79,31, + 40,39, 30,89, 37,67, 59,40, 55,67, 12,81, 76,23, 20,22, + 22, 6, 27,39, 34,76, 4,31, 22,46, 66, 0, 43,69, 18,53, + 7,49, 28,36, 6, 2, 27,17, 74,83, 27,50, 6,76, 68,52, + 5,59, 13,51, 72,34, 37,27, 35,24, 74,80, 74,68, 31, 7, + 89,11, 15,13, 50, 3, 20, 9, 0,35, 24,74, 71,29, 42,61, + 17,18, 85,85, 28,44, 65,45, 22,39, 75,24, 1,62, 7,33, + 28,87, 5,57, 46,32, 28,64, 49,62, 29,56, 46,45, 12,36, + 84, 7, 47,35, 9,40, 56,50, 42,60, 14,44, 85, 2, 24,55, + 50,15, 60,72, 16,47, 68,60, 7, 1, 44, 9, 83,36, 22,60, + 25,27, 82,27, 33, 7, 7,79, 26,88, 61,43, 15, 3, 33,30, + 28,72, 44,47, 32,61, 61,21, 85,68, 45,83, 5,53, 64,64, + 35,16, 82,74, 18,61, 24, 6, 24,85, 78,14, 17,80, 54, 9, + 47,18, 78,11, 75, 0, 2,52, 47,53, 49,32, 2, 2, 19, 4, + 3,31, 53,21, 51,59, 9,85, 88,24, 63,19, 70,33, 36,18, + 82,23, 27,81, 20,65, 83,26, 17,71, 76,83, 78,69, 63,35, + 69,18, 13,83, 8,73, 65,56, 70,37, 45,55, 33,58, 51,85, + 79,81, 26,12, 83, 1, 43,32, 7,18, 11,39, 82,17, 25,70, + 29,59, 54, 8, 37,28, 8,81, 8,87, 31,21, 78,30, 46, 7, + 55,43, 18,22, 83,77, 65,10, 66,39, 80, 4, 84,21, 19,53, + 55,45, 1,87, 7,70, 47,62, 54,42, 32,87, 35,61, 18,31, + 6,37, 81,23, 53,50, 76,87, 18,14, 18,82, 38,67, 63,21, + 74,70, 45, 0, 2,58, 29,17, 28,46, 89,30, 13,37, 9,83, + 14,54, 63,31, 20,67, 40,78, 78,43, 51,83, 17, 8, 86,34, + 42,51, 59,36, 52,78, 4,86, 8, 4, 3,70, 8,17, 31,72, + 38,45, 12,35, 8, 8, 75,61, 70, 4, 26,22, 48, 1, 36,22, + 10,55, 82,79, 74,88, 7,55, 81,60, 87,56, 43,39, 53,54, + 68,82, 72,89, 4,17, 69,42, 50,52, 82,29, 36,52, 89,75, + 52,76, 14, 2, 77, 0, 41,19, 40,75, 33, 4, 51, 1, 5,32, + 65, 8, 39,32, 12,73, 25,76, 42,78, 3,38, 72,14, 56,79, + 60,68, 68, 0, 60,62, 20, 0, 72, 1, 18, 5, 76, 2, 69,32, + 27,14, 32,22, 38, 8, 74,39, 8,32, 36,41, 4,88, 71,30, + 37,49, 7,77, 29,38, 50,47, 58,51, 76,63, 35,89, 7,83, + 35,19, 56,83, 67,62, 11,70, 79,64, 13,53, 81,75, 1,52, + 87,71, 89,31, 47,88, 75, 3, 6,49, 28,30, 18,48, 32,45, + 18,27, 25,64, 44,76, 81,19, 11,89, 10, 5, 34, 8, 81,37, + 79,14, 87, 6, 44, 2, 50,86, 76,39, 89,58, 51,21, 21,28, + 86,77, 45,81, 53,80, 27,15, 22,73, 8,58, 47,61, 11,66, + 40,60, 22,82, 85,58, 22,51, 10,58, 87,68, 67,29, 74,56, + 2,12, 25,22, 33,57, 14,23, 17,44, 80,83, 12,74, 64,12, + 42,80, 2,51, 56,15, 73,71, 73,28, 73,64, 46,80, 68,45, + 36,69, 20, 8, 8,48, 68,31, 63,37, 5,75, 67,75, 46,84, + 84,86, 78,34, 6,34, 49, 6, 15,20, 11,75, 69,40, 66,71, + 39,38, 84,43, 43,74, 81,12, 38,11, 66,86, 1,42, 83,84, + 82, 0, 77,12, 76,12, 54, 1, 17,29, 29,54, 20,40, 18,30, + 53,85, 60,28, 35,11, 30,12, 32,80, 46,70, 82,69, 69,63, + 73,38, 50,28, 55,50, 14,40, 30,84, 52,61, 31,65, 47,79, + 45,45, 34,62, 54,17, 89,37, 31,61, 3,49, 29,88, 42,88, + 31,40, 24,84, 2, 8, 39,22, 83,24, 78,33, 89,21, 37,61, + 66,48, 19,43, 37,20, 13,14, 15,85, 1,85, 62,84, 37,79, + 47,67, 68,87, 50,64, 68,43, 3,39, 66,62, 13,75, 3,66, + 53,36, 35,78, 11,23, 58,27, 77,39, 49,63, 27,30, 56,70, + 72, 2, 77,48, 73, 0, 10,52, 36,67, 41,64, 54, 5, 5,60, + 84,81, 31,68, 54,68, 66,66, 12,12, 75,57, 23,82, 12, 3, + 34, 5, 34,36, 27,74, 11,37, 25,14, 7,45, 68,18, 33,89, + 49,25, 65,70, 89,19, 71, 4, 60,75, 80,11, 31,60, 23,38, + 38,89, 86, 2, 66,65, 72,10, 19,23, 55,58, 19,52, 40,54, + 74,72, 51,13, 37,55, 1,21, 19,26, 46,52, 10,51, 57, 1, + 17,77, 11, 8, 83, 9, 22,84, 43,78, 4,37, 84,66, 87,15, + 33, 8, 31,53, 47,13, 50,13, 2,89, 6,15, 70,21, 22,37, + 68,64, 41,33, 22,62, 28, 7, 29,89, 45,60, 30,57, 68,14, + 73,59, 80, 0, 89,73, 17,64, 72,27, 30,30, 68,20, 82,38, + 84, 1, 26,78, 71,69, 71,49, 57,79, 67,10, 56,73, 85,73, + 20,37, 44,30, 58,19, 31, 1, 60,53, 85,87, 13,38, 59,56, + 3,37, 54,25, 41,36, 42, 0, 73,20, 44,70, 41,59, 54,53, + 0,16, 53,31, 33, 3, 79,79, 8,61, 71,72, 82,51, 73,80, + 36,21, 4,89, 23,37, 32,40, 4,32, 59, 2, 16,64, 31,15, + 36, 1, 65,24, 87,18, 45,38, 84,12, 25, 5, 36,29, 65,47, + 27,19, 63,67, 30,32, 33,85, 64,77, 1,89, 45, 7, 33,67, + 14,35, 29,39, 88,12, 67,78, 76,54, 34,15, 10, 1, 78,58, + 79,40, 6,64, 22, 4, 32,68, 20,84, 24,28, 0,83, 75,58, + 17,42, 17,55, 11,53, 20,59, 8,33, 78,70, 44,40, 4,73, + 7,50, 16,55, 9,67, 51,86, 27,11, 20,85, 23,76, 34,14, + 54,73, 74,52, 37,85, 24, 9, 14,56, 9,29, 27,85, 38, 2, + 22,22, 35,37, 24,39, 43,37, 37, 3, 75,69, 74,62, 74, 4, + 43,20, 42,49, 9,89, 23,13, 39,39, 15,48, 59,38, 11,41, + 68,17, 74, 3, 16,51, 48,20, 43,62, 17,75, 40,12, 29,21, + 68,71, 86,73, 5,73, 33,47, 70,56, 64,63, 21,76, 87,22, + 16,88, 88,37, 43,55, 79,77, 49,21, 44,13, 29,42, 57,69 +}; +const int p_90_18[] = { + /// Number of people on picture + 90, + /// Number of preferences + 989, + /// Array of preferences + 21,63, 37,16, 45,86, 67, 9, 55,88, 60,32, 73,83, 63,22, + 7,48, 77,51, 4,26, 79,35, 59,53, 51,62, 56,71, 76,59, + 77,58, 4,33, 25, 1, 3,53, 45,33, 1,58, 22,88, 64, 1, + 30,73, 31,36, 56,20, 33,88, 53,62, 58,11, 57,57, 58,21, + 56,55, 37,75, 2, 5, 9, 4, 35,20, 58,60, 71,14, 19,29, + 22, 8, 77,20, 9,60, 67,18, 27,43, 64,41, 61,80, 68,16, + 11,33, 87,25, 28,46, 79,82, 43, 7, 0,23, 67,19, 39,60, + 22,61, 48,60, 18,49, 54, 4, 59,12, 60,22, 81,15, 45,55, + 58,84, 48,26, 0,14, 45,89, 32,83, 21,40, 80,65, 70,42, + 82,24, 58,26, 35,58, 69,87, 41,44, 84, 9, 3,24, 14,67, + 8,10, 75,49, 62,81, 21,29, 79,31, 27, 4, 11,10, 18,63, + 11,46, 58,43, 46,62, 84,24, 59,63, 14,37, 1,52, 28,89, + 44,47, 40,37, 37,38, 31,54, 5,59, 42,59, 62,64, 13,44, + 13,81, 6,68, 9,74, 58,81, 86,27, 5,14, 1,78, 23,27, + 19,61, 26,38, 50, 1, 72,53, 24,85, 13,56, 51,58, 80,24, + 41,54, 69,40, 0,69, 23, 9, 39, 6, 39,38, 35,62, 43,48, + 48,36, 35,38, 29,20, 59,26, 13, 8, 42,26, 77, 3, 16,13, + 60,50, 72,19, 2,23, 82,54, 25,18, 47, 3, 13,64, 70,20, + 31,51, 85,34, 40,68, 44,75, 48,76, 24,18, 60,39, 60,69, + 0,49, 69,79, 39,55, 32,76, 25,87, 64,29, 73,14, 85,33, + 63,40, 66,19, 45,38, 61,22, 51, 0, 62,66, 83,69, 34,33, + 54,12, 14,19, 2,43, 77,76, 76,84, 89,84, 76,13, 66,67, + 36,17, 61,76, 46,21, 47, 6, 48,75, 79,46, 15,44, 45,85, + 77,40, 13,71, 38, 1, 41,62, 68,82, 24,16, 6,38, 75, 6, + 71,53, 3,19, 89,58, 65,69, 66, 7, 43,76, 25,78, 45,60, + 10,15, 59,58, 41,60, 70,58, 79, 8, 67,72, 43,88, 43,57, + 85,58, 16,61, 68,25, 47,27, 39,86, 54,59, 27,89, 51,18, + 9,73, 31,46, 37,81, 76,40, 40,74, 62,82, 0,47, 53,18, + 1, 5, 54,43, 27,75, 75,14, 89,45, 17,10, 14,25, 72,81, + 87,32, 60,51, 45,59, 7,22, 59,14, 76,32, 65,89, 69,38, + 80, 3, 27,84, 13,89, 64,40, 14,76, 21,68, 71,12, 14,84, + 42,87, 29,15, 40,84, 31,18, 76,70, 67,76, 47,53, 33,66, + 70,59, 64, 9, 67,49, 5,76, 44,34, 86,38, 57,22, 5,89, + 81,58, 42,75, 35,87, 47,30, 67,44, 1,66, 73,29, 9,89, + 46,42, 61,31, 26,14, 43,85, 1,65, 23,10, 64,34, 82,64, + 41,81, 50,14, 10,42, 74,83, 3,61, 53,31, 71,75, 22,76, + 3, 8, 19,20, 77,72, 38,41, 5,19, 77,36, 67,10, 12,86, + 25,38, 68,27, 46,82, 11, 9, 8,19, 26,51, 2,62, 21,13, + 55,45, 81,79, 3,13, 33,38, 68,29, 11,79, 78,44, 46,36, + 5,23, 8,72, 22,78, 36,75, 37,27, 87,76, 5,42, 61,63, + 56,68, 39,35, 1,62, 39,18, 15,46, 30, 4, 39, 5, 77,65, + 48,33, 39,13, 69,55, 33,14, 87,45, 70,16, 28,32, 69, 7, + 23,26, 32,56, 56,21, 17,43, 11,60, 77,39, 26,61, 60,88, + 61,45, 23,56, 74, 9, 22,19, 12,47, 50,29, 65,73, 43,29, + 0,81, 13,79, 73, 3, 3,56, 41,82, 47,64, 35,31, 25,69, + 62,11, 18, 7, 24,81, 66,82, 26,78, 6,62, 80,78, 40,11, + 84,18, 34,68, 32,30, 67,48, 77,48, 57,33, 11, 7, 1,24, + 11,80, 7,40, 79,39, 23,42, 38,49, 46, 5, 53,86, 32,71, + 46,11, 22,66, 28,30, 77,80, 23,67, 21,38, 59,24, 69,41, + 20,82, 71,47, 32,15, 46,32, 48,79, 82,20, 18,59, 77,16, + 29,66, 9,69, 57,37, 75,26, 69,51, 50,46, 4, 9, 9,64, + 59,23, 49,33, 22,38, 73,23, 45, 2, 62,29, 15,41, 32,13, + 43,44, 62,75, 33,41, 25,67, 63,33, 59,22, 27,76, 16,72, + 33,50, 58,36, 30, 7, 24,31, 79,70, 53,81, 86,63, 4,28, + 39,85, 42,42, 61,25, 86,32, 1,33, 41,17, 13,49, 34,17, + 77, 0, 84, 8, 25,53, 20,23, 11,35, 38,40, 14,46, 29,30, + 46,46, 81, 5, 39,20, 88,50, 45,68, 36,63, 81,47, 4,31, + 56,82, 73,26, 40,47, 33, 7, 88,25, 69,37, 78,50, 46,55, + 45,53, 87,59, 38,80, 5,74, 88,61, 39,11, 25,11, 37,62, + 75,34, 19,39, 81,82, 5,79, 36,20, 71,70, 21,23, 58,83, + 54,33, 58,20, 69,46, 14,44, 47,35, 0,71, 42,69, 53,79, + 40,57, 21,44, 84,17, 61,29, 44,83, 54,22, 1,30, 13,87, + 25, 9, 22,21, 19,15, 10,25, 64, 4, 66,80, 34,50, 50,33, + 13,50, 0, 8, 67,62, 30,18, 2,21, 71, 1, 0,51, 76,87, + 2,65, 79,59, 56,47, 80, 2, 60,81, 75,44, 46,53, 50,24, + 47,78, 21,26, 61,14, 82,47, 17,88, 86,77, 38,15, 69,29, + 40,34, 89,15, 37,10, 70,60, 28,54, 25,30, 89,23, 8,21, + 23,68, 17,59, 18,14, 83,89, 15,62, 27,44, 16,88, 70, 7, + 10,74, 9,81, 55,42, 17,37, 81,33, 73, 1, 42,65, 10,71, + 74,54, 36,42, 63,35, 4,81, 9,39, 23,86, 12,85, 42,49, + 68, 0, 40,46, 23,71, 39,65, 43,81, 25,76, 48,49, 34, 6, + 17,56, 56,23, 82,50, 78,41, 81,59, 23,55, 6, 2, 56,37, + 31, 6, 71,23, 36,70, 9, 2, 18, 6, 63,36, 57, 9, 46,52, + 62,24, 49,23, 52,43, 7,66, 19,63, 2,60, 76,65, 35,42, + 47,46, 55,11, 76,28, 3, 6, 48,35, 36,87, 53,12, 81,17, + 54,60, 37,53, 59, 3, 13, 6, 49,24, 2,57, 17,14, 20,12, + 57,34, 27,65, 70,15, 12, 2, 74,73, 88,82, 78,76, 86,74, + 63,54, 70,70, 62,37, 7,87, 35,32, 29,78, 47,26, 61,59, + 38, 8, 32,57, 28,69, 24,84, 30,58, 79,12, 41,73, 26,18, + 4,43, 7,64, 78,61, 20,52, 47,68, 75,13, 71,54, 31,63, + 42,66, 62,68, 8, 3, 87,62, 41,66, 9,56, 46,68, 41,26, + 40,55, 0,79, 9,82, 9,67, 11,69, 35,13, 56,60, 57, 5, + 51,10, 67,63, 83,22, 43,67, 33,53, 31,84, 74,17, 22, 5, + 2,28, 7,39, 26, 7, 57,35, 25,56, 16,27, 53,10, 14,13, + 17, 3, 48, 0, 18,42, 41,25, 39,44, 10,26, 10,10, 39, 2, + 12, 0, 84,38, 89,40, 50,55, 61,12, 42,61, 82,77, 7,15, + 27,54, 61,60, 32,22, 69,54, 75, 5, 85,36, 29,10, 87,52, + 59,65, 39,27, 2,73, 51,44, 6,26, 39,21, 1,26, 30,61, + 58, 5, 22,53, 51,63, 43,70, 34,62, 21, 6, 47,79, 43, 2, + 9,79, 56,15, 78,39, 8,15, 64,42, 78,20, 57,76, 83,50, + 32,58, 4,34, 14, 8, 26,39, 60,42, 78,66, 58,89, 73,30, + 23,29, 62,39, 3,43, 41,72, 28,45, 31,81, 7,13, 86, 4, + 16,55, 81, 2, 6,11, 41,10, 5, 3, 34,49, 47, 9, 41,80, + 10,28, 43,77, 49,16, 27,16, 11,27, 6,43, 2,32, 12,22, + 27,40, 47, 4, 28,18, 24,33, 83,40, 59,61, 84,28, 81,56, + 88,86, 50,58, 12,75, 85,26, 79,24, 58,28, 13, 3, 80,81, + 70,85, 57,28, 59, 8, 2,45, 74,11, 20,62, 33,54, 28,55, + 50,84, 27,71, 62,34, 7,78, 25, 8, 75,81, 82,73, 7,61, + 16,42, 85,39, 79,34, 48,56, 7,54, 18,25, 34, 1, 78,56, + 2,24, 40,51, 53,25, 20,47, 16,82, 20,40, 88,75, 58,85, + 69,25, 63,11, 6,57, 64,76, 9,54, 62,73, 5,41, 20,13, + 11,37, 29,13, 39, 8, 10,17, 81,55, 61,19, 15,50, 37,14, + 57,14, 85,70, 71,27, 44,60, 20,80, 2, 3, 46,28, 26,50, + 49,89, 39,63, 84,46, 56,30, 56,85, 31,67, 66,73, 32,55, + 37,57, 23,72, 53,75, 5,78, 74,42, 69,48, 75, 1, 0,78, + 29,83, 32,66, 46,56, 37,21, 5,34, 21,76, 12,40, 39,36, + 76,62, 12,57, 21,30, 14, 1, 69,62, 49,70, 48,70, 73, 2, + 83,70, 59,56, 31, 3, 41,31, 56,77, 8,49, 33,20, 20,67, + 46,27, 82,26, 41,77, 60, 8, 67,47, 67,11, 61,15, 24,37, + 48,80, 40,38, 75,19, 2,88, 73,36, 61,21, 25,41, 24,14, + 33,44, 59, 0, 37,68, 41,68, 82,55, 29,23, 87,12, 59,15, + 50,52, 39,72, 30,74, 54,32, 76,50, 54,36, 88,31, 79,36, + 68,59, 41, 7, 9,27, 28,37, 16,66, 13,53, 50, 6, 28,64, + 85,41, 34,84, 42,25, 46,26, 13,15, 11,61, 52,29, 89, 4, + 82,29, 49,26, 51, 4, 4,89, 27,79, 65,72, 59,66, 80, 4, + 60,74, 45,76, 26,12, 48,21, 19, 3, 20,16, 40,30, 36,29, + 38,21, 65,83, 0,22, 29,52, 9,19, 27,46, 85, 1, 28,31, + 83, 8, 61,70, 39,49, 62, 3, 36, 5, 8,67, 49,36, 39,62, + 53,15, 76,10, 15,71, 86,86, 34,12, 88,29, 17,80, 69,13, + 13,86, 89,34, 69,81, 72,27, 32, 9, 4,20, 40,31, 7,24, + 47,38, 23, 2, 65,65, 54,31, 51,38, 32,41, 65,16, 36,52, + 52,87, 50,57, 15,31, 58,38, 38, 9, 65,86, 32,84, 13,28, + 18,86, 60,10, 50,70, 24, 8, 39,61, 82, 8, 46, 3, 18,41, + 82,87, 75, 2, 78,14, 45,52, 42,85 +}; +const int p_90_19[] = { + /// Number of people on picture + 90, + /// Number of preferences + 381, + /// Array of preferences + 31,10, 70,31, 73,49, 2,12, 87,63, 61,85, 47,88, 70,73, + 44,39, 26,65, 87,46, 1,17, 89,71, 33,71, 76, 2, 20,74, + 15,83, 72,78, 29,60, 4,15, 74,13, 49,31, 73, 6, 82,11, + 11,79, 15,15, 15,86, 57,41, 41,15, 68,73, 2,52, 61,60, + 56,71, 60,62, 69,87, 12,60, 72,10, 46,68, 17,88, 70,64, + 30,47, 3,71, 19,45, 10,15, 79,39, 9,49, 67,43, 4,59, + 71,51, 62,37, 79,34, 58,48, 43,11, 30,83, 18,77, 62,10, + 73,44, 37,10, 28,59, 17,76, 25,45, 41,55, 67,88, 13,56, + 25,60, 34,33, 25,35, 61,42, 47, 8, 78, 1, 13,18, 76,82, + 60,21, 45,18, 35,64, 67,61, 83,20, 72,42, 25,44, 25,24, + 77,15, 20,31, 0,28, 73,36, 77,41, 58,80, 16,69, 84,68, + 50,12, 85,87, 66,15, 72,57, 29,70, 78,80, 65,67, 11,54, + 38,55, 26,72, 12,44, 30, 2, 45, 9, 71,14, 0,35, 39,41, + 57,85, 50,80, 27,29, 64,24, 50,25, 58,27, 2,64, 78,57, + 62,15, 6, 3, 7,21, 19,55, 57,17, 25,32, 22,38, 49,42, + 22,66, 55,28, 71,11, 69,60, 30, 9, 88,64, 50,81, 78,66, + 87,57, 70,40, 30,53, 58,84, 75, 1, 6, 7, 38,66, 21,39, + 23,67, 64,57, 44,28, 54,20, 86,21, 15,79, 89,61, 0,23, + 69,18, 60,80, 9,53, 68,55, 64,49, 22, 2, 70,60, 46,77, + 24,82, 72,17, 75, 4, 20,80, 84,61, 38,77, 68,87, 65,77, + 41,76, 44,26, 59,13, 46, 3, 53,50, 4,44, 15,64, 15,24, + 5,46, 84,60, 43,39, 46,72, 35,66, 42, 9, 17,38, 14,33, + 87,34, 64,66, 81,36, 65,82, 1,48, 1,53, 26,73, 61,11, + 59,43, 4,22, 6,53, 12, 7, 70,17, 68, 7, 3, 7, 79,84, + 9,21, 36,32, 38,20, 52,12, 7,16, 13,12, 9,69, 14,13, + 27, 0, 18,39, 43,46, 52,34, 56,41, 45,17, 85,70, 68,22, + 57,82, 40, 8, 53, 4, 14,21, 64,72, 22,29, 32,83, 25,63, + 33,89, 47,11, 29,57, 70,85, 47,65, 3,37, 83,41, 78,34, + 45,33, 35,59, 37,32, 79,57, 58,19, 70,75, 1,34, 63,48, + 71,80, 83,60, 39,89, 68,75, 61,47, 18,44, 87,47, 62,74, + 51,83, 0,32, 49,74, 52,73, 3,69, 9,59, 43,78, 76, 4, + 88,67, 86,66, 28,17, 18,59, 89,52, 21,30, 85,46, 18,16, + 86,80, 13,83, 64,22, 16,48, 13,54, 64,88, 16,49, 33,48, + 79,59, 72,58, 36,89, 41,61, 28,71, 17,84, 10,67, 17,61, + 65, 1, 17,58, 74,50, 30,34, 11,80, 6,22, 47,19, 78,74, + 80,70, 74,38, 68,10, 34,53, 21,60, 59,21, 9,47, 13,61, + 63,68, 5,61, 62,62, 56,24, 71,53, 41, 4, 88,30, 49,41, + 0,19, 52,61, 64, 3, 19,32, 12,85, 62, 5, 13,13, 65,52, + 33,15, 21,86, 34,40, 83,15, 68, 5, 53,75, 17,41, 39,70, + 77,19, 32,81, 16,81, 85,81, 42,60, 42,32, 89,78, 53,69, + 68,11, 21, 4, 46,19, 13,59, 63,30, 56, 7, 56,79, 1,66, + 6,84, 78, 3, 88,73, 43,14, 36,76, 48,87, 72,66, 19,67, + 4,71, 43,29, 6,16, 62,55, 36,84, 57,15, 9,16, 67,83, + 33,82, 74,64, 34,21, 33,76, 46,25, 60,87, 51,75, 25,38, + 33,23, 64,10, 46,53, 12,31, 40,81, 34,10, 25, 3, 84,20, + 19,75, 39,16, 2,17, 18,86, 68,63, 85,11, 45,35, 42,15, + 73,78, 6,79, 10,21, 21,32, 85,69, 30,56, 68, 0, 37, 6, + 54,84, 19,52, 30,27, 51,70, 85,47 +}; + +const int p_100_0[] = { + /// Number of people on picture + 100, + /// Number of preferences + 319, + /// Array of preferences + 50,41, 84, 8, 22,70, 14,10, 15,84, 35,69, 61,17, 16,29, + 28,40, 11,77, 52,63, 66,95, 15,54, 5,66, 39,85, 93,39, + 18,71, 20,87, 60,99, 77,77, 35,23, 3,36, 76, 5, 20,12, + 75,91, 83,71, 48,18, 52,91, 90,95, 19,87, 80,54, 62,56, + 30,30, 77, 6, 96, 6, 20,37, 62,78, 90,76, 7,69, 40,92, + 89,61, 69, 8, 74,70, 7, 7, 33,31, 19,79, 21,66, 9,64, + 71,57, 93,46, 68,12, 2,94, 11,29, 28,83, 10,39, 70,69, + 16,63, 60, 9, 61,36, 37,53, 92,41, 6,87, 35,26, 29,59, + 51,58, 12,65, 6,85, 13,78, 89,55, 72,42, 56,80, 4,25, + 21,32, 57,52, 40, 6, 15,57, 72,14, 32,21, 41, 7, 77,83, + 83,29, 48,35, 94,71, 12,53, 41,84, 37,31, 22,57, 73,50, + 25,72, 48,29, 82,14, 99,24, 11,83, 89,26, 23, 8, 60,44, + 40,46, 13, 7, 73, 9, 45,26, 65,88, 70,29, 74,43, 72,10, + 25,20, 28,51, 5,29, 39,36, 42,48, 68,64, 25, 5, 50,79, + 71,84, 17,18, 54, 4, 71,22, 30,69, 42, 2, 21,74, 7,80, + 60,40, 19,41, 16,62, 56,83, 12,41, 68,74, 96,73, 52,25, + 59,52, 45,98, 15,95, 79,14, 1,83, 65,68, 73,15, 43, 7, + 82,92, 56,72, 63,17, 61,81, 18,93, 40,55, 68,40, 21,50, + 18,14, 53,25, 25,26, 38,24, 26, 6, 73,72, 61,19, 55,15, + 37,11, 67, 9, 59,68, 90,63, 56,64, 6,18, 60,18, 39,27, + 53,61, 37,37, 41,77, 24,12, 32,12, 5, 1, 62,71, 25,44, + 34, 9, 45,97, 34,39, 0,10, 62,76, 87,11, 66,36, 30,11, + 57,82, 87,29, 13,31, 46,50, 56, 2, 11,90, 22,23, 9,59, + 57, 4, 75,29, 98,11, 32,65, 30,91, 46,31, 43,71, 15,64, + 51,80, 76, 1, 53,33, 6, 2, 91,58, 51,96, 82,33, 41,72, + 70,70, 58,45, 37,21, 11,49, 18,43, 27,40, 28,76, 18, 6, + 19,73, 87,64, 5,50, 44,79, 90,20, 56,91, 96,93, 4,45, + 77,74, 43,55, 8,40, 91,70, 92,72, 52,69, 40,74, 32,80, + 54,38, 69,79, 12,58, 13,32, 6,68, 3,28, 62, 9, 77,57, + 15, 2, 47,15, 29,63, 96,81, 83,22, 34,80, 16,32, 92,61, + 96, 9, 9,34, 46,56, 44,82, 67,47, 21,98, 15,28, 66,18, + 63,19, 77,96, 47,64, 86,69, 46,99, 65,30, 23,52, 28,12, + 82,86, 72,39, 25,63, 28,56, 50,87, 56,51, 18,56, 61, 7, + 15,11, 45,84, 22,65, 3,52, 49,41, 6,32, 61,54, 38,17, + 94,91, 55,60, 9,54, 59,90, 79,42, 34,38, 91,24, 69,17, + 85,94, 51,11, 23,65, 92,60, 1,62, 84,86, 46,74, 19,36, + 49,50, 33,71, 12,85, 31,85, 5,79, 57, 9, 43,27, 85,65, + 10,36, 18, 1, 50,96, 9,38, 44,70, 95,76, 47,77, 60,54, + 43,23, 28,28, 10,98, 22,76, 95,12, 67,23, 6,26, 23,56, + 50,67, 25,83, 13, 4, 44,69, 83,64, 49,67, 35,31 +}; +const int p_100_1[] = { + /// Number of people on picture + 100, + /// Number of preferences + 282, + /// Array of preferences + 33,20, 17,76, 17,85, 96,65, 28,57, 10,83, 42,82, 6,73, + 87,60, 79,89, 78,62, 41,32, 35,81, 17,53, 47,31, 83,59, + 86, 9, 98,51, 9,66, 97,25, 78,56, 51,86, 66,53, 76,56, + 82,21, 25, 4, 40,31, 31,87, 73,16, 61,58, 97,49, 56,18, + 38,83, 17,59, 28,59, 69,30, 74,89, 30,49, 45, 8, 68,15, + 16, 0, 67,24, 78,71, 28,96, 15,20, 52, 7, 20,11, 80,93, + 33,67, 83, 4, 67,17, 56,36, 8,82, 60,12, 70,57, 90,50, + 23,19, 33,65, 27,32, 82,76, 99,90, 31,16, 95, 5, 56,80, + 68,49, 86,16, 0,66, 90,83, 27,98, 73, 8, 99,93, 69,58, + 40,40, 82,34, 58,18, 91,39, 9,45, 8,86, 3,68, 95,57, + 44,71, 25,38, 69,35, 84,65, 34,19, 47,51, 69, 8, 64,17, + 22,41, 87,48, 5,65, 62,80, 7,70, 7,56, 53,18, 87,24, + 84,61, 90,71, 55,59, 81,40, 39,19, 77,13, 27,62, 18,35, + 38, 1, 49,97, 47,30, 6,48, 71,70, 27,68, 81,33, 3,40, + 58,31, 21,96, 91,74, 36,16, 98,32, 53,44, 32,10, 0, 3, + 40,42, 71,29, 61,54, 47, 8, 79,32, 36,94, 69,21, 21,52, + 30,76, 17,70, 32,61, 96,11, 23,10, 23,48, 98,45, 14,87, + 97,48, 39, 8, 5,72, 5,18, 8,95, 44,39, 72,87, 5,15, + 13,93, 97,18, 74,73, 93, 1, 41,50, 32, 9, 44,48, 42,65, + 70,69, 82,57, 42,56, 53,79, 50,14, 66,68, 1,77, 0,70, + 63,10, 0,10, 71,84, 55,48, 23,18, 28,58, 44,30, 3,66, + 95,17, 56,15, 9,33, 31,55, 89, 3, 23,86, 18,38, 5,27, + 48,36, 36,61, 98,95, 74, 2, 26,47, 14,42, 55,44, 63,95, + 39,58, 87,10, 87,44, 4,89, 81, 1, 52,81, 78,82, 13,31, + 62,84, 60, 4, 61,75, 15,87, 42,90, 88,83, 6,32, 69,23, + 4,64, 91,68, 38,90, 22,28, 77,15, 57, 7, 20,99, 87,57, + 23,45, 29, 1, 93,99, 72,14, 24,50, 36,57, 74,64, 65,71, + 56,60, 82,55, 28,13, 19,55, 32,89, 80,18, 57,33, 72,35, + 7,49, 21,23, 47,69, 60,49, 2,66, 18,59, 91,48, 45,70, + 69,42, 65,36, 1,86, 58,60, 5,92, 94,76, 87,45, 9,99, + 43,38, 58,61, 2,72, 4, 9, 74,78, 73,47, 26,11, 51,34, + 93,18, 14,34, 27,71, 72,20, 33,39, 63,48, 45,98, 87,58, + 26,18, 29, 2, 97,81, 66,13, 80,86, 59, 7, 6, 6, 70,62, + 92,89, 93,97, 98,60, 23,61, 90,86, 38,84, 86,99, 85, 3, + 15,89, 80,66, 28,73, 21,31, 74,74, 12,95, 43,73, 76,12, + 90,80, 0,74 +}; +const int p_100_2[] = { + /// Number of people on picture + 100, + /// Number of preferences + 2367, + /// Array of preferences + 34,40, 54,24, 9,10, 27,67, 86,64, 6,48, 12,60, 94,58, + 58,90, 84,42, 30,18, 50, 7, 70, 3, 35,91, 36,45, 62,80, + 6,77, 17,50, 3,83, 20,37, 71,77, 7,69, 34,79, 27,53, + 1, 6, 32,92, 40,61, 14,71, 78,59, 28,32, 36,67, 25,21, + 3,95, 94,78, 46,68, 59,98, 75,34, 68,55, 38,48, 3,28, + 68, 1, 58,22, 57,33, 59,56, 87,59, 47, 7, 25,32, 10,98, + 12,87, 69, 1, 19,94, 60,53, 76,74, 31,92, 67,58, 36,85, + 30, 6, 4,37, 88,23, 65, 9, 58,31, 34,29, 95,79, 79,25, + 56,64, 42, 7, 28,46, 99,10, 57,52, 24,39, 29,71, 48, 6, + 6,34, 50,78, 59,29, 12, 6, 37,60, 85,62, 44,51, 97,50, + 71,79, 66,41, 6,75, 77,26, 5,54, 41,25, 14,21, 14, 8, + 46,23, 13,31, 46,30, 17, 7, 12,36, 47,24, 30,49, 25,42, + 79,98, 18, 9, 85,12, 12,69, 87,92, 45,44, 73,48, 13,40, + 60,89, 42,91, 45,32, 6,89, 57,10, 43,34, 57,57, 37,23, + 70,88, 5,71, 35,49, 80,25, 82, 2, 77,86, 5,14, 77,76, + 10,63, 25,68, 52,56, 42,76, 96,86, 57,34, 53,64, 84,50, + 99,32, 7, 5, 27,28, 8,95, 42,57, 12,75, 82,96, 76,25, + 65,82, 17,21, 26,49, 49,93, 48,46, 70,55, 78,67, 89,35, + 36, 4, 49,48, 78, 9, 91,13, 82,69, 88,16, 82,46, 56,34, + 35,21, 32,47, 32,66, 96,89, 6,18, 26,33, 77,14, 0,81, + 15,94, 83,79, 59,53, 6,36, 19,89, 35,47, 68,65, 6,87, + 43,29, 73,43, 62,61, 70,12, 92,95, 45,65, 87,12, 96,23, + 52,66, 77,46, 66,34, 24,95, 23,49, 16,39, 99,16, 7,90, + 65,57, 80,90, 91,56, 32, 0, 84,59, 37,93, 17,41, 4,77, + 94,41, 16,56, 36,37, 83,14, 38,77, 28,20, 56,30, 77, 1, + 84,72, 81,14, 88,41, 97,99, 28,64, 24,16, 41,53, 15,97, + 86,91, 6,67, 24,98, 55,33, 89,20, 88,86, 31,61, 94, 3, + 15,47, 19, 1, 55,67, 99,69, 72,31, 56,27, 9,69, 17,19, + 37,10, 49,46, 64,99, 30,24, 21, 2, 32,27, 0,24, 20,50, + 48,72, 67,43, 14,41, 47, 6, 59,80, 27, 3, 10,31, 56,54, + 1,96, 63,20, 65,28, 12,59, 76,30, 63,57, 60,88, 44,47, + 28,86, 79, 7, 90,30, 91,89, 37,43, 84,15, 26,50, 65,27, + 33,94, 23,78, 37,63, 59,83, 47, 5, 16,94, 64, 5, 34,20, + 37,48, 60,49, 83,34, 84,87, 85,72, 95,98, 35, 9, 35,23, + 56,46, 77, 4, 82,61, 24,21, 60,35, 81,43, 12,11, 48, 5, + 49,63, 22,92, 89,34, 17,51, 30,86, 69,65, 20,68, 92,99, + 29,23, 46,22, 89,50, 93,97, 62,19, 5,16, 39,33, 19,12, + 99,48, 92,49, 78,61, 96,80, 89,77, 39,97, 21,27, 6,12, + 92, 7, 71,68, 39,87, 98,20, 34,77, 48,47, 13,44, 20,43, + 46, 0, 25, 9, 81,22, 71,37, 54,48, 89,11, 68,64, 10,43, + 40,96, 39,19, 92, 2, 19, 4, 7,17, 15,74, 3,51, 28,94, + 75,95, 13,67, 82,55, 66,45, 60,57, 85,92, 12,38, 52,23, + 24,31, 29,63, 65,88, 32,79, 41,91, 34,39, 63,80, 79,34, + 2,92, 72,43, 42,66, 72, 7, 23,42, 60,40, 88,85, 42, 1, + 15,44, 1,27, 81,78, 79,59, 4,86, 40,69, 56,99, 50,48, + 71,65, 53, 7, 68, 8, 25,43, 41,75, 18,19, 1,95, 94,50, + 10,37, 98,63, 84,36, 14,60, 19,48, 91,53, 21,82, 9,75, + 80,57, 98,45, 2,65, 6,27, 36,51, 12,20, 56,40, 83,97, + 7,54, 36,71, 95,35, 10, 3, 39,39, 52,15, 14,66, 18,42, + 66,64, 75,50, 18,97, 33, 9, 49,44, 23,86, 58,10, 75,16, + 55,63, 86,42, 50,88, 82,64, 78,41, 20,48, 10,92, 71,10, + 81,80, 32,46, 7,78, 76,16, 50,52, 11,77, 10,96, 66,24, + 11,42, 29,87, 28,84, 77, 5, 53,13, 58,98, 5,25, 54,47, + 62,64, 21,93, 44,16, 58,30, 47,12, 21,83, 89,82, 18,49, + 24,45, 87,25, 99,96, 87,96, 29,67, 95,22, 86,30, 66,16, + 94,54, 33,48, 67,82, 37,15, 89,78, 63,95, 54, 4, 15, 8, + 66, 0, 12,79, 89,69, 29,20, 12,93, 9,46, 96,69, 91,23, + 47,91, 58, 4, 85,93, 18,84, 67,91, 61,16, 97,61, 96, 5, + 56,10, 53,65, 20,79, 28,17, 3,36, 42,25, 32,67, 13,30, + 28,21, 82,87, 42,45, 21, 0, 9,67, 31, 7, 72,64, 8,62, + 40,23, 59, 6, 20,69, 68,90, 31, 0, 11,33, 74,11, 16,34, + 27,84, 42,22, 47,44, 74,51, 1,42, 51,99, 93,73, 44,83, + 38,71, 96,34, 47,33, 38,69, 30,41, 66,78, 34,95, 38,34, + 22,81, 93,79, 85, 3, 67,71, 82,85, 77,10, 45, 3, 97,76, + 66,72, 24,15, 79,30, 3,13, 55,32, 31,46, 66,44, 31,79, + 54,86, 74,89, 0,65, 28, 8, 34,50, 89,24, 98, 1, 66,63, + 75, 5, 52,53, 28,65, 64, 9, 81,62, 81,28, 25,65, 17,56, + 4,72, 76,57, 36,98, 29,50, 5,88, 65,77, 18,16, 27,75, + 70,80, 65, 3, 81,90, 19,55, 4,24, 3,47, 98,77, 58,40, + 68,81, 76,12, 58,28, 81,91, 55,28, 63, 4, 21,72, 57,72, + 87,87, 3,10, 84,34, 77,41, 33,96, 62, 5, 40,94, 82,94, + 14, 4, 17,37, 79,27, 45,63, 73,71, 48,98, 75,49, 44,53, + 0,54, 77,16, 21,98, 43,30, 28,50, 52,45, 48,16, 32,83, + 58,81, 63,30, 48,42, 78, 8, 76,94, 44,27, 59,15, 0,70, + 48,76, 65,61, 49,10, 71,11, 23,68, 57,95, 30,89, 30,19, + 5,44, 25,72, 8,78, 10,13, 31,50, 48,54, 22,58, 64,73, + 62, 7, 75,15, 21,66, 80, 1, 70, 8, 1,25, 99,34, 91,24, + 22,59, 33,76, 45,22, 7,32, 56,93, 25,11, 23,82, 57, 9, + 30,39, 87,26, 12,26, 33,60, 29,96, 92,22, 68,48, 69,89, + 26,84, 14,82, 20,81, 44,72, 8,15, 99,71, 72,46, 62,39, + 2,20, 15,67, 64,30, 76,67, 85,37, 21,78, 13,37, 91,63, + 92,11, 73,37, 83,88, 51,43, 46,88, 14,48, 62, 0, 22,37, + 24,37, 44,26, 90,68, 74,67, 99,35, 40, 5, 84,86, 7,68, + 28,87, 17,70, 75,64, 69, 0, 39, 7, 70,25, 9,51, 58,38, + 27,92, 54,83, 22,79, 66,47, 12,46, 19,16, 12,42, 84,58, + 70,65, 35, 8, 71, 6, 92,21, 72,68, 1,93, 4, 1, 19,21, + 3, 2, 27,99, 63,53, 77,58, 42,50, 83,15, 64,78, 21,36, + 36,78, 36,63, 43,49, 39,50, 81,15, 6,37, 83,60, 30,12, + 44, 4, 91,58, 33,54, 33,32, 88,11, 65,47, 78,22, 92, 8, + 19, 8, 21,62, 71,12, 18,27, 69,11, 23,38, 56,56, 91,54, + 99,90, 89,39, 10,18, 14,72, 92,40, 2,98, 72,48, 17,46, + 71,25, 2,83, 89,45, 65,34, 43,63, 30,78, 78, 4, 55,85, + 82,63, 65,98, 24,10, 87, 3, 5,46, 32,69, 97,60, 85,15, + 72,59, 86,73, 55,17, 87,76, 21, 9, 32,59, 39,51, 14,93, + 27,96, 31,40, 3,87, 15,82, 41,96, 1,43, 59,85, 22,82, + 38,70, 58,95, 95,19, 41,52, 89,28, 61,23, 45,29, 90,84, + 59,96, 76,62, 90,79, 56,87, 72,75, 18,47, 42,15, 42,37, + 72,55, 9,18, 66,60, 45, 6, 87,10, 61, 9, 14,98, 93,28, + 26,57, 45,70, 89,62, 16,67, 18,93, 94,91, 16, 1, 15,46, + 96,32, 0,43, 33,30, 41,92, 80,89, 37,85, 38,65, 0,99, + 88,28, 5,92, 34, 5, 4,95, 89,19, 32, 6, 95,75, 99,84, + 72,66, 25,52, 31,64, 72,95, 18,67, 34, 3, 20,84, 46,14, + 23,28, 67,77, 1,51, 51,40, 10,59, 39, 6, 44,55, 73,84, + 95,76, 16,29, 85,80, 87,45, 20,55, 30,77, 39,61, 11,47, + 99,14, 22,55, 67,84, 32,55, 80,91, 44,66, 40,52, 71,16, + 98,34, 95,58, 91,90, 95,55, 93,29, 45,21, 85,56, 62,38, + 25,22, 75, 0, 54,70, 8,36, 5,23, 9,17, 42,31, 26,95, + 51, 1, 58,65, 92,50, 14,15, 23,33, 99,49, 2,91, 3,62, + 15,68, 11,97, 83,43, 18,52, 25, 4, 56,21, 95,62, 31,42, + 51,27, 64,38, 29, 4, 96,36, 30,94, 36, 0, 87,43, 59, 0, + 90,82, 69,90, 77,17, 22,27, 24,48, 95,68, 78,52, 30,93, + 83,12, 6,14, 73,38, 75,77, 62,71, 66,81, 63,38, 36,20, + 35,32, 84,39, 65, 6, 71,86, 70,48, 76,64, 90,61, 96,52, + 19,45, 60, 4, 46,76, 93,33, 42, 2, 29,41, 0,76, 77,24, + 59,31, 50, 5, 32,64, 73,72, 42,62, 44,33, 75,79, 41,54, + 81,57, 91,65, 2,72, 89,33, 7, 4, 39,86, 9,97, 70,81, + 97,33, 13,94, 47,17, 35,13, 9,89, 55, 6, 32,89, 24,11, + 6,94, 74,35, 30,52, 57,45, 86,85, 43,71, 60,43, 66,32, + 90,39, 56,15, 68,11, 88,71, 74,50, 57,70, 81,44, 11,57, + 50,56, 92,71, 39,35, 33,70, 53,76, 84, 3, 73,12, 8,69, + 78,89, 99, 6, 79,32, 14,24, 23,99, 34, 1, 10,99, 17,43, + 97,41, 3,22, 56,24, 42,23, 32,82, 88,61, 94,66, 71,56, + 4,14, 31,12, 66,59, 56,73, 47,18, 31,69, 92,47, 64,51, + 72,20, 76,95, 96,18, 10,84, 11,27, 46,31, 26, 4, 41,43, + 58,97, 27,39, 93,84, 25,29, 58,18, 4,50, 72,85, 26,58, + 77,69, 7, 3, 57,67, 95,97, 79,65, 67,98, 86,36, 25,14, + 2, 6, 52, 7, 11, 4, 66,96, 8,96, 28,23, 40,16, 64,64, + 15,41, 49,57, 5,85, 10,41, 67,26, 50,38, 23,59, 2,17, + 7,36, 69,82, 73,60, 12,67, 78,51, 59,63, 44,37, 22,30, + 1,40, 98,86, 85,98, 38,56, 13,87, 38,25, 18,95, 65,37, + 45,98, 55,39, 49,13, 70,18, 80,61, 55,18, 91,18, 29,78, + 65,91, 67,36, 32,17, 42,94, 75,32, 54,41, 52, 5, 21,64, + 72,39, 63, 0, 41,70, 83,44, 6,79, 63,87, 40,26, 54,54, + 80,99, 17, 5, 20,86, 63,36, 44, 1, 47,65, 33,83, 68,63, + 61,67, 90, 5, 15,62, 74,48, 45,11, 39,24, 23,20, 46,25, + 66,55, 20,78, 2,76, 70,38, 14, 6, 99,50, 37, 3, 89,52, + 40,86, 1,46, 29,70, 36,83, 28, 1, 15,13, 3,54, 3,21, + 63, 9, 64,20, 33, 0, 21,65, 65, 5, 25,95, 5,42, 53,12, + 85,65, 20,94, 94,23, 30,16, 70,42, 53,27, 5, 7, 4,79, + 31,93, 2,64, 20,21, 38,95, 32,98, 53,19, 71, 7, 99,36, + 97,23, 48,86, 81,61, 97,63, 95,80, 67,81, 94,39, 26,30, + 80, 6, 99, 0, 67, 9, 63,60, 18,85, 70,60, 96,79, 4,31, + 25,88, 85, 8, 47,81, 94,46, 74, 9, 43,42, 37,38, 51,32, + 6,78, 90,50, 35,64, 92,27, 20,96, 13, 5, 44,67, 71,38, + 55,29, 75,89, 37,82, 55,44, 57,42, 0,45, 84,70, 40,74, + 37,98, 36,81, 78,88, 2,56, 88, 9, 35,24, 75,54, 23,72, + 30, 1, 83,82, 94,75, 49,28, 45,97, 62,91, 73,68, 78,85, + 62,60, 80,81, 50,35, 4,76, 71,66, 83, 4, 30,10, 55,99, + 23,56, 35,33, 32,40, 80,96, 18,56, 68,80, 82,73, 73,64, + 32,11, 26,35, 90,23, 63,45, 8,72, 71,73, 24, 4, 43,41, + 57,27, 15,91, 12,25, 83,25, 38,99, 3,30, 25,39, 3, 3, + 64,77, 83,51, 85,53, 17,79, 24,65, 58, 0, 78, 2, 69,58, + 12,32, 65,74, 54, 8, 78,19, 28,22, 70,97, 83,92, 87,64, + 87,99, 2, 5, 21,71, 71,51, 77,52, 95,50, 16,57, 32,39, + 55, 3, 80,32, 53,73, 24,35, 56,76, 98,55, 93,48, 69,21, + 60,90, 17,82, 81,56, 47,56, 33,15, 97,83, 23,19, 99,12, + 50,83, 28, 7, 63,11, 18,15, 31,66, 78, 6, 74,70, 46,18, + 32,71, 72,57, 62,21, 99,87, 25,78, 69,59, 14,20, 65,44, + 68,35, 23,74, 24,43, 13,93, 54,99, 78,78, 29,97, 58,94, + 47,74, 20,12, 63,90, 99,23, 96,41, 6,33, 45,53, 76,89, + 97,62, 8,94, 27,76, 87,66, 63,19, 71,89, 82,41, 97,84, + 76,93, 0,53, 29,80, 36,86, 95,27, 86,40, 43,79, 76,58, + 21,50, 99, 3, 27,45, 27,16, 45,77, 66, 1, 82,89, 21,74, + 22,89, 82,77, 84,37, 57,18, 88, 5, 96,22, 83,41, 81,36, + 47,64, 88, 8, 64,19, 44, 7, 32,18, 70,49, 16,60, 23,62, + 37,19, 10,56, 98,22, 40,63, 93,39, 98,51, 67,17, 64,83, + 74,73, 5,21, 44,28, 26,34, 34,27, 75,84, 96,67, 25,60, + 60,73, 7,38, 26,25, 71,31, 85,19, 25,31, 82,10, 25,73, + 9, 8, 39,14, 61,99, 86,23, 64,17, 28,90, 54,51, 3,57, + 18,55, 36,75, 65,83, 67,37, 86,71, 35,72, 73,30, 10,78, + 53,14, 13,13, 27,80, 9,78, 99,29, 13,35, 67,28, 80,42, + 89,93, 41,61, 23,54, 25,76, 4,19, 31,94, 2,95, 42,51, + 72,32, 44,38, 20,46, 16,23, 26,32, 68,92, 26,13, 55,37, + 14,68, 36,36, 69, 2, 83,77, 45,31, 64,79, 9,65, 33,65, + 40,40, 44,11, 34,28, 46,91, 4, 9, 29,29, 58,23, 58,14, + 3,64, 79,60, 85,89, 73,57, 56, 2, 29,76, 11,50, 20, 2, + 9,80, 75,67, 12, 0, 36,64, 50,80, 93, 7, 48,18, 61,31, + 52,18, 17,59, 85,41, 16,80, 46,87, 42,95, 28,97, 37, 8, + 71,39, 53,87, 98,50, 78,10, 75,75, 64,46, 5,90, 34,88, + 30,35, 16,63, 49,16, 87,36, 35,88, 64,29, 84,33, 85,17, + 72,62, 81,19, 64,35, 2,67, 7,65, 83,84, 1,17, 81,42, + 33,57, 99,94, 18,21, 98,61, 19,87, 62,34, 18,86, 53, 3, + 18,69, 92, 5, 28,63, 93,43, 31,91, 78,97, 47,61, 27,86, + 54,23, 99,55, 7,60, 29, 8, 73,41, 60,29, 55,74, 33,21, + 99,31, 84,94, 70, 5, 85,76, 74,44, 21,47, 77,61, 19,71, + 32,20, 99,79, 30,45, 33,19, 64,76, 8,13, 51,20, 97,56, + 66,48, 41,24, 6, 3, 36,60, 14,44, 29,32, 79,96, 70,83, + 73,35, 60,61, 84,13, 55,98, 13,12, 44,76, 14,42, 80,98, + 25,62, 92,61, 33,36, 55,12, 69,27, 43,16, 71, 5, 9,33, + 54,55, 14,36, 93,23, 93, 4, 35,95, 93,93, 63, 1, 8,84, + 57,26, 68,84, 72,53, 48,17, 28,93, 31,19, 13,39, 36,89, + 24,52, 2,96, 68, 2, 5,61, 85,77, 24,93, 30,30, 20,51, + 17,66, 48,96, 60,86, 55,78, 61,20, 32,37, 32,30, 69,20, + 31,35, 31,36, 29,45, 43,25, 20,93, 62,63, 48,66, 96,82, + 95,83, 70,41, 50,93, 34,26, 25,40, 29,16, 74,78, 14,51, + 55,54, 44,65, 70,90, 27,41, 44,93, 50,34, 85,90, 8,76, + 86,68, 92, 0, 48,67, 79,28, 41,17, 5,50, 72,18, 65,30, + 26,85, 28,34, 2,47, 64,75, 41,35, 76,26, 61,48, 28,24, + 74,69, 31,77, 36, 9, 18,24, 48,15, 41,74, 47,79, 99,76, + 12,35, 39,42, 30,85, 73, 3, 3,89, 49,90, 80,35, 55,34, + 60,15, 74,31, 91,91, 79,10, 0,21, 78,77, 55,64, 37, 6, + 3,11, 86,66, 79,62, 23,53, 25,16, 40, 9, 88,53, 19,46, + 46,38, 10,51, 60,12, 55,42, 40,44, 85,39, 48,85, 24,62, + 77,49, 95,28, 77,42, 60,85, 2,88, 43,90, 41,46, 72,28, + 4,67, 73,34, 93,24, 58,60, 86,43, 93, 6, 74,63, 48,61, + 62,24, 19,32, 58,56, 56,69, 79,84, 75,46, 4,40, 45,30, + 66,27, 53, 5, 93,98, 79,92, 98,38, 6, 7, 85,20, 91, 0, + 57,51, 9, 4, 63,48, 25,20, 50,14, 58,89, 68,17, 26,71, + 1,26, 5,96, 70,59, 22,75, 24,36, 62, 8, 12,52, 29,90, + 57,93, 60,94, 28,72, 18,82, 88,81, 5,63, 7,19, 96,10, + 64,68, 73,45, 6, 0, 82,79, 12, 3, 26,26, 59,86, 33, 5, + 21,38, 68,20, 90,17, 37,99, 37,18, 91,73, 69,77, 17,68, + 90,90, 74,34, 5,87, 4, 0, 92,36, 83,28, 35,74, 69,26, + 50,39, 55,80, 80,38, 31,39, 92,48, 17,54, 52,27, 85,66, + 34,80, 18,79, 51,95, 32,60, 38,72, 84,64, 9, 9, 66,74, + 91,37, 82,78, 17, 4, 55,49, 14,31, 57,69, 13,41, 13,52, + 2,78, 73,23, 86,76, 93,15, 94,13, 96,49, 71,30, 50,17, + 89,36, 68,72, 38, 8, 30,87, 43,95, 23,85, 63,27, 66,71, + 66,29, 75,69, 71,19, 40,30, 86,60, 93,86, 88,26, 4,29, + 12,92, 96,48, 3,69, 68,94, 62,52, 41, 0, 77,96, 64,25, + 56, 1, 51,14, 91,49, 98,41, 18,68, 31,99, 44,97, 11,74, + 25,61, 40,90, 42,55, 93,88, 91,51, 89,88, 39,78, 39,60, + 6,92, 24,25, 70,21, 47,16, 92,73, 43,44, 97,82, 11,28, + 71,14, 18, 3, 44,50, 43,88, 60, 1, 89,46, 18,32, 3,31, + 93,89, 78,37, 21,63, 64,89, 26, 5, 73,36, 5,30, 47,87, + 87,13, 33,31, 32,42, 86,95, 28,69, 96,20, 22,10, 51,82, + 17,44, 51,64, 21,48, 41, 3, 78,11, 66,73, 8, 4, 30,58, + 81,37, 72,45, 20,45, 34,92, 7, 0, 56,23, 23,97, 72,72, + 80,50, 13,54, 97,73, 23,76, 97,13, 17,42, 63,92, 3,45, + 68,39, 6,52, 85,38, 83,26, 69,67, 86,49, 55,73, 18,30, + 5,64, 39,79, 30, 9, 34,78, 63,74, 23,73, 95,74, 78,30, + 82, 6, 62,15, 84,21, 15,27, 44,49, 15,52, 1,89, 31,20, + 62,53, 68,37, 32,85, 32, 5, 11,73, 2, 2, 51,58, 84,75, + 65, 1, 29,66, 87,73, 54,18, 37,91, 48,10, 17,60, 67,29, + 24,75, 97, 8, 52,59, 54,87, 74,38, 43, 2, 83,11, 76,59, + 61,35, 32,65, 33,42, 3,26, 32,22, 46,61, 3,73, 12,13, + 35, 7, 28,13, 33,90, 53,45, 76,34, 87,94, 31,83, 19, 2, + 58, 7, 63,63, 75, 3, 48,25, 64,16, 51,44, 24,19, 79, 2, + 80,14, 66,69, 58, 1, 75, 9, 95,42, 52,25, 36,38, 98,48, + 21,41, 2,11, 66,58, 11,30, 84,98, 7,98, 69,71, 72,12, + 17,92, 20, 9, 20,22, 91,29, 10,97, 40,53, 71,70, 51,68, + 1,85, 79,45, 97,44, 19,30, 0,56, 98,12, 7,96, 20,82, + 58,11, 34,45, 28,75, 21,68, 28,91, 97,59, 75,82, 73,11, + 68,75, 63,16, 72,70, 35,94, 15,17, 42,69, 49,67, 79,58, + 35,83, 12,53, 74,84, 56,67, 55,59, 63,14, 68,62, 25,30, + 32,63, 10,57, 18,20, 96,96, 94,35, 61,84, 66,76, 76,15, + 39,34, 79,79, 72,78, 4,90, 48,99, 93, 3, 39, 8, 75, 7, + 99,19, 10,44, 97,18, 56,88, 67,72, 39,80, 50,76, 62,86, + 39,56, 76, 0, 5,40, 26,38, 60,96, 2,49, 18,75, 26,69, + 60,36, 84,76, 64,36, 43,97, 64,13, 59,27, 45,57, 89,13, + 67, 6, 86,46, 42,39, 86,28, 9,85, 62,47, 47,63, 53,91, + 30,28, 12,80, 14,29, 36,11, 68,56, 24,29, 90, 1, 63,58, + 12,17, 23, 9, 0,95, 87,14, 52,96, 86,52, 39,96, 0,85, + 19,58, 45,80, 41,57, 86,37, 86,93, 34,33, 84,96, 95,26, + 19,59, 69,97, 8,66, 52,92, 12,91, 34,48, 37,16, 28,45, + 83,16, 98, 9, 53,77, 57,79, 38,23, 39,93, 54,31, 69,56, + 3,37, 65,21, 72,13, 97,42, 41,48, 15,19, 72, 3, 40,47, + 49,79, 28, 5, 37,69, 51,66, 48,94, 59,11, 82,19, 38,43, + 36,21, 30, 0, 89, 1, 36,95, 97,20, 81,10, 82,27, 51,28, + 87,54, 58,35, 21,37, 35,96, 86, 2, 53,51, 22,73, 67,96, + 71,35, 95,92, 4,45, 17,24, 16,95, 59,41, 70,73, 46,13, + 4, 3, 25,53, 85,55, 68,88, 82,23, 59,22, 82,91, 19,68, + 56,53, 3,86, 8,40, 57,65, 62,14, 54,66, 50,28, 44,99, + 92,25, 29, 1, 7,55, 0,57, 34,69, 95,44, 91,43, 4,60, + 64,69, 55, 7, 97,52, 83,66, 19,14, 18,59, 3,77, 15,76, + 53,46, 50,98, 58,16, 60,79, 35, 1, 75,52, 13,62, 37,75, + 36,97, 11,70, 1,24, 85,25, 64,24, 51,96, 21,22, 61,58, + 41,45, 59,21, 65,35, 25,63, 7,95, 23,70, 6,15, 53,81, + 59, 3, 26,10, 75,30, 56,92, 67,93, 4,59, 72,37, 66,87, + 25,91, 84,12, 43,94, 54,13, 33,18, 65,79, 70, 4, 48,13, + 26,47, 23, 1, 95,54, 59,46, 90,51, 22,78, 75,60, 16, 6, + 97,31, 97,94, 90,47, 87,53, 62,75, 2,84, 13,42, 55,77, + 5,20, 83,89, 36,35, 96, 4, 67, 4, 38,24, 67,12, 9,95, + 71,97, 84,28, 69,29, 57, 8, 56,44, 16,77, 33,62, 77,67, + 10,64, 58,91, 44,90, 79,52, 43,92, 12,95, 34,52, 40,37, + 8,60, 24,85, 20,99, 66,66, 88,58, 67,63, 74,60, 57,77, + 42,71, 28,95, 40,76, 74,32, 0, 1, 48, 9, 70,44, 40,88, + 5,58, 45,73, 93, 5, 33,41, 5,10, 72,50, 14,34, 91,77, + 26, 9, 57,90, 48,27, 91,98, 45,83, 28,10, 70,91, 19,79, + 97, 4, 87,71, 68,31, 49,69, 88, 1, 47,86, 3,71, 85,14, + 76,80, 68,67, 84,26, 38,54, 67,10, 56,45, 82,52, 76,61, + 19,78, 43,37, 81,16, 43,55, 6,99, 17,95, 29,74, 47,49, + 90, 4, 47,89, 98,52, 3,90, 80,31, 37,92, 27, 8, 54,56, + 4,68, 28,16, 28,85, 76,90, 36,18, 27,44, 18,76, 78,75, + 53,47, 89,67, 6,80, 85,81, 34,67, 66,84, 1,57, 10,66, + 52,52, 67,39, 98,64, 83, 5, 49, 3, 11,64, 72,79, 41,33, + 19,65, 23,66, 70,23, 74,65, 96,87, 89,56, 31,51, 48,91, + 85,11, 8,79, 6,83, 52,20, 59,95, 9,15, 89,38, 84,18, + 2,34, 99, 5, 51,23, 48,40, 69,85, 35,37, 42,88, 95,36, + 86,11, 89,95, 37,52, 39,52, 64,98, 97,72, 44,58, 75,80, + 29,38, 36,73, 17,45, 37,35, 98,49, 69,83, 22,19, 61,34, + 26,24, 85,68, 95,46, 47,62, 44, 9, 9,83, 34,56, 65, 0, + 97,70, 16,79, 82,71, 90,20, 47,48, 18, 6, 15,26, 26,59, + 51,63, 70,67, 29,35, 18,40, 81,70, 67, 3, 93,58, 47,60, + 25,69, 14,39, 68,29, 75,62, 71,52, 67,69, 4,65, 82, 5, + 91,85, 38,42, 34,31, 96,43, 87,93, 88, 4, 64,54 +}; +const int p_100_3[] = { + /// Number of people on picture + 100, + /// Number of preferences + 1599, + /// Array of preferences + 26,12, 58,75, 72,14, 68,16, 33,39, 25,41, 44,95, 61,64, + 84,82, 81, 6, 24,74, 97,87, 56,81, 81,90, 7,61, 45,60, + 43,55, 51, 8, 53,84, 40,16, 18,87, 30, 2, 26,41, 71,79, + 7,79, 35,58, 90,37, 50,96, 92,50, 14,14, 4,47, 77,73, + 54,11, 38,88, 74, 1, 82,97, 76,63, 81,85, 42,13, 44,55, + 22,56, 26,79, 15,45, 4,94, 35,61, 37,25, 19,76, 8,56, + 7,99, 94, 7, 62,34, 51,32, 87, 3, 47,31, 4,50, 61,20, + 3,69, 29,57, 27,42, 22,46, 96,61, 0,36, 55,98, 36, 7, + 3,49, 80,53, 7,66, 93,24, 60,11, 36,96, 11,68, 2,76, + 72,11, 59,79, 91,41, 15,75, 86,38, 26,59, 64,21, 32,18, + 49, 4, 18,86, 38,94, 92,94, 49, 1, 2,99, 86,22, 51,37, + 35,83, 57,73, 83,14, 24,29, 60,56, 83,85, 27,29, 51,14, + 41,42, 14,24, 49,41, 41,89, 39, 5, 85,98, 61,19, 30,19, + 84,75, 14,22, 78,95, 43,97, 55,40, 62,83, 35,28, 98,40, + 77,76, 49,74, 60, 0, 59, 1, 47,93, 31,62, 67,37, 13,80, + 42,99, 47,55, 42,75, 68,22, 18,30, 38,18, 60,46, 95,14, + 81,54, 17,20, 69,93, 95,11, 76,33, 12,68, 37,38, 76,71, + 95,63, 3,67, 95,82, 48,85, 93,85, 98, 8, 90,29, 78,83, + 14,80, 53,50, 53,16, 82, 0, 59,44, 16,16, 14,19, 24, 0, + 7,40, 20, 3, 1,46, 2,81, 62,64, 39,23, 12,41, 51,63, + 27,95, 93,13, 60,67, 94,38, 0,94, 8,38, 24,62, 1, 3, + 35,38, 29,49, 83,22, 99,36, 47,33, 29,56, 14,46, 22,45, + 61,66, 21,33, 62,18, 11,69, 27,69, 63,12, 21,26, 31,70, + 78,16, 57,18, 56,54, 54,92, 19,26, 13,93, 45, 1, 30,52, + 35,72, 96,22, 44,21, 42, 5, 46,53, 93,47, 49,67, 39,31, + 78,68, 51,82, 82,26, 71,75, 70,20, 50,98, 78,66, 0,62, + 60,45, 37,27, 55,26, 14,41, 66,84, 15,20, 44,65, 22,98, + 46,48, 67,36, 36,11, 62, 5, 41,85, 77,90, 31,26, 84,91, + 81,50, 56,44, 27,27, 79,13, 0,35, 44,11, 61,51, 51, 5, + 79,29, 82,85, 66,82, 88,53, 11,39, 13, 7, 77,69, 97,62, + 96,67, 47,90, 79,15, 48, 2, 44, 2, 59,66, 59,84, 63,28, + 91,29, 98,99, 97,27, 11,59, 72, 9, 98,97, 78,17, 79,27, + 86, 6, 40,51, 48,42, 60,47, 66,96, 24,44, 92,80, 42,33, + 10,27, 39,30, 29,34, 30,84, 59,61, 31,36, 71,97, 97,92, + 2,15, 60,84, 22,41, 34,20, 23,56, 42,93, 85,29, 44,60, + 84,98, 14,42, 98, 3, 53,74, 96,95, 56,87, 4,88, 36,97, + 0,10, 95,48, 17,27, 62,94, 3,62, 20,54, 62,22, 40,99, + 71,67, 42,56, 24,95, 51,31, 84,24, 13,71, 82,39, 90,50, + 92,95, 87,41, 40,21, 83,19, 35,56, 55,15, 90,76, 89,22, + 14, 7, 54,20, 15,70, 53, 0, 80, 6, 58,30, 62,97, 70, 4, + 39,75, 78,38, 54,71, 62,41, 97,16, 62,99, 88,41, 59, 7, + 15,99, 52,17, 3,48, 56,73, 5,73, 47,26, 98,55, 4,56, + 26,36, 38,25, 77,98, 79, 8, 93,58, 84, 1, 63,30, 43,72, + 12,61, 59,72, 5,67, 50,36, 8,76, 61,99, 95,44, 91,49, + 24,61, 93, 9, 75,57, 55,42, 67,23, 18,82, 92, 1, 26,34, + 54,84, 92,65, 97, 0, 4,78, 83,45, 16, 5, 41,33, 8,86, + 33, 9, 21,25, 20,77, 42,12, 68,71, 88,94, 91,34, 70,65, + 50,18, 51,41, 91,96, 54, 5, 31,57, 38,12, 66,85, 33,64, + 20,63, 46,33, 9,66, 15,30, 38, 0, 64,82, 69,65, 79,78, + 44,89, 92, 7, 2,12, 94,45, 54, 2, 87, 0, 38,68, 1,91, + 85,15, 50, 5, 7,73, 67,54, 32,41, 3, 6, 66,74, 18,65, + 0,14, 53,48, 40,82, 51,89, 68,99, 12, 1, 34,75, 49,31, + 38,16, 0,33, 38, 1, 19,79, 98,75, 80,73, 49,12, 16, 3, + 10,98, 5,65, 24,59, 71,87, 34,50, 30,76, 47,45, 17,52, + 73,23, 56, 0, 15,65, 87,14, 50,86, 91,81, 90,85, 24,18, + 26, 9, 49,53, 92,68, 40,83, 34,73, 31,87, 65, 1, 32,75, + 85,78, 72,97, 35,54, 32,79, 64,69, 7,28, 44,48, 89,91, + 39, 1, 85,83, 8, 8, 81,86, 47,91, 90,79, 7,94, 77,63, + 69,15, 64,50, 90,40, 41,32, 32,26, 69, 5, 50,41, 38,53, + 87,66, 24,26, 35,35, 72,58, 21,97, 27,61, 61,15, 76,29, + 20,86, 22, 1, 44,34, 19,92, 84,54, 25,93, 45,75, 0,24, + 1,94, 69,57, 5,51, 93,48, 8,26, 32,30, 9,11, 70,81, + 64,38, 20,53, 78,63, 95,55, 61,28, 52,44, 65,73, 68,65, + 52,14, 59,49, 59,23, 23,44, 41,40, 96,48, 48,93, 28,92, + 80,63, 62,26, 78,49, 12,40, 7,96, 9,45, 42,74, 78,85, + 25, 5, 50,21, 0, 9, 38,63, 56,10, 22,39, 14,53, 44,32, + 58,29, 86,51, 39,51, 75,58, 69,84, 70,32, 27, 7, 86,78, + 19,93, 9,71, 42,73, 90,60, 36,14, 82,51, 15, 2, 72,18, + 22,52, 73,19, 15,53, 59,48, 36,63, 3, 7, 45,96, 54,22, + 4,36, 36,28, 99,91, 57,35, 80,79, 84,44, 58,45, 96,26, + 51,92, 75,89, 11,67, 79, 9, 28,87, 15,21, 88,86, 65,94, + 88,19, 1,29, 38,54, 70,25, 82,59, 18,43, 84,56, 21,29, + 28,58, 5,77, 90,34, 64,87, 99,25, 19,37, 35,33, 15, 0, + 50,24, 41,92, 98,22, 16,98, 13,42, 86,31, 27,44, 24,42, + 92,51, 76,27, 20,40, 25,53, 5,57, 70,78, 15,95, 70,52, + 89,19, 25,98, 53,79, 19,74, 26,16, 12,82, 27,46, 82,22, + 1,59, 36,64, 57, 0, 84,52, 89,14, 48,40, 46,89, 62,58, + 2,98, 99,63, 24,71, 83,78, 26,80, 0,43, 86,24, 24,67, + 4,57, 96,16, 83,25, 56,34, 60,14, 59, 2, 79,93, 44,17, + 92,28, 83,41, 70,84, 83,24, 90,35, 91,72, 58,56, 91,93, + 70,19, 56,52, 26,55, 15,62, 79,24, 78,36, 41,45, 77,50, + 34,25, 19,32, 53,17, 33,67, 27,30, 94,35, 50,12, 1,96, + 98,11, 54,14, 87,25, 15,66, 13,52, 85,91, 47,46, 87,58, + 14, 0, 80,62, 47,53, 74,19, 46,85, 92,56, 13,54, 64,88, + 63,78, 58,15, 66,43, 36,26, 29,73, 40,34, 61,58, 72,22, + 33,42, 36,59, 16,47, 77,81, 59,67, 74,76, 75,35, 41,87, + 9,75, 25,15, 25,57, 53,31, 24,89, 97,26, 85,60, 86,79, + 92,44, 40,88, 70,18, 93,54, 97,72, 65,58, 0,63, 61,81, + 62, 1, 61,22, 45, 0, 45,56, 41, 6, 50,39, 96,69, 77, 7, + 20,74, 4,27, 55,62, 64,16, 76,69, 68, 4, 37,49, 90,74, + 6,41, 13,60, 48,13, 9,88, 95,74, 51,66, 18,17, 98,86, + 32,58, 42,29, 52,47, 71,55, 40,53, 17, 4, 39,77, 32,15, + 22,12, 36, 2, 91,97, 16, 0, 24,97, 18,61, 67,41, 23,67, + 88,72, 86,94, 74,16, 55,81, 17, 5, 31,89, 94,74, 52, 3, + 58, 9, 6,64, 38,61, 52,37, 98,26, 1, 6, 82, 6, 72,21, + 59,32, 73,96, 55,36, 32,85, 72,41, 56,70, 88, 3, 22,26, + 18,66, 91,20, 8,46, 20, 8, 51,81, 4,23, 46,84, 47,41, + 49,91, 51,59, 2,31, 91,54, 43,90, 75,85, 7,45, 16,31, + 92,71, 91, 2, 38,85, 28,65, 23, 4, 5,54, 75,23, 64,63, + 71,98, 25,33, 50,22, 16,24, 21,78, 66,41, 1,41, 64,33, + 68,41, 16,19, 5,79, 20,94, 86,30, 59,25, 68,54, 81,10, + 88,17, 42, 3, 27,48, 7,25, 77,42, 53,51, 20,22, 71,70, + 80,91, 69,38, 81,55, 67,58, 21,75, 18,80, 73,71, 54,60, + 39,71, 35,77, 45,77, 14,68, 60,96, 3,70, 8,81, 90,14, + 86,52, 5,34, 17,25, 57,96, 49,93, 67, 9, 11,42, 44,58, + 21,50, 93, 0, 4,86, 9,53, 4,80, 62,40, 45,32, 34,66, + 80,31, 94,40, 41,35, 82,70, 45,95, 2,84, 37,29, 33,35, + 50,93, 16,28, 43,49, 56,71, 81,28, 57,97, 84,79, 6, 0, + 88,59, 68,95, 28, 3, 64,91, 23,92, 63,62, 41,54, 43,77, + 54,88, 41,27, 54,93, 44,41, 49,61, 25,54, 82,45, 24,36, + 80,75, 83,52, 34,51, 81,69, 75,34, 85,63, 50, 1, 19,90, + 47,15, 78,60, 71,93, 7,86, 95, 6, 14,82, 57, 2, 92,34, + 98,93, 58,99, 39,60, 96,11, 37,45, 53,20, 77,36, 49,56, + 80,48, 15,39, 49, 7, 68,39, 80,44, 94,83, 56,19, 53,77, + 43,16, 25, 2, 21,69, 91,76, 53,34, 70,10, 19,77, 37,64, + 38,93, 68,74, 19,55, 70,86, 29,94, 84,76, 2,83, 69,42, + 28,47, 56,94, 58,78, 41,84, 7,55, 20,55, 27,62, 59, 4, + 53,81, 51,34, 6, 8, 48,60, 87,91, 93,52, 23,24, 2,67, + 23,34, 14,47, 69,33, 30,97, 97, 7, 29,93, 69,10, 37,47, + 86,42, 98,48, 7, 9, 65,49, 24,78, 10,17, 28,48, 15,14, + 13,68, 73,38, 53,73, 47,74, 59,89, 77,80, 53,14, 94,78, + 26,22, 88,67, 18,97, 64,61, 61, 7, 90,80, 88,88, 27,84, + 88, 5, 87,74, 31,55, 94,58, 54,65, 34, 4, 90,65, 31,25, + 24,25, 11,72, 49,84, 40,22, 17,41, 95,36, 89,38, 79,67, + 53,15, 91,60, 30,58, 40,11, 7,50, 6,25, 92, 3, 66,99, + 17,69, 25,52, 94,61, 10,66, 96, 0, 11,35, 69,53, 82,54, + 0,30, 36,19, 14,69, 60,87, 54,97, 64,60, 5,89, 73,56, + 58,81, 7,88, 15,49, 11,62, 35,78, 44,88, 77,95, 69,30, + 14,56, 71,27, 52,67, 94,60, 76,42, 68,11, 33,55, 91,42, + 23,22, 10, 6, 35,80, 76,58, 48,52, 31,90, 97, 3, 88,21, + 62,45, 8,41, 49,18, 94,71, 4,22, 14,31, 53,10, 77, 0, + 34,39, 37,30, 42,76, 33,52, 74,56, 45,47, 53,62, 61,46, + 22,96, 68,89, 90,96, 53,82, 95, 2, 69,68, 83, 7, 16, 1, + 32,10, 52,90, 63,44, 40,12, 17,86, 79,44, 96,50, 63, 5, + 81,12, 58,61, 92, 4, 33,59, 84,53, 20,43, 7,82, 64,22, + 12,90, 24,90, 35,18, 17,91, 58,14, 28,31, 28,60, 48,74, + 78,24, 50,19, 89,31, 40,25, 85,43, 80,41, 79,68, 69,39, + 61,96, 28,57, 64,18, 33,99, 13,78, 69,95, 77,28, 76,53, + 98,90, 35,47, 72, 3, 80,90, 76,77, 62,46, 73,92, 85,79, + 61, 5, 12,15, 2, 0, 58,97, 86, 2, 82,24, 47,61, 9,56, + 98,13, 23,11, 56,33, 40,74, 61,34, 9,18, 48,21, 21,55, + 53,72, 59,83, 20,72, 70,92, 58,22, 50,62, 48,22, 98,39, + 80,47, 81,57, 69,52, 78,41, 32,90, 62,76, 58,73, 73,32, + 86,99, 79,28, 42,26, 20,89, 6,94, 82, 3, 94,81, 72,37, + 10,81, 53,54, 1,77, 92,36, 5,83, 21,57, 57,59, 2,72, + 20,79, 79,96, 86,86, 0,70, 4,46, 45,58, 81,75, 60,15, + 71,83, 85,69, 77,74, 67, 2, 90,89, 42,51, 27,76, 95,39, + 24,83, 65,93, 75,86, 43,69, 60,40, 1, 8, 46, 4, 7,92, + 49,62, 90,25, 53, 6, 52,51, 62,28, 73,87, 82,27, 5,36, + 86,82, 99,23, 37,80, 98,78, 88,33, 89,47, 83,56, 27,41, + 95,85, 38,26, 91,23, 97,25, 63,76, 73,36, 23,54, 83,95, + 15,32, 49, 9, 96,76, 50,54, 34,47, 17, 1, 51,42, 67,65, + 17, 8, 65,66, 66,91, 19,50, 87,54, 6,91, 78,54, 71,69, + 49,97, 58,69, 99,52, 72,84, 50,75, 27,92, 57,29, 29,96, + 78,84, 64,39, 60,81, 98,60, 35,85, 94,14, 90, 1, 92,58, + 2,61, 43,75, 99,87, 5,19, 51, 2, 17,29, 41,37, 91,48, + 12,64, 99,24, 21, 8, 76,73, 44, 8, 6,73, 58,43, 98,59, + 89,12, 69,17, 27,32, 77,32, 74,12, 52,27, 67,42, 57, 4, + 34,96, 47,27, 9,62, 97,35, 39, 0, 10,21, 30,80, 68,49, + 20, 1, 65,83, 4,73, 18,13, 53,65, 66,23, 26,19, 12,49, + 54,52, 53,39, 21,22, 26,57, 38,96, 0,47, 35,45, 90,87, + 98,24, 8,54, 54, 3, 57,45, 93,20, 31,35, 71,15, 2,32, + 51,26, 13,11, 93,29, 40,64, 8,49, 96, 9, 92,53, 49,88, + 97,50, 51,79, 68,20, 98, 4, 58,67, 25,47, 44,77, 67,98, + 20,50, 1,13, 66,76, 15,16, 77,27, 21,84, 17,19, 15, 3, + 84,46, 31,60, 17,39, 21,32, 87, 6, 21,10, 11,44, 81,45, + 40,87, 22,10, 61,24, 28,21, 58,48, 22,14, 57,71, 81,23, + 61, 9, 65,69, 60,60, 84,42, 26,64, 76,95, 25,85, 77,88, + 41,65, 59,46, 25, 1, 65,29, 7,43, 47,51, 24,33, 51,28, + 52,23, 98,47, 48, 5, 64,28, 2, 6, 90,71, 61,78, 99,44, + 49,99, 82,91, 88,98, 86,76, 78,80, 51,98, 33,82, 85,11, + 98,80, 65, 4, 53,66, 88,42, 49,37, 59,64, 80,57, 13,56, + 17,92, 34, 5, 57,32, 26,66, 52,94, 31,40, 87,75, 90, 6, + 37,11, 42,16, 39,78, 3,85, 44, 7, 80, 9, 2,63, 43, 8, + 21,70, 56,72, 46,31, 31,96, 94,92, 44,22, 59,81, 66,70, + 55,74, 80,54, 97,69, 5,24, 34,36, 74,83, 54,44, 67,96, + 6,98, 26,14, 69,71, 29,29, 6,79, 4,74, 18,49, 35,17, + 93, 7, 30,39, 46,13, 41,61, 96,18, 10,45, 76,43, 52,25, + 87,57, 4, 9, 33, 7, 16,12, 18,58, 13,12, 44,73, 73,52, + 86,48, 67,97, 14,59, 6,34, 47,37, 98,65, 86,91, 73,99, + 39,83, 22,67, 82,74, 5,94, 87,93, 7,59, 65,11, 47,77, + 79,16, 68,81, 68,36, 88,84, 3,92, 24,31, 39,91, 68,47, + 29,25, 61,39, 94,32, 59,94, 33,85, 38,76, 58,59, 81,81, + 42,17, 36,92, 81,78, 89,50, 76,32, 47,78, 96,85, 9,67, + 31,74, 61,55, 61,88, 23,50, 92,48, 19,61, 45, 4, 1,12, + 27,14, 99,90, 61,73, 10,47, 55,25, 27,24, 62, 4, 75,70, + 57,20, 91,16, 90,28, 95,23, 67,27, 63,26, 85,22, 10,46, + 38,19, 16,44, 84,22, 38,91, 88,99, 91, 0, 47, 8, 39,73, + 37,61, 81,65, 65,84, 59,56, 93,68, 64, 4, 28,15, 24,28, + 49,32, 29,14, 63,14, 84,57, 91,68, 54,72, 94,64, 6,37, + 21,17, 12,62, 36,87, 11,74, 47,67, 29,54, 7,51, 84,69, + 95,24, 41,59, 41,66, 94,33, 73, 5, 61,82, 34,87, 43,14, + 85,70, 53,30, 40,65, 23,63, 33, 2, 37,89, 43,57, 18,92, + 16,67, 49,30, 16,34, 5,71, 64,86, 58, 6, 0,18, 94,10, + 71,91, 82,17, 45,34, 67,40, 71,77, 62,38, 54,98, 39,34, + 67,90, 84,16, 68,40, 96, 1, 16,88, 28,71, 19,39, 79,35, + 11,66, 37,17, 22, 5, 76,75, 19,65, 99,49, 51,17, 14,62, + 91,73, 10,31, 89,83, 66,63, 72,12, 53,70, 7,16, 58,46, + 28,94, 46,49, 53,44, 84,30, 6,85, 82,34, 46,99, 46,26, + 68,37, 66,46, 48,53, 13,22, 10,74, 4,34, 93,28 +}; +const int p_100_4[] = { + /// Number of people on picture + 100, + /// Number of preferences + 1227, + /// Array of preferences + 23,76, 35,95, 32,68, 90,63, 75,77, 70,42, 70,94, 8,70, + 25,28, 99,61, 90,62, 41,15, 77,70, 65,65, 86,76, 59,29, + 56,82, 78,90, 93,30, 10,89, 85,67, 51,41, 68,76, 40,97, + 47,52, 86,82, 90,90, 19, 5, 3,63, 27,11, 45,53, 81,58, + 33, 4, 95, 4, 65,52, 70,77, 91,20, 21,44, 87,71, 97,90, + 61,85, 98,60, 5,85, 97,51, 57,91, 16,31, 59,98, 0,97, + 18,47, 15,59, 6,20, 88,78, 71,98, 42,86, 88,62, 44,92, + 55,73, 19,62, 2,62, 97,22, 81,59, 57,10, 25,52, 69,70, + 15,94, 42,62, 50,97, 72,16, 81,45, 56,73, 53,53, 34,91, + 34,32, 65,36, 76,31, 15,29, 85,90, 1,43, 6,22, 34,44, + 89, 5, 5,39, 26,34, 7,44, 27,18, 11, 6, 36,75, 68,62, + 69,50, 0,38, 64,46, 99,64, 95,74, 79,81, 12,29, 68,45, + 81,57, 78,43, 56,22, 57,92, 4,37, 95,10, 86,25, 1,98, + 20,61, 24,70, 98, 2, 72, 2, 11, 2, 56, 3, 95,56, 78, 5, + 13,83, 66,45, 96,81, 98,11, 3,60, 20, 9, 10,33, 96,86, + 96,65, 38,22, 51,95, 78,25, 44,51, 16,11, 53,19, 77,43, + 31,13, 62,48, 33,63, 44,50, 98, 9, 35, 6, 50, 7, 47, 0, + 74,46, 18,93, 89,21, 20,75, 8, 8, 85, 5, 45,71, 33,21, + 12,71, 74,21, 60,11, 0,67, 0,20, 24,89, 84,35, 82,89, + 47,55, 90,73, 93,18, 12,53, 85, 0, 91,13, 40,51, 27,41, + 97,16, 86,98, 41,38, 57,50, 44,39, 78,52, 2,80, 97,35, + 17,78, 9,70, 71,67, 35,84, 46,66, 73,72, 64,51, 81,20, + 27,83, 61,30, 41,11, 46,39, 5,21, 62, 6, 97,48, 54,56, + 27,40, 35,25, 32,20, 84,13, 15,26, 57,16, 68,44, 4,84, + 30, 5, 75,63, 1,42, 21,45, 14,74, 66,65, 44,88, 95, 3, + 80,63, 58,23, 79,58, 30,18, 98,14, 46,78, 28, 1, 42,80, + 83,81, 7,51, 2,91, 27,28, 4,43, 20,47, 78,15, 22, 8, + 85,37, 61,76, 43,15, 87,54, 78,33, 60,94, 72,11, 30,33, + 54,41, 61,92, 67,53, 0,42, 99,33, 59,57, 14,85, 64,86, + 41,70, 82,65, 49,71, 33, 3, 70,71, 32,37, 64,19, 29,63, + 99,75, 65, 1, 38,52, 21,52, 62,55, 46,92, 34,22, 66,16, + 34,51, 92,10, 62, 9, 97,97, 77,82, 95,94, 2,16, 70,98, + 65,83, 97,53, 27,27, 18,45, 31,72, 32,72, 32,53, 35,31, + 63,74, 36,40, 16,65, 62,43, 28,74, 31, 7, 23,35, 28,62, + 62,96, 76,34, 21,27, 97,69, 75,60, 76,98, 7,69, 35,53, + 21, 4, 30, 4, 59,39, 18,30, 9,35, 59,11, 85, 4, 35,78, + 74,95, 87,29, 28,40, 23,69, 11,85, 46,46, 54,54, 11, 4, + 70,54, 30, 8, 0,17, 91,50, 19,49, 34,13, 30,75, 2, 9, + 62,51, 30,37, 62,68, 16,98, 83,20, 43,64, 55,17, 21, 7, + 22,37, 35,83, 16,55, 82,77, 49,36, 33,13, 64,40, 16,20, + 45,56, 50, 1, 41,67, 50,50, 13,47, 44,53, 48,16, 29,20, + 9,97, 38,58, 40,14, 77, 0, 57, 9, 8,66, 83,71, 20, 2, + 19,76, 2,78, 51,22, 23,64, 28,23, 19,20, 98,35, 4,69, + 36,89, 24,43, 66,14, 86,83, 20,24, 67,41, 17,70, 9,64, + 31,77, 36,64, 94,70, 11, 5, 54,28, 51,77, 27,85, 28, 2, + 73,60, 58,77, 95,14, 30,45, 92,97, 18,24, 94,13, 76,73, + 34,45, 82,43, 65, 4, 54,35, 22,24, 49,46, 32, 5, 21,18, + 21,32, 33,89, 42,19, 19,31, 52,31, 4,92, 23,40, 30,94, + 14,87, 81,64, 82,59, 48,90, 24,42, 95,73, 5,43, 17,67, + 26,97, 25,11, 29,37, 50,96, 42,31, 41, 4, 81,41, 33,88, + 37,13, 49,59, 35,87, 42,33, 51,64, 66,56, 64,53, 59,71, + 78,46, 35,26, 43,80, 44,60, 5, 4, 17,60, 20,27, 74,52, + 53,93, 62,73, 58,37, 53,35, 56,21, 82,28, 57,94, 59,33, + 28,64, 24,39, 6,32, 12, 4, 72,64, 86, 4, 25,36, 75,35, + 87,90, 84,63, 71,38, 12,21, 60, 6, 90,57, 67,48, 84,12, + 71,14, 16,40, 13,16, 97,93, 89,57, 30,61, 89,82, 74,63, + 28,31, 28,41, 24,21, 11,89, 66,92, 57,39, 14,73, 42,13, + 69,52, 63,42, 19,89, 9,26, 27,82, 20,55, 43,65, 82,96, + 4,30, 87,73, 67,61, 39,94, 13,14, 11,24, 62,42, 30,59, + 63, 7, 29,23, 34,23, 56,45, 77,49, 77,89, 84, 0, 27,20, + 51,62, 42,82, 30,92, 71,46, 88,91, 88,14, 75,80, 9,12, + 63,72, 2,35, 83,26, 60,51, 83,24, 62,15, 96,36, 21,11, + 64,99, 53, 1, 64,75, 89,62, 55,18, 33,90, 66,63, 67,70, + 48,33, 26,25, 67,72, 78,54, 34,72, 99, 5, 42,90, 72,95, + 40,92, 79,42, 70,43, 25,88, 8,16, 7,56, 25, 8, 48,13, + 63, 1, 30,22, 52,71, 99,17, 41,80, 32,42, 42,45, 23,78, + 73,93, 21,66, 84,55, 74,16, 19,30, 30,49, 80,25, 66,60, + 1, 3, 34,67, 90,12, 91,62, 96,62, 33,49, 11,58, 12,20, + 60,68, 79,88, 2,94, 52,27, 99,50, 72, 5, 0,63, 26,75, + 19,74, 20,32, 24,45, 1,48, 83,92, 82,97, 31,93, 35,45, + 53,63, 8, 3, 98,65, 0,24, 80, 8, 49,35, 31,21, 64,93, + 62,12, 10,21, 22,48, 33,95, 88,36, 68,47, 75,89, 22,23, + 9,17, 4,63, 43, 1, 19,46, 42,34, 94,15, 60,58, 43,55, + 89,84, 27,46, 32,58, 78,55, 14,91, 33,41, 43,10, 43,33, + 26,67, 85,77, 10,81, 71,69, 62,94, 85,38, 85,58, 56,39, + 67,52, 5,36, 54,45, 1,12, 79,45, 80,94, 79,93, 37,98, + 55,13, 75,95, 68,73, 76, 5, 6,85, 3,33, 69,89, 91,63, + 58,28, 29,22, 24,57, 27,47, 97,49, 60,59, 99,44, 3,52, + 50,69, 31,97, 30,55, 87,50, 23,94, 32,49, 74,18, 69,34, + 22,77, 14,97, 86,60, 68,11, 88,75, 35,99, 81,29, 4,91, + 85,66, 27,77, 73,28, 49,18, 79,44, 77,10, 14,24, 33,14, + 50,28, 90,37, 67,24, 49, 1, 65,18, 43,17, 67,97, 72, 0, + 89,72, 34,92, 12,44, 45,67, 23,11, 62,67, 24,32, 30, 9, + 41,30, 84,46, 69,84, 60,79, 48,48, 79,71, 56,80, 1,14, + 66,49, 91,81, 42,11, 22,15, 32,52, 69,23, 62,86, 18,69, + 58,24, 82,57, 41,24, 76,36, 12,73, 22,13, 24,71, 61,61, + 92,68, 39,42, 32,77, 5,28, 53,96, 90,14, 14,34, 51,19, + 23,73, 51,39, 89, 2, 51, 0, 14,44, 78,66, 69,33, 28,84, + 22, 7, 90,56, 10,29, 41,14, 64,76, 55,19, 41, 8, 49,87, + 80,83, 72,10, 15,65, 1,59, 73,55, 28,61, 15,92, 51,66, + 4,64, 10,78, 51,82, 68,58, 7,24, 55,85, 59, 1, 80,90, + 40,42, 8,22, 37,38, 21,81, 95, 8, 96,45, 60,61, 8,94, + 61,24, 5,72, 76,42, 36,97, 50,17, 1,84, 15,50, 74,25, + 34,49, 39,85, 9,93, 85,61, 66,12, 20,46, 74, 1, 70,58, + 85,62, 36,72, 18,54, 99,79, 50,24, 20,33, 48,80, 20,84, + 23, 7, 14,76, 23, 6, 79,59, 52,10, 9,83, 33,64, 17,84, + 56, 9, 87,61, 44, 6, 27,13, 42,78, 21,53, 28,18, 92,71, + 54,12, 21,60, 8,39, 82,76, 19,27, 90,29, 27,60, 96,87, + 48,56, 64,42, 17,92, 61,54, 8,23, 11,83, 34,57, 22,82, + 58,87, 86,77, 63,77, 14,22, 83, 8, 17, 5, 16,47, 22,58, + 68,60, 94,97, 93,81, 81,15, 33,91, 25,56, 21,88, 65,66, + 44,41, 89,43, 94,56, 93,13, 34,33, 68,23, 85,36, 91,79, + 41,56, 10,49, 53,20, 61,64, 94,91, 48,40, 24,56, 32,56, + 59,48, 71,84, 60,20, 6,90, 47,72, 84,16, 2, 2, 39, 0, + 54,66, 72,24, 12,56, 84,62, 30,85, 66,42, 12,17, 42,60, + 86,13, 58,64, 85,31, 13,81, 59,84, 88,27, 38,91, 82,62, + 47,49, 95,61, 36,21, 67,79, 28,30, 25,58, 64,74, 62,47, + 15,58, 7,23, 46,82, 37,50, 58,96, 3,79, 71,96, 34,98, + 26,10, 74,38, 80,12, 78,75, 31, 3, 52,77, 43,89, 81,17, + 78,50, 37, 6, 22,17, 56,32, 5,89, 34,48, 87,16, 97,58, + 73,24, 37,41, 67, 8, 58,11, 37,12, 63,66, 61,95, 69,98, + 58,82, 78,62, 31,79, 14,50, 60,96, 26,69, 73,21, 94,78, + 8,80, 74,28, 18,72, 74,88, 8,15, 75,64, 35,96, 31,83, + 49,84, 30,42, 33,20, 53,73, 73, 4, 39,67, 5,93, 74, 8, + 41,27, 4,18, 97,45, 70,57, 63,48, 2,32, 99, 1, 24,29, + 13,67, 13,93, 46,85, 84,14, 95,78, 50,42, 72, 7, 45,43, + 13, 3, 77, 9, 81,92, 85, 3, 66,99, 42,47, 78,23, 26,40, + 80, 9, 41,57, 75,43, 32,83, 40, 3, 56,13, 4,81, 93,63, + 31,96, 29,99, 95, 2, 40,76, 34,97, 26,36, 59,86, 72,27, + 77, 5, 60, 4, 67,85, 64,30, 18, 9, 38,45, 2,89, 99,76, + 41,32, 2,85, 29,43, 87,60, 19,73, 88,52, 89,26, 23,30, + 48,87, 93,45, 24,88, 21,39, 85,91, 86, 6, 91,36, 93,20, + 35, 0, 90,77, 22,11, 98,30, 66,23, 56,83, 67, 4, 38,13, + 16,56, 50,99, 80, 1, 97,14, 14,81, 16,30, 52,57, 50,12, + 56,37, 91,98, 65,75, 90,20, 15,47, 19,42, 81, 9, 49,34, + 70,55, 20,69, 67,42, 67,23, 35,27, 28,65, 79,27, 18,19, + 28,77, 28,87, 89,99, 34,28, 53,25, 79,30, 80,39, 3, 5, + 11,86, 37,61, 87,19, 13,13, 31, 5, 86,67, 9,74, 17,46, + 53,22, 56,78, 13,19, 15,86, 31,34, 63,84, 9,50, 74,62, + 23,61, 53,42, 47,87, 93,25, 38,47, 25,83, 61,56, 14,90, + 99,99, 71,30, 45,55, 8,41, 51,91, 25,39, 16,89, 2,60, + 27, 3, 44, 7, 22, 3, 16,61, 77,29, 76,57, 44,14, 5,40, + 47,40, 43,22, 8,21, 56,63, 79,10, 9,92, 3,93, 45,33, + 77,92, 65,47, 78,83, 42, 4, 66,98, 67, 2, 25,10, 68,27, + 20,95, 1,11, 89,48, 70,44, 36,98, 38,20, 69,73, 1,91, + 40,28, 10,44, 82,46, 0,35, 79,72, 76,28, 91,15, 63,96, + 73,18, 78,48, 89,70, 24,54, 95, 9, 7,18, 98,75, 62,80, + 25,67, 3,86, 85,82, 28,33, 6, 2, 45,50, 46,53, 11,90, + 86,63, 52,42, 77,94, 22, 2, 44,97, 30,52, 55,24, 17,36, + 73,36, 94,40, 18,35, 75,70, 29,78, 98,81, 18,48, 12,87, + 68,71, 52,81, 96, 0, 8,76, 82,72, 77,98, 76,66, 63,54, + 19,50, 14,68, 37,24, 92,92, 91,97, 92,44, 41,99, 84,27, + 9,67, 78,68, 11,80, 56, 4, 46,30, 94,19, 28,22, 43,23, + 71,33, 78,64, 40,54, 1,23, 68,10, 14,92, 39,19, 47,77, + 96,56, 82,78, 41,34, 18,52, 15,53, 57,82, 19,81, 39,39, + 2,14, 68,82, 40,77, 13,39, 2,33, 14,30, 32, 9, 80,13, + 88,77, 46,27, 23,60, 63,55, 81,46, 95,17, 27,17, 83,40, + 10,27, 46,97, 65,49, 98,87, 39,96, 89,35, 88,93, 42,51, + 27,43, 15,38, 56,93, 83,98, 74,23, 72,71, 39,80, 78,44, + 13,30, 78,73, 35,55, 80,11, 66,58, 15,43, 56,42, 63,92, + 92,50, 49,97, 60,87, 50,51, 97,74, 85,39, 25,38, 54,16, + 73,19, 42, 1, 94,61, 10,46, 70,22, 89,33, 27,64, 88,66, + 98,15, 12,57, 10,53, 51,94, 8,52, 82,42, 49,76, 15,60, + 41,82, 78,72, 23,67 +}; +const int p_100_5[] = { + /// Number of people on picture + 100, + /// Number of preferences + 626, + /// Array of preferences + 17,15, 64,19, 48, 0, 4,63, 87,70, 41,89, 67,17, 55,63, + 65,83, 30,50, 2,23, 94,13, 41,34, 6,56, 87, 0, 70, 4, + 36,40, 49,61, 92,83, 89,73, 75,59, 64,55, 68,98, 10,97, + 7,74, 10,42, 15,86, 89,15, 39, 2, 6,89, 89,53, 89,52, + 8,87, 48,56, 61,70, 4, 6, 19,69, 19,29, 0,73, 52,59, + 5,51, 58,98, 63,16, 11,43, 8,21, 84,85, 84,66, 62, 5, + 0,54, 32,44, 38,33, 23,67, 51,38, 71,33, 69,62, 90,79, + 89,21, 9,50, 34,56, 37,40, 62,93, 73,11, 36,72, 94,19, + 43,52, 33,66, 91, 7, 25,44, 40,39, 75,70, 15,96, 76,51, + 21,49, 37,49, 31, 5, 14,60, 4,77, 48,14, 22,37, 4,68, + 87,62, 53,79, 31,19, 63,88, 65,64, 46, 2, 45,34, 50, 7, + 92,78, 53,60, 71,93, 26, 7, 72,34, 93,70, 58,11, 39,34, + 89,84, 17, 0, 17,51, 73, 2, 74,50, 38, 3, 45,12, 16,11, + 78,10, 93,51, 39,48, 3,11, 44,21, 29,68, 15,42, 78,80, + 14,50, 3,89, 54,18, 35,75, 86,18, 5,42, 96,85, 68,88, + 87,19, 17,41, 83, 3, 29,82, 86,57, 2,77, 29,56, 48,57, + 65,28, 51,42, 23,14, 20, 4, 54,22, 20,55, 54, 2, 35,51, + 26,19, 8, 0, 39,54, 1,45, 46,64, 92,60, 34,35, 7,37, + 86,61, 66,97, 16,27, 85,51, 79,69, 88, 3, 33,95, 7,70, + 98,45, 12,46, 20,65, 5,97, 78,72, 63,17, 35,14, 45,69, + 7,98, 66,60, 91,30, 75,81, 79,78, 12, 8, 48,20, 62,13, + 4,54, 59,12, 30,64, 11,84, 2,71, 0,61, 91,62, 46,37, + 24,33, 92,20, 9,42, 51,83, 97,38, 1,53, 0,63, 97,45, + 58,32, 71,90, 97,85, 85,94, 64,20, 25,55, 27,58, 56, 0, + 69,14, 45,63, 77,50, 80,56, 35,38, 62,15, 68,78, 71,83, + 79,20, 15,61, 7,90, 57,26, 63,64, 73,59, 39,69, 72,27, + 78,67, 84,74, 82,54, 51,10, 91,60, 53,14, 61,36, 35,11, + 52,50, 78,66, 12,10, 93,98, 64,17, 47,20, 85,47, 15,56, + 34,64, 15,38, 19,57, 38,78, 6, 4, 41,29, 61,19, 31,75, + 72,82, 60, 3, 56,87, 86,60, 54,65, 79,37, 5, 9, 31,55, + 35,98, 63,19, 63,78, 48,71, 12,40, 63,35, 19,86, 56,61, + 37,54, 1, 8, 81,48, 66,57, 36,43, 30,70, 90,59, 25,95, + 18,44, 49,14, 75, 6, 89,80, 49,65, 3,36, 36,12, 10,61, + 85,30, 52,15, 0,42, 86,23, 4,52, 67,86, 91,46, 31,25, + 70,16, 25,54, 95,75, 31,72, 61, 0, 19,65, 78,76, 69,63, + 29,45, 53,81, 84,90, 9,27, 89,36, 28,10, 83,86, 26,21, + 67,88, 74,27, 62,74, 60,49, 40,58, 89,25, 57,43, 21,94, + 83,99, 20,80, 7,33, 50,93, 92,62, 35,58, 79,41, 80,33, + 42,59, 15,97, 11,37, 27,16, 71,98, 50,68, 41, 0, 9,35, + 71, 7, 81,54, 90, 9, 63,72, 15,23, 11,62, 65,18, 72,96, + 67,55, 26,98, 76,65, 39, 9, 19,72, 90,70, 77,79, 50,90, + 23,17, 20,16, 56,78, 15,92, 2,12, 29, 9, 20,29, 78,36, + 88,26, 47,43, 72,21, 24,84, 41,61, 70,84, 54,36, 25,69, + 20,99, 46, 4, 0,29, 42,65, 6,50, 5, 7, 66,43, 70,42, + 56, 3, 23,78, 36,38, 98,73, 83,77, 49,41, 59,96, 60,79, + 18,71, 49,34, 68, 7, 89,98, 31, 4, 98,94, 62,36, 3,92, + 10,22, 28,94, 40,74, 65,32, 82,62, 72,38, 97,12, 94,30, + 51,67, 23,34, 39, 1, 52,16, 37,16, 24,92, 66,51, 15,18, + 24,73, 68,53, 58,82, 7, 6, 75,36, 99,36, 12,81, 5,16, + 29,17, 13,22, 3,20, 66,20, 31,78, 56,92, 65,44, 32, 0, + 66,67, 56,66, 29,89, 14,18, 5,64, 63,26, 5,20, 21, 0, + 42,49, 57,68, 37,22, 1,71, 52,95, 77,46, 75,57, 90,31, + 25,47, 4,34, 2,54, 23,95, 17,79, 80,79, 19,94, 63,76, + 26, 3, 22,66, 84,18, 84,50, 57,17, 16,46, 18,63, 78,74, + 43,27, 86,29, 30,60, 18,59, 83,28, 37,44, 79,75, 20,42, + 17,32, 70,49, 44,70, 33,90, 30,99, 13,78, 46,47, 25,42, + 25,78, 96,68, 17,86, 44, 1, 41,63, 34,27, 18,60, 69,13, + 37,43, 77,49, 98, 4, 35, 3, 85,26, 20,56, 75,53, 18,62, + 23, 8, 68,12, 16,57, 95,37, 97,80, 16,75, 11,13, 62,53, + 83,42, 68,96, 23,28, 7,58, 44,46, 0,52, 53,89, 85,59, + 27,13, 95,34, 40,26, 75,95, 32,96, 9,31, 10,58, 7, 3, + 20,96, 29,62, 36,77, 28,34, 83,80, 55, 7, 92,80, 51,33, + 49,92, 18, 9, 88,90, 38,12, 12,61, 89,55, 90,83, 70,25, + 73,51, 31,91, 59,94, 16,58, 35,13, 66,90, 22,50, 93,17, + 14,72, 67,56, 17, 6, 33,56, 41,92, 13,50, 11,31, 39,70, + 70,26, 66,55, 90,43, 19,21, 25,63, 97,23, 91,96, 20,76, + 69,91, 18,80, 90,16, 30,10, 21,18, 61,47, 13,82, 58,12, + 77,94, 59,17, 30,71, 70,62, 52,45, 23,72, 75,87, 12,51, + 59,43, 21,68, 3,63, 85,11, 31,99, 5,69, 85,31, 42,66, + 86,87, 96,51, 44,44, 2,73, 2,60, 85,96, 76,52, 11, 8, + 92,90, 50,86, 58,33, 26, 1, 40,97, 89,66, 22,92, 75,64, + 97,13, 56,23, 1,76, 41,53, 87,38, 73,74, 97, 7, 10,75, + 9,43, 80, 3, 11,10, 63,27, 59,60, 64,11, 17,40, 37,68, + 38,11, 44,14, 78,45, 38,57, 24,49, 98, 9, 63,52, 81,27, + 10,62, 73, 3, 11, 6, 68, 4, 65,37, 42,30, 37,67, 33,40, + 74,54, 89,70, 93,65, 70,65, 68,75, 99,74, 9,67, 25,75, + 0,12, 71,80, 58,34, 63,96, 5,60, 92,26, 46,10, 79,55, + 31,18, 40,23, 77,55, 22,59, 5,99, 24,62, 83,21, 42,29, + 86,31, 67,96 +}; +const int p_100_6[] = { + /// Number of people on picture + 100, + /// Number of preferences + 2051, + /// Array of preferences + 15,65, 79,35, 89,65, 75,69, 95, 6, 97,98, 47,18, 43, 3, + 2,60, 52,86, 92,62, 75,97, 10,60, 75,24, 39,15, 78,75, + 45,12, 69,91, 16,42, 28,60, 7,38, 47,16, 2,23, 7,25, + 33,51, 63,47, 79,91, 53,17, 54,85, 85,56, 42,98, 42,85, + 12,96, 20,95, 53,46, 18,85, 26,98, 28,30, 10,90, 12,67, + 66,76, 67,66, 69,74, 18,40, 19,59, 67,43, 37,68, 81,67, + 91,95, 75,19, 46,39, 43,88, 47,58, 37,49, 4,37, 85,17, + 72,68, 63,13, 21,79, 15,98, 14,17, 69, 9, 37,50, 36,46, + 31, 2, 48,46, 57,76, 25,78, 1, 3, 29,42, 72, 3, 71,19, + 98,50, 66,56, 91,53, 2,53, 92,48, 11,50, 14, 7, 8,25, + 48,16, 56,65, 3,31, 60,89, 91,22, 60,46, 10,95, 3,99, + 99,54, 58,26, 53,95, 43, 0, 19,98, 75,11, 70,58, 33,48, + 8,33, 7,92, 64,53, 42,52, 63,95, 7,58, 48,94, 10,24, + 62,79, 25,67, 89,33, 0,62, 55,36, 54, 1, 85,98, 79, 5, + 53,15, 23,64, 49, 9, 55,57, 12, 4, 71,95, 53,67, 99,85, + 76,72, 16, 9, 55,22, 44,26, 86,73, 90,42, 44,84, 15,11, + 48,38, 66,26, 53,63, 62,14, 81, 0, 35,74, 46,72, 96,59, + 82, 6, 15,13, 1,19, 59,41, 23,69, 65, 0, 7,83, 71,72, + 70,40, 99, 4, 12,25, 77,27, 66,21, 89,49, 26,59, 53, 7, + 71,22, 80,73, 55,84, 27,41, 8,72, 93,90, 23,24, 11,86, + 4,25, 40, 9, 10,35, 78,61, 79,31, 43,75, 42,43, 29,62, + 31,59, 22,92, 50, 5, 17,51, 78,76, 93,28, 13,20, 14,31, + 87,73, 85,77, 26,28, 75,81, 73,72, 84,20, 97,29, 74,88, + 89,14, 78,49, 6,42, 30,90, 6,70, 36,95, 10,14, 95,17, + 71,48, 73,27, 42,25, 64,50, 1,89, 40,56, 97,93, 24,14, + 23,86, 38,92, 53,80, 90,75, 1,17, 76,12, 26, 3, 16,17, + 39,17, 36,60, 10,43, 36,11, 71,65, 11,21, 41,44, 71,98, + 57,66, 41,27, 68,49, 24,37, 82,89, 63,63, 48,39, 3,25, + 94,34, 43,12, 89, 3, 45,85, 80,33, 58,67, 86,82, 50,50, + 90,71, 48,95, 52,89, 24,24, 92,32, 41,69, 21,74, 40,71, + 27,80, 98,27, 36,98, 38,57, 17,41, 32,94, 0,92, 58,46, + 29,54, 27,85, 47,59, 83,16, 55,67, 34,11, 72,36, 89,57, + 19,40, 23,18, 82,90, 58,55, 60,13, 87, 7, 49,62, 7,63, + 67, 7, 10,82, 1,46, 26, 5, 69,99, 83,30, 95,66, 85,54, + 15,67, 5,62, 88,27, 41,68, 87,13, 83,63, 66,55, 61,78, + 64,15, 6,78, 55,55, 6,56, 94,83, 23,10, 17,65, 77, 8, + 5,93, 49,29, 30,88, 21,73, 36,55, 21,54, 24,19, 52,97, + 65,60, 5,40, 88,96, 79,45, 23,66, 28,67, 27,73, 54,91, + 40,12, 55,66, 97,67, 86,83, 79,97, 12,90, 6,72, 40,81, + 31,70, 87,55, 48,19, 60,26, 35,93, 25,40, 73,80, 20, 8, + 67,39, 80,19, 74, 6, 58,52, 30,52, 35,84, 73,39, 98, 3, + 16,69, 9, 9, 11,76, 93,24, 22,44, 11,49, 92, 2, 44,82, + 40,62, 17,91, 31,75, 24,56, 18,24, 69,14, 27, 8, 94,85, + 83,84, 51,28, 65,50, 45,88, 46,89, 41,34, 85,19, 71,91, + 85,36, 23, 0, 14,90, 85,42, 98, 1, 30,81, 97,11, 79,11, + 59,47, 66,88, 67,79, 14,55, 70,68, 73,19, 67,25, 36,20, + 14,70, 35,85, 69,51, 37, 5, 59,51, 51,31, 32,52, 78, 7, + 46,88, 25,34, 96,40, 93,15, 15,50, 68,10, 19,49, 86,34, + 77,88, 25,32, 99,12, 65, 5, 57,43, 68,84, 48,34, 16,10, + 86,62, 68,38, 20,41, 55, 5, 78, 5, 9,11, 38, 5, 86,32, + 98,39, 14,41, 88,95, 54, 8, 70,67, 0,82, 25, 6, 11,77, + 83,14, 65,22, 32,79, 78,80, 42, 0, 94, 6, 12,22, 18,45, + 17,67, 96,31, 89,93, 67,51, 54,30, 55,27, 85,29, 4,99, + 58,56, 84,34, 6,57, 74,58, 91,88, 94,68, 26,60, 73,12, + 95,68, 63,99, 28, 7, 5,10, 92,77, 91,66, 17,63, 41, 2, + 10,48, 23,16, 33,46, 21,61, 70,95, 58,48, 61,12, 86,58, + 10,84, 89,71, 62,15, 97,20, 3,54, 82,86, 20,23, 27,11, + 23,60, 75,34, 41,26, 84,84, 94, 2, 33,76, 69,71, 20,37, + 69,62, 36,34, 92,80, 37,15, 34,32, 34,27, 53,76, 46,50, + 19,38, 20,66, 23,46, 54,48, 1,59, 95,73, 16,23, 17,18, + 38,82, 84,30, 35,65, 69, 8, 25,72, 99,48, 36,96, 24,45, + 96, 6, 41,97, 95,67, 19,96, 63,21, 73,53, 53,57, 6, 1, + 61,34, 11,78, 89,88, 80,48, 33,45, 0,79, 18,58, 75,75, + 1,23, 32,13, 52,62, 13,35, 2,57, 25,76, 36,52, 34,24, + 42,86, 56,60, 47,35, 57,51, 51,64, 50,51, 41,82, 31,40, + 4,19, 44,94, 60,42, 39,10, 0,58, 39,78, 96, 7, 9,53, + 2,22, 29,53, 2,39, 82,71, 70,63, 67,60, 45,45, 0, 4, + 73,82, 70,57, 52,94, 65, 8, 45,28, 19,35, 1,32, 87,56, + 70,33, 24,67, 63,77, 74,45, 98,56, 36,24, 22,37, 99,44, + 77,50, 79,13, 25,54, 22, 8, 22, 9, 65,54, 97, 3, 57,78, + 4,75, 25, 8, 69,17, 82,62, 79,77, 3,61, 46,84, 96,37, + 25,24, 75,20, 87,48, 92,24, 72, 7, 28,45, 83,31, 69,64, + 40,38, 19,11, 43,18, 27,96, 43,54, 10, 3, 69,57, 73,77, + 92,98, 15, 9, 27,88, 57,96, 8,73, 32,78, 57,35, 42,63, + 73,89, 62,92, 49,17, 50,22, 55,12, 28,59, 34,21, 21,20, + 80,47, 48,18, 99,81, 40,83, 76,66, 71,33, 30,98, 84,79, + 82,64, 73,69, 57,29, 24, 3, 46,59, 79,65, 95,51, 52,39, + 86,56, 85,53, 51,51, 81,64, 25,18, 92, 8, 90,55, 39,42, + 40,64, 8,44, 22,21, 80,88, 9,56, 82,61, 51,27, 92,22, + 7,71, 33, 0, 13,65, 3,55, 22,50, 70,35, 78,26, 43,29, + 56,21, 83,25, 6,83, 68,63, 16,98, 71,89, 0, 2, 6,50, + 87,93, 76,99, 89,87, 40,32, 55,61, 99,33, 54,56, 64,46, + 88,38, 40,93, 67,69, 96,82, 32,35, 78,43, 71,99, 72,12, + 45,64, 32,55, 26,52, 46,52, 72,85, 85,60, 90,27, 11,83, + 36,13, 46,25, 11,14, 35,23, 75,23, 26,65, 9,34, 60,48, + 66,29, 91,39, 89,64, 8,74, 32, 9, 91,47, 50,95, 49,83, + 57,79, 52,53, 37, 1, 70,66, 92,87, 21,71, 27,35, 36,44, + 3,90, 66, 8, 33,99, 81,77, 86,85, 55,88, 66,25, 75,15, + 20,59, 74,93, 59,83, 22,76, 89,83, 49,79, 7,44, 84,75, + 81,38, 28,47, 45, 7, 93,77, 30,85, 6, 9, 11,72, 64,35, + 61,39, 47,77, 51,95, 80,93, 9, 2, 41,41, 29,82, 79,47, + 67,28, 45,83, 19,70, 57,60, 45,43, 32,33, 95,23, 56,89, + 4,36, 63,85, 31, 6, 82,59, 59,80, 35,52, 10,74, 59,36, + 55,31, 97,59, 76,49, 29,51, 52,13, 57,28, 70,94, 54,28, + 41, 7, 48, 4, 61,40, 0,85, 3,51, 40,72, 46, 4, 18,80, + 32,67, 37,26, 99,29, 84,42, 3, 7, 40,46, 50,49, 32,64, + 2,43, 86,44, 76,34, 22,53, 48,33, 43,67, 64,63, 67,99, + 80,71, 0, 3, 22,96, 59,44, 57,52, 55,10, 78,64, 76,93, + 53,38, 70,18, 50,39, 93,87, 45,47, 40,88, 73,68, 33,79, + 86,84, 47,53, 9,94, 11,41, 0,16, 97,64, 75,36, 37,35, + 49,78, 36,47, 85,55, 30, 6, 41,77, 77,53, 0,70, 26,27, + 75,21, 39,89, 49,14, 50,94, 81,76, 14,86, 19,44, 56,53, + 29,39, 59,70, 52,52, 84,88, 46,63, 57,27, 24,60, 43,22, + 16, 5, 32,10, 64,28, 2,89, 24,55, 84,40, 11,42, 33,27, + 55,70, 54,25, 88,16, 51,65, 0,21, 33,81, 5,34, 57, 5, + 37,58, 30,70, 47, 1, 48,21, 21,72, 64,21, 54,63, 3, 3, + 66,60, 54,88, 2,47, 22,89, 93,33, 71,46, 46,54, 34,20, + 76,31, 58,37, 61, 0, 82,73, 92,38, 2,74, 50,44, 86,96, + 14,18, 86,51, 21, 2, 3,52, 12,44, 63,59, 33,97, 99,21, + 65,64, 41,56, 58, 5, 65,24, 70,30, 83,55, 0,44, 60, 3, + 83,85, 2, 4, 88,59, 90,88, 82, 8, 24,63, 96,93, 51,25, + 43,25, 16,37, 52, 3, 81,34, 90,34, 66, 7, 55,33, 80,77, + 5,14, 96,98, 47,86, 17, 2, 56, 2, 37,97, 12, 1, 22,52, + 87,86, 23,61, 60,55, 4, 0, 52, 5, 19,12, 25,37, 72,37, + 57,19, 50,48, 28,53, 20,57, 83, 7, 64,73, 39,54, 83,24, + 10,80, 81,21, 35, 3, 0,94, 41,33, 86,18, 72,39, 82,38, + 7,57, 7,93, 52,50, 94,19, 96,34, 41,65, 71,77, 77,57, + 17,64, 64,58, 58,97, 83,72, 11,57, 88,85, 78,17, 83,28, + 88,64, 35,35, 99,83, 36,12, 1,99, 17,69, 68,66, 4, 2, + 8,64, 87,49, 88,88, 72,30, 65, 6, 5,19, 95,54, 71,36, + 40,74, 14,49, 87,92, 23,93, 69,93, 21,18, 30,58, 69,88, + 20, 6, 28,29, 64,69, 2,58, 56,79, 89,56, 65,34, 90,87, + 33,35, 65,67, 6, 5, 42,19, 74,92, 18,57, 85,61, 52,99, + 21,55, 18,49, 53,82, 86,48, 36,50, 64,86, 59,55, 5,63, + 71,20, 18,56, 29,96, 9,85, 57,72, 15,92, 11,89, 29,67, + 70,62, 77,22, 0, 0, 79,37, 7,80, 60,87, 48, 1, 37,88, + 8,36, 7,40, 10, 5, 36,74, 43,84, 63,62, 55,21, 44,25, + 49,28, 81,17, 23,27, 76,80, 95,20, 13,89, 20,79, 41, 1, + 75,28, 76,78, 72,34, 58,44, 15,80, 30,95, 19,21, 2, 2, + 11,88, 58,94, 91, 8, 63, 3, 22,31, 8,81, 90,65, 58,58, + 32, 1, 80, 6, 24,10, 33,26, 87,67, 92,47, 75,35, 38,15, + 94, 1, 81,48, 79,55, 39,50, 1,30, 26,79, 94,54, 3,13, + 78,27, 82,63, 83,91, 23,11, 49,84, 36,18, 97,72, 46,57, + 36,87, 96,94, 58,84, 47,19, 31,43, 21,89, 71,47, 24,71, + 18, 6, 19,15, 12,23, 93,49, 99,96, 59,22, 34,44, 5,92, + 38,25, 99,57, 51,47, 9,55, 25,51, 39,77, 19,36, 69,16, + 7,20, 25, 0, 13,40, 35,31, 37,52, 25,69, 54, 3, 39,40, + 53,35, 48,27, 47,87, 81,12, 29,10, 25,98, 46,83, 4, 1, + 71,92, 64,34, 13,94, 4,32, 66,38, 92,23, 94,55, 28,73, + 82,55, 50,30, 72,99, 71,97, 78,52, 67,89, 21,57, 98,98, + 10,54, 23,70, 87,88, 68, 2, 39,66, 26,41, 43,34, 76,96, + 81,13, 47,42, 15,59, 97, 5, 84,41, 72, 2, 9,99, 35,53, + 23,37, 67,74, 94,60, 46, 8, 56,77, 88,36, 12, 5, 70,90, + 31,18, 8, 2, 84,14, 59,34, 22, 2, 96,13, 5,29, 98,80, + 25,91, 21,41, 95,94, 19,10, 3,18, 99,40, 3,72, 63,27, + 17,81, 27,77, 75,48, 66,61, 60,45, 16, 3, 88,28, 82,14, + 84,39, 89,69, 59,19, 67,36, 60,73, 87,43, 93,99, 2, 8, + 9,19, 59,68, 47,27, 50,35, 18, 8, 70,89, 29,92, 26,99, + 50,13, 99,89, 63,58, 53, 5, 85,16, 44,20, 3,34, 99,64, + 19,93, 85,47, 62,28, 56,74, 11,59, 48,60, 66,92, 90,48, + 43,83, 38,36, 51,44, 5,31, 90,58, 64,94, 32,83, 94,14, + 72, 8, 86,92, 21,42, 6,87, 23,75, 85,21, 81,80, 94,86, + 12,58, 88,89, 75,63, 61,73, 31,71, 28,31, 88,84, 38,24, + 29,59, 62,76, 4,20, 5,68, 14,52, 18,77, 44, 5, 35,56, + 3,21, 75,32, 8,29, 18,98, 39,74, 33,83, 48, 7, 73,18, + 11,43, 81,82, 53,69, 63,45, 50,29, 56,99, 50,97, 78,93, + 88,86, 34,37, 23,65, 95,33, 75,66, 89,12, 28,70, 60,64, + 80,57, 13,71, 30,87, 78,36, 1,90, 51,55, 93,97, 38,39, + 63, 5, 88,53, 41,48, 64,11, 53,64, 69,24, 24,92, 19, 4, + 82,75, 24,75, 82,94, 5, 0, 71,88, 99,30, 6,61, 23,50, + 96,20, 46,96, 71, 3, 32,15, 9, 4, 47,67, 57,68, 77,83, + 97, 8, 51,11, 80,62, 22,26, 30,43, 36,53, 21,40, 99, 9, + 98,70, 27,42, 41,54, 4,43, 11,98, 5,12, 83,76, 25,36, + 62,18, 53,56, 17,53, 71,81, 10,76, 50, 0, 51,15, 53,59, + 36,27, 0,30, 35,68, 3,14, 7,70, 1,82, 54,54, 16,27, + 31,42, 99,38, 97,68, 36, 9, 90,44, 8,10, 84,99, 92,45, + 82,79, 57,88, 87,62, 56,78, 92,69, 0,63, 62,38, 95,83, + 18, 0, 41,87, 67,49, 84,54, 38,26, 50,23, 68,94, 97, 1, + 56,82, 19,55, 39,16, 11, 0, 82,60, 66,62, 19,28, 97,60, + 46, 3, 16,73, 38,16, 98,91, 23,33, 71,54, 24,12, 13,34, + 46,58, 90,12, 65,46, 2,80, 16,12, 68,78, 43,16, 1,75, + 41,11, 54,70, 89,77, 40,47, 3, 5, 19,69, 69,50, 79,57, + 68,13, 0,53, 80,97, 39,52, 80,39, 17,50, 47,30, 28,91, + 87,58, 29,48, 18,35, 17,23, 41,81, 31,27, 80,91, 62,45, + 39,95, 65,14, 27,66, 62, 7, 11, 2, 44,78, 26,96, 74,51, + 40,59, 37,32, 32,31, 59,65, 49, 1, 18,26, 33,41, 74,59, + 18,62, 77, 2, 40,91, 89, 9, 69,43, 83,50, 9,44, 87,81, + 65,86, 27,92, 69,23, 83,51, 10,21, 23,26, 49,38, 77,82, + 73,88, 47,89, 81,44, 81,57, 80,36, 7,19, 45,92, 25, 7, + 35,26, 3,20, 99,84, 19,68, 80,86, 67,41, 55,65, 52,90, + 51,90, 45,22, 10,96, 31,62, 17,21, 97,13, 98,53, 64,84, + 91,11, 45, 6, 26,40, 75,55, 61,21, 2,61, 20,78, 60,32, + 45,39, 49,80, 56,29, 16,21, 9,82, 12,36, 96,88, 60,31, + 49,31, 11, 1, 58,13, 42,40, 13,58, 96,95, 42,46, 80,63, + 89,35, 2,94, 3,82, 98,23, 33,50, 3,95, 23,91, 86,50, + 80,14, 3,11, 8,39, 66,27, 95,32, 15,83, 27,99, 95,90, + 12,66, 14,82, 32,82, 15,89, 26,18, 87,63, 80,32, 91,54, + 45,26, 37,78, 99,23, 22,32, 65,66, 83, 5, 91, 7, 37,14, + 40,51, 34,84, 60,36, 30,55, 3,46, 78, 9, 10,11, 36, 1, + 29,97, 66,67, 6,88, 75,58, 73,79, 63,71, 39,88, 97,47, + 91,45, 19,34, 34,82, 13,59, 55,28, 37,11, 22,27, 88,10, + 16, 8, 65,84, 54,97, 84, 1, 76,50, 24,30, 83,10, 94,90, + 40, 4, 54, 0, 23,38, 58,93, 43,76, 0,47, 73,74, 80,74, + 7,30, 93,54, 91,20, 30,94, 55,83, 22,84, 80,24, 72,60, + 80, 9, 4, 9, 56,28, 47,71, 27,30, 21,62, 97,46, 74,73, + 66,30, 75,37, 92,49, 89,50, 63,43, 49,89, 8,89, 47,17, + 56, 9, 59, 3, 72,28, 58,47, 61, 1, 90, 8, 61,50, 26, 1, + 84,10, 70,91, 43,36, 65,27, 18, 1, 59,13, 70,38, 99, 2, + 9,88, 79,17, 66,49, 30,19, 86,41, 44,69, 80,84, 68,53, + 45,98, 97,82, 49,97, 35,89, 24,78, 90,78, 23,20, 90,51, + 5,27, 62, 1, 39,31, 13,37, 9,91, 65,49, 9,71, 61,16, + 79,42, 63, 2, 10,22, 26,89, 38,64, 19,57, 72,78, 88,42, + 52,95, 42,47, 36,61, 49,24, 50,25, 89,41, 90, 6, 89,28, + 65,31, 47,51, 10,42, 99,53, 10,88, 40,30, 98,36, 92,92, + 45,53, 18,81, 84,58, 86,42, 86,87, 23,30, 98,33, 30,24, + 30,29, 15,58, 54,53, 77,60, 70,50, 78,38, 62,20, 60,83, + 73,60, 87,65, 98,71, 84,61, 55, 9, 78,45, 53,88, 78,62, + 3,38, 54,34, 51,67, 99,88, 30,40, 8,22, 26,72, 38,91, + 57,62, 18,20, 93,16, 18,18, 80,37, 66,20, 17, 3, 50, 6, + 35,59, 20,20, 31,55, 59, 0, 51,71, 22,65, 94,15, 8,56, + 91,33, 31,13, 66,46, 64,39, 57,33, 98,64, 33,24, 25,68, + 97,89, 18, 3, 61,76, 61,80, 78,97, 32,49, 36,83, 87,76, + 80,52, 5,61, 66,12, 4,89, 47, 4, 45,72, 49,71, 36,43, + 13,30, 86,28, 39,36, 48,44, 91,13, 76,83, 25,64, 62,91, + 62,64, 91,25, 87,40, 69, 2, 70, 1, 79,95, 84,91, 83,23, + 68, 3, 74,77, 10,49, 10,61, 53,10, 87,99, 98,93, 41,73, + 96,21, 85,80, 96,74, 79,53, 46,61, 79,94, 95,56, 33,68, + 91,92, 63,35, 52,79, 38,52, 51,81, 64,44, 83,37, 50,72, + 83, 2, 35,34, 91, 1, 20,73, 16,88, 47,12, 29,95, 4,22, + 31,99, 24,83, 76,14, 14,99, 31,56, 4,51, 61,64, 19,24, + 6,73, 28,54, 87,45, 3,49, 24, 2, 38,21, 44, 0, 19, 3, + 82,24, 44, 9, 63,25, 0,39, 65,47, 54,68, 85,49, 7, 6, + 48,17, 98,57, 57,40, 67,59, 94,29, 73,83, 55,82, 75,52, + 57,50, 39,27, 82,42, 57,25, 9,28, 0,56, 84,65, 18,61, + 94,63, 34,26, 29,34, 41, 8, 60,66, 77, 7, 43,78, 19,97, + 69,69, 65,80, 59,59, 80,53, 46,40, 55,24, 93,31, 83,36, + 33, 7, 5,80, 7,94, 61,87, 32, 7, 50,78, 69,34, 41,25, + 8,90, 86,15, 8,14, 57, 2, 0,20, 99,46, 68,22, 17, 0, + 15,72, 12,42, 37,17, 32,36, 11,45, 77,26, 17,76, 96,38, + 77, 1, 28,46, 65,30, 69, 7, 61,79, 6,97, 73,41, 32, 2, + 60,12, 80,34, 89,16, 45,79, 90,73, 85, 5, 43,50, 25,27, + 90,36, 77,67, 98, 4, 95,81, 20,64, 61,86, 36,39, 85,83, + 91, 5, 7,85, 61,35, 69,76, 59,86, 3,66, 15,31, 11,28, + 52,20, 60,37, 29,52, 26, 7, 36, 6, 46,35, 65,38, 11,13, + 36,91, 36,14, 8,46, 91,34, 26,66, 45,21, 13,99, 53,11, + 46,19, 7,23, 59,52, 10,45, 2,65, 53,99, 86,74, 90,70, + 88,32, 32,11, 87,15, 91,35, 32,63, 25,55, 81,26, 33,49, + 39,12, 46,55, 2,41, 14, 9, 62,32, 4,78, 31,19, 45,13, + 5,35, 67,64, 4,85, 13,95, 4,70, 91, 9, 17,82, 2,96, + 80,89, 14,62, 58, 9, 21,67, 76, 7, 39,62, 20,14, 25,58, + 76,76, 89,38, 73,28, 72,73, 55,14, 97,22, 92,56, 91,29, + 15,39, 55,39, 59,17, 21,96, 83,47, 41,94, 81,50, 4,88, + 74,48, 91,69, 79,89, 27,97, 27,82, 84,15, 67,15, 42,62, + 68,60, 92,34, 78,60, 26,87, 17,71, 69,29, 63,72, 82, 2, + 72,49, 6,10, 68,59, 58,36, 39,96, 89,82, 99,65, 47,22, + 74,95, 33,96, 11,33, 66,14, 45,62, 86,17, 49,39, 1,77, + 40,33, 84,83, 48,65, 89,91, 46, 7, 77,25, 47,26, 40,17, + 35,60, 93,68, 67,61, 20,19, 49,42, 47,85, 79,10, 98,48, + 60,54, 61,58, 56,94, 69,75, 44,44, 84,56, 24,73, 88,69, + 43,63, 22,60, 24,80, 41,37, 46, 9, 79,76, 94, 9, 87,21, + 74,91, 20,25, 32,93, 5,51, 4,54, 61,28, 18,34, 24,99, + 94,18, 95,29, 56,13, 17, 1, 92,33, 15,74, 10,85, 29,75, + 83,83, 70,47, 71,40, 80,45, 91,87, 46,92, 59,40, 52, 4, + 74,36, 87,87, 26,10, 4,74, 80,92, 38,99, 92,71, 50,37, + 29,72, 78,72, 91,23, 13,84, 74, 5, 74,26, 23,90, 99,73, + 51,41, 52,44, 32,47, 21,22, 25, 3, 68,54, 13,83, 57,44, + 31,20, 13,16, 65, 9 +}; +const int p_100_7[] = { + /// Number of people on picture + 100, + /// Number of preferences + 2170, + /// Array of preferences + 27,18, 33,70, 62, 7, 50,64, 31,52, 2,89, 70,14, 30,65, + 28,14, 21,76, 60,93, 69,88, 87,89, 98,74, 91,27, 15, 6, + 13, 6, 49,90, 68,46, 52,60, 25, 3, 32,34, 82,73, 75,14, + 1,40, 79,55, 72,26, 86,71, 0,97, 97,78, 67,31, 13,68, + 57,72, 2,11, 36,22, 51,95, 53,89, 6,55, 7,14, 37, 9, + 66,20, 50,13, 91, 8, 65,53, 62,75, 57,15, 88,57, 19,28, + 20,65, 65,12, 5,82, 43,62, 78,26, 97,89, 79,87, 36,67, + 2,96, 35,78, 31,74, 29, 7, 35,95, 65,94, 2,59, 81, 9, + 33,85, 86,34, 97,60, 98,25, 36,45, 60,20, 67,10, 24,79, + 62,68, 68,23, 69,98, 33,88, 18,27, 39,21, 54,51, 81,70, + 69,24, 91,13, 85,31, 78, 1, 50,23, 4,64, 2,45, 57,43, + 67, 9, 82,44, 24,92, 22,32, 23, 3, 95,62, 18,54, 36,14, + 93,52, 83,76, 31,94, 20, 3, 0,81, 80,46, 35, 8, 67,61, + 49,96, 74,24, 63,15, 42,75, 64,78, 40,13, 37,57, 98,36, + 75,27, 72,74, 43,55, 2,28, 75,24, 4,65, 73,76, 80,84, + 35,30, 60,40, 85,37, 37,22, 0,90, 18,62, 94,37, 58,70, + 99,33, 23, 4, 45,82, 65,16, 59,39, 47,32, 34,94, 31,19, + 27,59, 53,76, 23, 8, 20,93, 6,24, 8,97, 24,22, 35,97, + 72,18, 5,31, 25, 8, 40,49, 76,76, 20,86, 98,98, 75,23, + 84, 7, 22,52, 32,24, 39,34, 98,37, 98,88, 80,38, 91,65, + 83,70, 85,91, 55,82, 98,52, 67, 5, 27, 8, 49,82, 69,96, + 9,59, 6,67, 19,87, 8, 7, 90,36, 51,82, 60,86, 60,97, + 61,98, 71,17, 40,68, 30,70, 8,16, 31,25, 64,15, 2,36, + 15,36, 26,55, 66,13, 35,77, 55,56, 0,31, 31,95, 65,85, + 14,18, 81, 2, 37,26, 38,10, 99,32, 56,73, 86, 2, 82,49, + 37,60, 1,81, 29,58, 11, 2, 41,16, 80,11, 23,14, 97,45, + 47,68, 8,68, 22, 6, 14, 9, 81,23, 7,25, 45,83, 0,24, + 12,93, 66, 0, 60,63, 33,41, 65,78, 83,21, 38,65, 71,31, + 64,63, 26,60, 66,28, 26, 0, 8,76, 26,49, 94,53, 48,10, + 1,14, 2,85, 45,21, 19,88, 36, 7, 70,29, 65,62, 7,49, + 27,92, 66,50, 95,97, 75,61, 29,18, 32,14, 59,75, 38, 9, + 68,80, 42, 0, 17,86, 40,35, 49,20, 77,92, 88,80, 49,83, + 66,26, 37,91, 65,26, 9,23, 20,69, 82,70, 4, 9, 96,37, + 91, 3, 45,79, 62,90, 86,19, 65,32, 75,17, 27,31, 82,29, + 27, 6, 53,67, 35,43, 73,25, 66,80, 82,14, 14,83, 15,32, + 50,92, 75,92, 21,10, 81,10, 16,10, 86,79, 34,10, 21,65, + 47,61, 71, 8, 80,87, 7,45, 72,93, 46,72, 4,91, 5,50, + 11, 9, 73,28, 30,10, 62,39, 55, 9, 13,67, 64,20, 89,86, + 67,46, 94, 4, 97,33, 45,74, 23,55, 64,72, 73,97, 42,98, + 89,58, 9,88, 27,23, 58, 2, 49,79, 10,41, 17, 3, 46,98, + 89,11, 56,15, 50,10, 53,58, 82,43, 53,64, 59,34, 27,29, + 74,25, 84,55, 92,44, 90,32, 48,80, 78,19, 90, 9, 71,22, + 18,61, 3,60, 41,62, 10,71, 40, 6, 97,52, 99,72, 92,28, + 78,39, 20,23, 77,75, 53,50, 60,55, 65, 3, 71,96, 1,45, + 11,98, 30,22, 53,80, 36, 4, 7,20, 64,68, 43,49, 2,72, + 42,66, 18,45, 57, 5, 33,94, 22,89, 33,12, 99,69, 41,68, + 0,86, 99,42, 2, 2, 71, 4, 21,91, 33,73, 98,24, 96,12, + 20,75, 16,39, 21,92, 83,78, 80,97, 35,61, 68,13, 66, 9, + 14,58, 21,44, 72,32, 36, 2, 14,64, 96,79, 38, 0, 10,55, + 50, 6, 45,35, 60,48, 40,11, 56,90, 1,59, 4,85, 10,53, + 88,74, 84,46, 17,15, 96,29, 67,80, 68,79, 32,96, 20,16, + 27,69, 4,58, 25,62, 93,70, 45, 5, 23,12, 51,88, 83,97, + 17,31, 55,24, 50, 7, 99,58, 36, 6, 53, 5, 70,61, 46, 1, + 48,51, 17,19, 79,35, 28,18, 20,36, 73,42, 22,28, 25,44, + 89,44, 70,96, 77,31, 73,38, 40,82, 93,90, 28,52, 83,67, + 36,90, 52, 4, 76, 4, 43,84, 61,92, 6,77, 70,17, 34,40, + 67,48, 89, 0, 87,12, 94,20, 91,57, 69,48, 67,69, 52,34, + 70,38, 39,78, 44,66, 23,57, 1,70, 48, 5, 38,46, 66,15, + 47,53, 62,43, 32,27, 27,35, 91,96, 16,43, 45,10, 15,51, + 27,52, 62,17, 14,84, 56,43, 8,80, 93,93, 80,76, 22,16, + 66,71, 18,47, 91, 1, 16,25, 6, 8, 53,18, 60,51, 38,98, + 65, 9, 25,42, 74,60, 71,79, 37, 1, 61,30, 87,30, 9,14, + 12, 1, 0,73, 22,36, 27,66, 20,98, 55,12, 16,66, 7,63, + 57,98, 77,36, 70,37, 64,48, 26,53, 29, 6, 20,53, 92,93, + 92,87, 82,61, 95,82, 68,86, 18,11, 63,19, 18,93, 25,43, + 72,30, 43,11, 2,99, 40,32, 43, 0, 32,80, 89,89, 49,48, + 49,61, 3,26, 25,87, 40,66, 66,48, 29, 4, 45,69, 66,57, + 4,80, 73, 8, 84, 9, 36,12, 47,99, 52,47, 41,25, 55,33, + 84,18, 69,60, 67,16, 39,84, 93,64, 15,10, 10,98, 53,27, + 22,77, 81, 0, 65,71, 88,33, 87,29, 69,26, 68,18, 27,50, + 80,81, 34,48, 37,40, 15,23, 63,16, 92,19, 81,78, 5,46, + 28,44, 68,57, 82,32, 42,70, 92,49, 71,27, 36,33, 41,96, + 6, 2, 41,52, 19, 3, 92,20, 43, 5, 66,91, 40,37, 59,68, + 26, 5, 3,24, 55,14, 34,27, 92,50, 93,28, 90,58, 29,95, + 29,70, 47,97, 20,70, 51, 7, 27,75, 41,94, 7,17, 60,89, + 51,63, 96, 7, 21,74, 82,40, 24,42, 4,52, 80,37, 57,26, + 69,47, 53,20, 40,34, 64,76, 15,54, 64,54, 49,94, 65,20, + 18,43, 85,28, 4,61, 52,80, 13,11, 80,41, 59,10, 58,73, + 25,45, 37, 5, 82,87, 34,78, 39,92, 4,47, 60,80, 29,50, + 94,62, 91,17, 48,41, 12,59, 64,55, 24,41, 29,82, 63,34, + 31, 1, 62,14, 23,69, 34,63, 20,41, 45,62, 12,14, 56,68, + 18,91, 98,39, 84,81, 87,79, 26,78, 60,49, 44,47, 80, 4, + 25,64, 70,33, 53,38, 19,79, 31,44, 3,46, 41,85, 2,15, + 69,64, 37,70, 76,85, 36,54, 27,10, 70,41, 39,90, 58,16, + 59, 2, 91,31, 41,46, 29,72, 48,73, 8,81, 18,82, 65,77, + 84,91, 63,18, 52, 1, 49,63, 51,99, 37,47, 90,54, 58,79, + 20,97, 55,19, 12,26, 41,21, 48,14, 31, 9, 77,14, 30,88, + 32,85, 94,35, 62,74, 81,53, 95, 0, 52,12, 10,76, 11,59, + 67,73, 96,15, 55,23, 99,28, 93,33, 73,72, 38,85, 26,86, + 50,36, 68,42, 87,73, 34,41, 73, 1, 72,98, 34,22, 2,52, + 5,54, 34,72, 79, 8, 91,61, 5,51, 32,35, 12,21, 59,29, + 21,78, 19,55, 36,24, 95,68, 91,37, 54,49, 0,96, 95,42, + 57,78, 55,89, 49,22, 91,33, 93,10, 91,44, 77,19, 45,77, + 30,40, 87, 9, 51,57, 58,58, 97,64, 72,44, 43, 2, 93,71, + 26,96, 74,72, 92,34, 55, 1, 67,78, 10,93, 40,39, 58,37, + 98,59, 60,43, 90,15, 74,76, 38,17, 87,62, 42,58, 24,49, + 26,64, 79,59, 73,49, 29,16, 9,91, 80,82, 85,56, 12,70, + 15,16, 32, 6, 34,79, 84,28, 93,63, 53, 9, 54,62, 98,46, + 71, 9, 31,78, 54,93, 52,83, 94,16, 99,85, 55,64, 55, 2, + 21,96, 52,33, 60,87, 61,76, 67,95, 70,56, 84, 3, 34, 0, + 26,62, 78,31, 33,64, 52,81, 3,80, 54,94, 85,41, 76,51, + 79,37, 49,77, 72,71, 92,17, 51,17, 26,65, 57,42, 74,40, + 62,45, 34,57, 55,52, 42,11, 58,48, 15,88, 87,49, 78,12, + 99,88, 24,76, 63,53, 30,19, 60,32, 23,88, 30,41, 73,59, + 0,54, 10,67, 29,86, 63, 4, 84,41, 97,61, 54,99, 7,97, + 74,54, 81,64, 17,71, 41,37, 44, 9, 8,21, 26, 4, 10,56, + 71,37, 68,55, 29,92, 73,18, 59,62, 57,40, 18,33, 33,38, + 75,88, 54,59, 0,67, 96, 5, 96,22, 94,74, 33,31, 3,79, + 76, 6, 3,65, 89,68, 62,55, 91,77, 37,46, 82,71, 40,51, + 75,28, 83,85, 32,23, 16,61, 4,96, 86,55, 8,13, 35,70, + 99,94, 42,72, 39,98, 22,41, 5,81, 27, 5, 60,52, 40,24, + 20,72, 77,43, 33,80, 24,74, 83,55, 71,15, 7,70, 69,11, + 71,83, 0,91, 47,23, 19,38, 24,16, 78,82, 99,36, 71,90, + 17,14, 70,95, 94,18, 39,64, 79,36, 2,34, 72, 7, 90,61, + 26,20, 96,25, 6,58, 18,73, 37,53, 99,66, 8, 9, 96,49, + 52,93, 49,64, 97,18, 31, 8, 9,22, 13,38, 96,33, 48,55, + 78,80, 88,50, 37,49, 29,77, 54, 1, 52,17, 64, 1, 24,84, + 84,37, 23,94, 42,32, 8,59, 36,95, 78, 4, 19,99, 89,51, + 78,54, 55,32, 25,83, 46,48, 81, 1, 36, 9, 52, 6, 22,63, + 20,80, 48,90, 69,19, 76, 9, 12,51, 21,58, 13,61, 57,23, + 79,42, 63,46, 14,30, 81,48, 26,84, 24, 0, 77,22, 12,15, + 98,40, 4,35, 70,83, 79,31, 93,36, 52,86, 33,66, 71,53, + 28,67, 32,54, 75,89, 97,58, 16,73, 69,80, 23,30, 7,40, + 66,16, 69,32, 11,72, 13,78, 54, 4, 1,65, 2, 8, 45,72, + 47,57, 23,75, 92,62, 4,71, 6,15, 31,80, 2,57, 20, 6, + 71,41, 57, 6, 89,60, 53,96, 14,26, 97,95, 32,16, 93, 1, + 28,65, 81, 7, 8,55, 8, 4, 67,33, 12,90, 98,75, 43,74, + 47,98, 92,95, 80,91, 65,45, 78,61, 39, 1, 45,42, 36,50, + 11,67, 26,99, 14,53, 9, 4, 29,47, 22,12, 92,81, 26,10, + 4,17, 36,98, 65,69, 39,48, 8,22, 47,55, 47,54, 28,84, + 23,82, 22, 1, 26,28, 25,29, 56,16, 90,28, 90,35, 91,20, + 49,92, 24, 5, 36,34, 1,77, 95,32, 79,75, 99, 3, 24,66, + 27,28, 22,53, 31,46, 37,77, 18,14, 35,81, 29,21, 81,32, + 7,23, 78,29, 35,85, 29,84, 61, 9, 78,42, 30,86, 12, 9, + 73, 3, 63,77, 36,39, 6,32, 31,14, 26,94, 93,74, 35,79, + 55,84, 80,36, 8,53, 12,89, 82,59, 81,77, 27,96, 33,32, + 85, 9, 26,33, 33,92, 1,80, 25,24, 14,90, 60,60, 4,86, + 39, 3, 99,51, 38,66, 20,67, 80,80, 95, 8, 33,98, 46,83, + 4,66, 84,58, 55,36, 39,38, 41,11, 64,42, 78,59, 6,99, + 67,36, 63,62, 6,43, 8,74, 37,80, 74,66, 51,11, 11,48, + 91,18, 34,95, 39,31, 70,67, 28,66, 34,59, 3,95, 29,64, + 14,69, 37,19, 34,60, 20,17, 96,56, 74, 8, 36,57, 91,70, + 10,65, 82,86, 62,20, 88, 9, 84,10, 22,17, 18,10, 5,53, + 96,61, 72,41, 28, 2, 49,47, 49,31, 16,51, 13,12, 36,27, + 20,43, 41, 3, 38, 1, 14,28, 7,16, 95,81, 66,38, 86,80, + 42,59, 42,24, 45,84, 83,29, 77, 8, 9,27, 50,55, 2,92, + 23,79, 60,71, 54,28, 61,85, 55,65, 28,23, 42,20, 89,75, + 6,29, 11, 0, 48,18, 66,78, 55,96, 11,45, 15,57, 80,99, + 55,77, 37,18, 29,75, 69,20, 79,14, 83,98, 4,37, 51,59, + 59,66, 94, 2, 20, 1, 15,89, 65,88, 45,50, 93,77, 28,35, + 37,37, 31,61, 7,62, 33,79, 44,89, 72,61, 44,28, 18,89, + 50,27, 56,76, 75, 7, 68,96, 41,40, 79,46, 41,34, 84,73, + 49,71, 99,64, 80,25, 48,11, 32, 1, 47,90, 91, 9, 35, 1, + 56,12, 89,35, 98,12, 65,31, 42,89, 67,40, 70,25, 43,67, + 9,10, 93,97, 77,99, 60,56, 18,60, 89,84, 62,16, 95,54, + 45,26, 19,31, 30,43, 67,63, 57, 4, 5,43, 13,30, 14,33, + 6,13, 21,45, 19,32, 85, 0, 6,76, 16,82, 9,86, 44,50, + 62,53, 9, 7, 98,89, 85,75, 51,87, 4,12, 94,76, 27,83, + 80,70, 43,29, 36,36, 82,65, 80, 5, 84,47, 7,18, 35,16, + 95,28, 0,70, 62,32, 45,47, 5,61, 43,98, 26,54, 35,46, + 98,41, 69,12, 46,71, 29,45, 51,50, 9,45, 43,24, 56,50, + 56,40, 33,52, 0,66, 73,89, 89,61, 3,99, 75,98, 87,74, + 39,70, 36,58, 36,32, 76,61, 47,39, 15,19, 45,65, 38,11, + 41,91, 98,96, 22,85, 49,76, 95,34, 64,30, 62,61, 25,41, + 71,99, 33,15, 39,47, 56,29, 57,37, 70,18, 80,39, 7,29, + 19,27, 33, 9, 61, 3, 41,35, 91,35, 33,29, 12,95, 44,44, + 83,14, 62,89, 62,18, 77,50, 90,82, 24,39, 78,72, 40,96, + 38,49, 87,65, 47,13, 62,30, 0,82, 80,19, 76,97, 19,63, + 91,72, 80,22, 87,57, 57,55, 73, 9, 22,99, 45,71, 73,46, + 71,45, 4, 4, 65,59, 97,44, 38,93, 1,21, 79,79, 73,26, + 30,35, 33,18, 39,29, 2,30, 16,14, 62,93, 25,88, 91,62, + 92,12, 55,47, 68, 7, 0,28, 3,91, 55,97, 64,46, 98,54, + 36,73, 19,94, 28, 8, 19,91, 93,66, 33,50, 81,42, 11,22, + 6,84, 76,63, 60,58, 1,79, 4,51, 59,55, 67,18, 5,29, + 20,40, 66,75, 76,54, 41,24, 33,67, 93,25, 56,71, 70,59, + 66,51, 3,67, 96, 2, 89, 8, 79,52, 61,65, 8,28, 81,49, + 12,40, 99, 5, 78,91, 56,48, 64,24, 41,55, 46, 0, 10,91, + 81,88, 44,26, 87,35, 16,79, 64,34, 11,57, 56,34, 90, 1, + 91,83, 61,48, 67,11, 82,60, 6,80, 55,62, 9,69, 75,87, + 73,36, 59,15, 53,98, 60,24, 0,12, 71,62, 7,78, 27,48, + 59,93, 60,33, 64, 3, 41,64, 54,21, 39,97, 91, 2, 48,40, + 71,11, 20, 4, 72,29, 49,42, 82,64, 98, 4, 46,31, 42,51, + 63, 3, 31,10, 55,10, 6,56, 73,95, 78,40, 28,74, 84,51, + 37,71, 54,14, 67,52, 51,24, 94,42, 17,47, 63,82, 65,37, + 39,10, 61,18, 47,21, 1,38, 71,91, 62,46, 67,47, 70, 2, + 96,31, 72,55, 16,38, 1,58, 48, 8, 79, 0, 98,79, 83,39, + 24,15, 60,47, 42,67, 20,37, 95,36, 5,49, 37,24, 23,72, + 91,55, 77,89, 59,99, 61,17, 17,13, 48,13, 20,88, 44,59, + 55,20, 46, 8, 36,80, 25,14, 48,32, 32,56, 66,73, 24, 2, + 24,90, 63,87, 59,61, 73,86, 63,61, 87,39, 59,42, 66,68, + 40, 0, 85,29, 16,71, 2,22, 20,91, 72,16, 42,50, 33,35, + 66, 8, 35,90, 23,22, 36,91, 20,77, 65,21, 19,45, 62,86, + 24,57, 18,87, 38,37, 71,39, 22, 4, 3,34, 91, 5, 43,94, + 76,46, 31,37, 25,70, 50, 8, 35,65, 66,61, 47,25, 95,13, + 28,97, 18,39, 44,20, 58,80, 66,30, 80,50, 23,28, 40,41, + 15, 4, 38,45, 71, 6, 19, 4, 44,58, 30,28, 16, 8, 92,26, + 93,58, 54,33, 38,41, 78,87, 46,67, 24,58, 84,92, 42,65, + 62,44, 85,84, 64,90, 92,82, 72, 0, 3, 4, 39,36, 11,63, + 5,12, 2,24, 82,89, 73,61, 84,13, 11,87, 10,50, 34, 6, + 42,74, 58,12, 47,88, 29,87, 85,27, 34,19, 69, 0, 79,58, + 28,40, 58,85, 61,57, 50,66, 67,39, 36,17, 8,48, 73,85, + 70, 6, 62,42, 76,36, 48,86, 1,89, 29,59, 63,57, 57,97, + 91,87, 45,53, 26,46, 85,46, 55,69, 30,14, 43,68, 46,63, + 88,30, 28,61, 52,25, 11,30, 76,39, 64,73, 27,32, 96,82, + 93,94, 37,76, 11,49, 42, 8, 5,42, 98,43, 8,99, 33,24, + 91,19, 61,37, 24,27, 38,39, 52,74, 46,33, 86,31, 58, 5, + 8,20, 29,98, 72,31, 95,21, 98,93, 36,66, 68,77, 47,85, + 6,10, 35,23, 40, 3, 11,65, 42,73, 37,14, 22,46, 8,92, + 20,21, 73,44, 44,83, 84,42, 58,61, 13,36, 15,24, 10,84, + 75,58, 43,88, 23,38, 15,75, 27,91, 18,12, 81,85, 71,93, + 22, 9, 6,14, 54,77, 44,43, 17,32, 15,34, 74,89, 67,44, + 78,34, 75,32, 71,61, 11,29, 2,29, 60,69, 94,10, 62,15, + 25,99, 94,19, 3,42, 47,69, 49,85, 47,60, 57,63, 77,26, + 47,14, 3,57, 93,83, 97,35, 5,35, 76, 3, 41,74, 50,45, + 12, 8, 80,66, 44, 8, 27,49, 71,68, 7,15, 84,17, 32,63, + 76,91, 33,56, 74,51, 94,38, 61,73, 78,98, 74,71, 71,47, + 71,19, 2,67, 93,18, 97,81, 74,38, 86,33, 76, 1, 63,52, + 67,34, 69,90, 58,36, 14,92, 58,21, 71,36, 68,56, 87,93, + 93,62, 28,90, 65,42, 62,21, 63,80, 72,66, 43,46, 16,11, + 24,55, 45,44, 22,13, 74,58, 85,58, 25,37, 92, 8, 91,98, + 29,11, 6,41, 86,36, 94,75, 33,53, 17,91, 48,49, 65,75, + 57,68, 35,14, 68,12, 80, 7, 13,77, 81,67, 51,37, 51,94, + 40,17, 4,46, 82,41, 70,79, 60,18, 54,25, 67,66, 76,26, + 33,90, 23,29, 9,15, 42,83, 93,80, 93,45, 90,12, 88,21, + 25,21, 39,55, 76, 5, 70,80, 54,80, 72,17, 44,55, 14,49, + 73,47, 13,37, 66,53, 12,35, 71,66, 83,34, 28,79, 17,64, + 4,25, 10,37, 77,30, 52,31, 69,67, 43,90, 74, 0, 23, 5, + 95,66, 31,66, 78,11, 67,85, 70,43, 14,97, 1,98, 13,56, + 0,41, 1,60, 48,21, 24,28, 50,17, 38,35, 54,13, 64,58, + 42,56, 7,55, 54,17, 59,60, 5, 9, 43, 7, 55,34, 86,51, + 31,58, 17, 7, 0,98, 72,51, 11,77, 75,99, 33,30, 62,34, + 56,89, 92, 0, 94,13, 36,72, 64,33, 92,22, 29,35, 90,16, + 8,43, 27,58, 80,85, 84,72, 3,30, 11,18, 9,74, 42,34, + 50,34, 75,67, 23,53, 51,53, 13,86, 16,53, 95,15, 19,42, + 76,33, 79,66, 68,65, 5,57, 57,35, 64, 7, 83,87, 7,87, + 71,30, 26,31, 61,38, 27,94, 14,42, 89,66, 14,29, 16,65, + 97,74, 68,29, 50,99, 43,10, 79,34, 7,84, 96,27, 19,12, + 37,43, 89, 5, 55,57, 66,34, 94,33, 10,61, 16,50, 1,24, + 27,70, 50,89, 95,49, 93,51, 24,23, 35,53, 97,90, 56,45, + 75,75, 77,45, 76,31, 38,34, 32,42, 38,13, 49,13, 5,67, + 19,71, 97,59, 97, 8, 24,82, 98,87, 12, 4, 29,83, 78,66, + 70, 7, 85,30, 1,71, 32,53, 59,59, 65,86, 37,75, 66, 3, + 99,70, 84,49, 70,19, 27,80, 66,23, 36,44, 69,71, 28,32, + 77,71, 45,16, 57,47, 10,17, 90, 4, 45,86, 71,65, 50,86, + 35,60, 42, 1, 35,40, 67,99, 20, 0, 44,30, 22,50, 4,45, + 51,75, 97,29, 45,63, 37,85, 80,78, 16,42, 65,30, 61,64, + 94,57, 88,60, 86,70, 5,52, 42,61, 29,96, 32,82, 47,74, + 7,13, 76,94, 79,12, 18, 8, 19,80, 7,67, 17,25, 23,34, + 92,70, 73,93, 57,89, 84,54, 62,37, 28,38, 39, 0, 70,13, + 74,73, 86,30, 29,13, 87,50, 61,56, 24,43, 10,81, 53,86, + 49,69, 75,47, 79,60, 44,77, 57,86, 68,92, 86,58, 7,43, + 24,67, 0,37, 70,54, 5,78, 96,77, 10,43, 69,73, 61,97, + 52,36, 52,38, 70,58, 6,11, 17,89, 22, 7, 24,95, 48,88, + 18,79, 26,92, 53, 1, 28,82, 59,58, 81,80, 10,82, 39,74, + 37,12, 51, 5, 65, 8, 94,40, 89,40, 58,90, 6,66, 28,34, + 1,43, 52,11, 18, 6, 81, 6, 68,50, 83, 7, 10, 1, 78,45, + 14,55, 85,51, 85,17, 25,25, 29,19, 4,89, 20,24, 62,12, + 63,39, 21,72, 82,23, 16,32, 70,68, 93,99, 88,20, 75,15, + 7,83, 55,38, 29,66, 99,75, 99,96, 99, 7, 13,18, 9,34, + 29,38, 1,47, 82,94, 3,68, 98,26, 57,75, 95,22, 14,60, + 28,75, 32,31, 64,45, 79,53, 10,52, 35,57, 7,34, 28,71, + 71, 0, 3,15, 21,50, 52,44, 57,62, 54,55, 16, 0, 54,97, + 74,93, 54,71, 38,18, 76,30, 98,56, 74,45, 7, 1, 55,22, + 46,17, 67,55, 99,91, 42, 2, 13,26, 41,31, 0,35, 70, 0, + 52,89, 34,90, 48,98, 46,21, 13,21, 82,50, 44,71, 35,59, + 14,45, 16,75, 6, 4, 69, 8, 55,25, 70,66, 20,61, 75,40, + 43,80, 81, 3, 26,29, 79,99, 31,68, 79,29, 84,70, 6,25, + 97,66, 97, 1, 82,63, 30,77, 76,28, 61,28, 94,84, 24,29, + 15,39, 64,21, 83,62, 23,89, 81,46, 13,83, 95,37, 4, 2, + 38, 2, 14,57, 47,20, 88,85, 51,55, 77,62, 57,69, 31,47, + 16,64, 37,86, 7,86, 85,95, 60,94, 88,81, 67,37, 3,29, + 43,41, 36,86 +}; +const int p_100_8[] = { + /// Number of people on picture + 100, + /// Number of preferences + 946, + /// Array of preferences + 2,81, 71,16, 56,13, 5,84, 69,64, 78,91, 53,83, 67,80, + 1,24, 7,96, 8,82, 41,74, 74,50, 4,75, 84,84, 95,90, + 75,37, 56,67, 77,30, 75,34, 10,82, 68,97, 44,51, 14,22, + 93,45, 22,63, 27, 4, 38,92, 37,61, 14,18, 53,13, 87,39, + 67,33, 89,98, 64,85, 24,50, 18,18, 43,20, 6,67, 95,83, + 94,41, 64,93, 54,73, 33,30, 20,97, 33,41, 9, 7, 77,83, + 21,40, 14,87, 25,14, 75,82, 26,19, 7,36, 45,16, 56,42, + 55,54, 50,86, 11,76, 31,56, 48,75, 64,59, 21,70, 22,76, + 31,82, 38,80, 38,14, 61,71, 2,16, 63,19, 9,35, 35,36, + 2,15, 34,95, 69,97, 80,61, 89,65, 71,95, 9,15, 91,53, + 88,38, 63,20, 20, 9, 74,66, 55,61, 49,55, 78,72, 44,14, + 93,22, 10,34, 84,69, 2,49, 92,92, 52,91, 26,40, 65,74, + 1,41, 72,90, 54,56, 60,32, 38,52, 65,78, 30,88, 15,56, + 84,26, 2, 6, 89, 1, 31,96, 89,26, 99,20, 38,36, 80,70, + 27,46, 89,43, 87,58, 28,31, 88,88, 27,33, 26,38, 33,58, + 13,65, 87,72, 28,55, 50,27, 85,76, 59,81, 61,48, 50,83, + 9, 1, 7,71, 26,18, 64,82, 88,11, 68, 2, 65,34, 39,92, + 77, 4, 28,10, 30,31, 7,73, 10,45, 6,87, 76,85, 29,85, + 12,63, 32,63, 23,13, 25,37, 17, 9, 24,14, 6, 5, 37,23, + 25,85, 84,33, 21,59, 97,34, 36, 9, 13,42, 50, 8, 8,25, + 1,61, 1,85, 43,60, 65,81, 14,33, 16,29, 47,39, 47,28, + 19, 5, 27,80, 98,55, 24, 2, 9,70, 38,89, 40,29, 51,40, + 29,47, 91,36, 66,71, 82,86, 84,77, 76,16, 76,44, 16,13, + 36,24, 35,57, 59,24, 36,14, 13,41, 92,54, 14,57, 82,10, + 19,37, 30,85, 80, 8, 63,61, 27,39, 55, 9, 98,14, 97,91, + 20,95, 11,40, 26,35, 16,36, 98,95, 85,35, 88,99, 53,82, + 51, 0, 31,53, 8,50, 66,69, 57,53, 8,65, 50,34, 87,47, + 56,71, 31,87, 70,81, 47, 1, 2,91, 66,32, 84,86, 72,80, + 56, 4, 41,50, 5,27, 26,73, 85,88, 31, 0, 23,36, 86,12, + 43,27, 3,70, 77,50, 12,41, 32,72, 25,34, 24,19, 35,90, + 86,47, 27,36, 77, 6, 75, 2, 68,53, 70, 4, 16,89, 80, 4, + 56,62, 35,98, 23,40, 41,19, 35, 7, 3,64, 83, 1, 1,23, + 72,98, 47,40, 73,48, 30, 6, 16,53, 70,50, 89,92, 14,15, + 11, 7, 37,39, 83,63, 5,33, 60,20, 65,62, 15,28, 49, 6, + 53,50, 42,77, 54,18, 91,79, 41,43, 21,94, 69,33, 10,68, + 11,36, 11,64, 91,56, 81, 5, 82,50, 16,55, 61,18, 85, 7, + 53,40, 70,19, 41,73, 96,98, 89,68, 10,16, 67,83, 55,89, + 26,42, 11,17, 70,49, 72,70, 98,68, 71,77, 23,65, 64,73, + 16,17, 1,28, 2,57, 69,69, 59,59, 56,22, 13, 9, 34,31, + 30,57, 19,45, 9, 4, 86,92, 40, 9, 4,29, 19,88, 32, 4, + 20,76, 57,79, 35,52, 51,59, 94,47, 67,99, 48,37, 82,70, + 73,98, 52,64, 98, 9, 91,52, 80,92, 19,12, 2, 8, 64,83, + 48,96, 14,48, 98,45, 44,60, 92,16, 96,51, 32,37, 11,34, + 57,92, 76,66, 0,16, 85,37, 41,96, 68,18, 29,17, 95,51, + 51,10, 12, 6, 84,56, 93,57, 0,22, 16, 2, 41,35, 80,34, + 86,72, 36,37, 24,13, 82,64, 64,52, 5,40, 40,16, 35,92, + 31,60, 77,56, 0,48, 75, 8, 22, 9, 60,52, 47,45, 64,62, + 23,92, 87, 5, 44,56, 36,27, 79, 3, 84,59, 98,20, 64,28, + 52, 7, 19,93, 49, 5, 7,92, 69, 7, 82,35, 62,28, 3, 8, + 99,99, 83,28, 25,47, 15,63, 85,26, 83,22, 64,99, 51,79, + 7, 4, 4,16, 57,90, 41,44, 99,23, 94, 1, 21, 1, 52,38, + 86,42, 95,78, 79,66, 50,60, 65,13, 71, 3, 7,15, 3,33, + 63,94, 18,93, 52,73, 83,64, 63,50, 49,56, 83,78, 20,65, + 73,15, 22,48, 91,37, 92,12, 18, 5, 70,58, 93,74, 79,98, + 46,39, 33,81, 11,71, 75,72, 76,93, 38,83, 25,54, 20, 7, + 50, 4, 39,57, 55,68, 71,66, 94,31, 27,27, 9,96, 81, 6, + 4,60, 39, 3, 24,81, 59,55, 78,84, 83,54, 10,44, 35,43, + 73,51, 18,40, 11,98, 26,36, 50,63, 84,35, 55,82, 20,47, + 54,29, 26,13, 66,35, 95,99, 37,29, 47,94, 54,97, 76, 6, + 79,41, 20,71, 57,13, 0, 0, 72,46, 54,25, 6,91, 84,61, + 35,12, 78, 5, 83,62, 4,37, 58,82, 14,75, 64,42, 58,67, + 92,73, 25,35, 83,30, 21,26, 77,75, 78,80, 71,17, 75,93, + 3,56, 28,32, 22,73, 51,80, 5,65, 23,12, 16,93, 63,13, + 68,72, 67, 8, 93,24, 70, 2, 2,34, 90,37, 18,19, 72, 2, + 50,93, 19,44, 63,29, 38,22, 73,19, 18,58, 16,18, 26,31, + 76,57, 99,77, 38,24, 56,68, 18,27, 86,22, 88,26, 90,77, + 82,94, 44,37, 12,20, 19,16, 41,57, 4,73, 1,42, 98,58, + 77,37, 70,89, 62,18, 2,43, 71,56, 7,29, 47,19, 70,16, + 97,60, 50,33, 72, 1, 59,68, 59,90, 26,87, 5,16, 92, 1, + 17,56, 19,22, 75,38, 42,31, 73,50, 35, 8, 64,49, 9,45, + 18,67, 15, 6, 85,75, 46,28, 72,42, 95,39, 36, 3, 24,35, + 62,32, 53,57, 1,94, 93, 5, 26,44, 70,56, 45,69, 24,94, + 1,63, 20, 5, 2, 3, 84,20, 64,38, 32,45, 78,63, 85,53, + 5,36, 27,32, 37,46, 7,41, 17,89, 83,88, 76,82, 74,46, + 62,33, 46,21, 43,31, 37,80, 45,13, 94,59, 73,63, 0,86, + 37,97, 86,85, 34,55, 88,35, 61,74, 81,87, 45,76, 64,43, + 77,22, 49,51, 2,61, 92,32, 4,92, 42, 5, 4,51, 43,46, + 6,49, 10,10, 79,44, 92,11, 48,70, 53,33, 6,11, 10,23, + 27,29, 47,38, 64,21, 79,86, 41,47, 86,87, 52,36, 39,89, + 14,94, 68,27, 78,10, 64,33, 38,81, 30,34, 84, 3, 44,58, + 85,16, 84,97, 92, 7, 34,85, 33,52, 78,29, 37, 4, 37,27, + 74,35, 16,78, 79,90, 18,71, 55,29, 87,15, 97,51, 91,75, + 93,40, 19,86, 98,17, 49,75, 51,83, 31,78, 98,22, 49,30, + 42,67, 69,49, 89,94, 6,22, 78,27, 98,60, 61,44, 19,31, + 81, 9, 97,92, 98,74, 49,77, 53,19, 57,54, 83,72, 74,80, + 0,26, 66,42, 43,97, 24,20, 16,10, 49,67, 53,67, 73,60, + 1,12, 78,24, 1,30, 12,87, 63,72, 57,48, 72,76, 83,50, + 35,94, 52,99, 44,22, 46,97, 64,77, 12,91, 61,82, 20,52, + 19,33, 3,15, 97,39, 90,25, 91,12, 8, 7, 62,47, 87,50, + 95,70, 38,48, 23,43, 79,37, 8,53, 85,45, 26,34, 38, 0, + 7,34, 0,14, 64,61, 21,57, 7,80, 0,32, 87,91, 61,66, + 4, 7, 42,64, 8,18, 24,38, 64,88, 91,48, 7,13, 98, 5, + 51, 8, 93,52, 71,25, 51,13, 41,64, 95,23, 96,92, 55,18, + 7,72, 71, 6, 34,54, 97,17, 98,44, 95,28, 78,68, 7,18, + 70,96, 89,18, 83,40, 51, 4, 48,98, 48,42, 4,44, 7,74, + 3,53, 38,55, 96,22, 85,92, 64,92, 90,66, 70,43, 64,22, + 49,53, 12,75, 50,36, 1,26, 71,97, 19,97, 17,24, 65,52, + 36, 5, 33,53, 45,57, 52,85, 70,70, 14,53, 34,99, 2,83, + 85,12, 26,24, 36, 4, 65,58, 23,55, 28,22, 40,79, 44,16, + 46,52, 40,59, 72,43, 23,69, 33,88, 58,92, 14,55, 97, 6, + 84,65, 65,65, 54,31, 62,58, 84,57, 80,56, 96,42, 82,55, + 46,98, 6,60, 47,10, 57,29, 51,69, 44, 8, 69,76, 75,94, + 7,38, 45,73, 38,13, 3, 6, 43,12, 1,79, 60,98, 63,77, + 68,46, 47,33, 14,66, 98,10, 40,99, 68,82, 5,71, 25,57, + 65,14, 59,38, 42,49, 23,98, 72,89, 93,42, 98, 2, 70,34, + 42,92, 38,43, 95,56, 28,54, 85,99, 36,30, 18,41, 78,61, + 85,84, 96,52, 53,68, 65,10, 31,17, 88,22, 24,73, 92,48, + 5,77, 83,98, 13,27, 37,49, 25,92, 86,28, 6,35, 69,73, + 74,85, 70,20, 73,76, 18,72, 30,45, 10,84, 6,17, 30, 0, + 18,24, 72,56, 23,56, 57,98, 46, 0, 55,20, 65,73, 31,25, + 32,47, 33,86, 91,20, 90,71, 65,22, 99,25, 82,21, 90, 4, + 92,14, 37,83, 54,71, 66, 9, 62, 6, 97, 0, 40,20, 81,69, + 72,22, 88,33, 2,39, 50,70, 93,82, 51,14, 86,97, 32,74, + 93,29, 34,11, 71,51, 30,97, 97,14, 38,75, 95,53, 60,62, + 53,32, 85,81, 94,37, 49,58, 50,65, 99,93, 52,56, 37,70, + 15,42, 23,57, 57,71, 2,78, 13, 3, 71,59, 22, 3, 78,53, + 70, 0, 48,36, 52, 4, 9,98, 19,30, 59,75, 96,72, 33,31, + 60,33, 89,67, 8,68, 43,15, 1,16, 73,62, 82,47, 23,93, + 49,94, 99, 2 +}; +const int p_100_9[] = { + /// Number of people on picture + 100, + /// Number of preferences + 394, + /// Array of preferences + 32,39, 61,75, 44,22, 94,45, 0,58, 19, 1, 85,58, 35,84, + 52, 7, 31,61, 30,57, 45, 8, 51,50, 66,52, 74,53, 64,74, + 8,81, 78,37, 4,47, 89,90, 70,64, 20,43, 55,58, 19,68, + 6,52, 55,99, 74,80, 55, 4, 97,50, 78,22, 28, 7, 82,37, + 10,40, 96,85, 75,80, 85,61, 43,94, 29,92, 12,24, 95,43, + 3,19, 37,26, 23,39, 83,45, 68,26, 88,42, 22,51, 2,78, + 98,12, 11,68, 75,36, 28,62, 97,27, 81,24, 88,85, 99,60, + 19,98, 93,77, 48,25, 75,77, 32,15, 83,49, 99,13, 57,46, + 61,77, 63,23, 29,86, 60,15, 47,52, 53,51, 66,38, 91,17, + 88,46, 11,17, 61,49, 67, 1, 45,69, 37,65, 86,62, 65,31, + 10,42, 35,82, 93,31, 85,32, 78,54, 73,54, 82,60, 8,62, + 99,41, 63, 6, 41,56, 24,17, 58,28, 31,14, 35,64, 25,61, + 10,86, 64,23, 98,93, 27,12, 61,40, 14,81, 24,39, 58,21, + 34,80, 30,34, 23,44, 67,50, 42,30, 77,79, 16,79, 6, 3, + 67,25, 72,40, 35, 7, 59,25, 91, 5, 93,22, 27,45, 91,28, + 4,38, 56,45, 91,50, 32,13, 32,60, 40,58, 72,86, 62,59, + 13,65, 96,77, 69,16, 35,62, 79, 9, 73,49, 62,61, 36,11, + 0,92, 59,30, 86,76, 67,72, 68,32, 47,72, 96,21, 4,52, + 52,30, 66,62, 45,61, 84,58, 94,86, 19,50, 76,79, 22,99, + 18, 4, 41,88, 48,52, 81,21, 56,47, 28,61, 82,35, 10,69, + 63,65, 93,47, 99,55, 77,39, 50,50, 97,63, 0,77, 79,39, + 96,49, 99,70, 65, 2, 48,93, 22,61, 48,80, 2,22, 52,18, + 78,51, 30,62, 20,83, 46,21, 8,76, 11, 2, 27,14, 81,65, + 97,94, 40,64, 87,42, 73,76, 54,52, 22,73, 73,90, 81,60, + 97,76, 76,69, 50,86, 4,19, 30,30, 89,78, 46,95, 81,80, + 11, 1, 33,93, 62,88, 15,72, 7,62, 31,28, 68,52, 82,18, + 87,91, 33,24, 81,52, 29,45, 53,20, 54,55, 1,44, 22,76, + 33,34, 19,15, 24,71, 30,33, 41,72, 44,41, 18,39, 29,64, + 19,74, 94,33, 76,47, 50,54, 10,56, 28,21, 74,78, 17,45, + 27,83, 27,55, 6,76, 65,56, 28,17, 48,86, 66,28, 54,22, + 16,11, 53,24, 45,80, 71,62, 93,56, 82,26, 67,46, 64,51, + 60, 5, 23,57, 30,39, 18,20, 49,54, 85,51, 61,98, 99,79, + 17,19, 6,74, 92, 1, 74,24, 79,15, 43, 6, 99,78, 72,79, + 30, 5, 17,80, 80,30, 59,68, 55,92, 18,54, 33,45, 3,93, + 87,26, 95,73, 33,49, 44,15, 49,35, 59,91, 97,57, 60, 7, + 9,75, 86,86, 31,64, 30,90, 77,51, 85, 6, 43,86, 94,58, + 14,78, 83,42, 39,87, 70,22, 79,21, 22,55, 99,15, 36,42, + 95,31, 91,13, 43, 5, 82,77, 7,88, 47,45, 23,90, 59,45, + 21,96, 88,86, 82,66, 64,97, 46,12, 29,97, 29,48, 14,32, + 61,26, 90,67, 63,44, 46,64, 9,66, 8,95, 39,42, 23,79, + 45,41, 58,81, 64,58, 8,47, 27,20, 80,78, 24,70, 64,26, + 16,51, 27, 1, 18,83, 23, 2, 60,87, 89,44, 40, 0, 18,95, + 68,59, 22,64, 21,47, 34, 7, 77,38, 44,73, 13,79, 54, 6, + 83,86, 61,86, 84,71, 35,61, 9,27, 55,31, 25,85, 98,94, + 56,62, 51,91, 44,95, 12,66, 73,19, 97,98, 89,36, 8,40, + 50,31, 42,36, 6,33, 17, 4, 66,53, 21,86, 60,41, 94,65, + 57,69, 33,48, 53,32, 55,41, 84,19, 12,37, 4, 9, 87,76, + 88,78, 99,69, 61,52, 94,66, 75,48, 47, 9, 47,75, 60,63, + 96,83, 15,74, 54,35, 13,89, 45,23, 81,33, 15,35, 62,68, + 36,84, 30,92 +}; +const int p_100_10[] = { + /// Number of people on picture + 100, + /// Number of preferences + 2275, + /// Array of preferences + 57,75, 26,75, 75,22, 34,20, 24,37, 28,26, 98,66, 31,30, + 23,15, 52,17, 51,34, 54,85, 59,43, 38, 0, 21, 3, 2,94, + 12,82, 89,22, 65,85, 51,90, 55,96, 35,23, 39,96, 98,64, + 50,14, 25,48, 53,15, 80,54, 91,18, 29,44, 20,75, 34,59, + 84,78, 27,84, 87,41, 19,33, 47,97, 22,70, 25,66, 58,67, + 41,86, 47,89, 55,73, 67,13, 12,36, 83,27, 55,91, 25,20, + 98,22, 54,36, 96,51, 71,57, 60,15, 10,73, 5,34, 24, 0, + 23,24, 96,90, 73,37, 93,72, 22,83, 95,62, 6, 5, 91,87, + 22,58, 47, 5, 37,23, 34,29, 91,55, 99,25, 58,91, 96,61, + 71,90, 21,50, 34,99, 96,56, 4,91, 50,17, 51,26, 38,35, + 51,54, 31,97, 95,30, 22,33, 79,94, 12,70, 8,59, 89,27, + 34,12, 49,11, 13,92, 71,80, 52,73, 28,85, 93,89, 96, 2, + 45,46, 4,10, 36,20, 34,26, 44,17, 81,23, 60,33, 63,72, + 33,31, 1,61, 72,14, 81,35, 87,39, 33,32, 40,14, 95,54, + 74,74, 74,50, 45,95, 58,62, 57,91, 38,20, 85,30, 68, 0, + 50,74, 90,32, 3,21, 62,58, 73,45, 92, 9, 32,35, 64,19, + 26,99, 58,75, 44,99, 55,95, 91,56, 31,60, 83,54, 68,44, + 69, 1, 7,98, 26,95, 37,87, 34,61, 58, 7, 87,81, 9,10, + 70,77, 7,45, 14,42, 7,23, 7,50, 22,89, 58,34, 77,26, + 53,64, 91,17, 60,66, 11,80, 5,17, 60,90, 11,11, 16,42, + 51,32, 25,87, 64,93, 55,62, 41,83, 40,92, 27,15, 28,14, + 34,37, 8,19, 31, 9, 84,75, 27,87, 44,56, 35, 7, 67,66, + 87,12, 80, 2, 28,16, 93,87, 38,95, 38,69, 35,20, 37,18, + 35,77, 60,30, 36,22, 0,56, 60,14, 60,45, 39,98, 16,25, + 88, 4, 59, 3, 4,13, 41,36, 69,83, 67,40, 49,43, 42,75, + 55,63, 0,36, 61,56, 85,27, 98, 1, 37,82, 74,12, 71,97, + 96,48, 64,54, 37,99, 10,80, 65,97, 52,33, 57, 3, 15,39, + 11,94, 87,17, 30,67, 1,14, 58,27, 16,74, 63,79, 26,73, + 25,44, 25,49, 55,48, 69,33, 47,87, 58,71, 34,55, 46,86, + 92,26, 29, 1, 74,31, 25,76, 11,26, 9, 1, 10,52, 10, 2, + 70,79, 74,34, 3,14, 45,78, 25,91, 48,18, 94,14, 65,90, + 71,82, 37,47, 80,74, 46,36, 38,80, 10,64, 49,93, 19, 3, + 18,89, 62,37, 49,96, 37,32, 89,16, 96,34, 57,10, 94,52, + 89,31, 51,57, 1,35, 68,25, 39,43, 29,27, 20, 4, 55,76, + 36,97, 61,33, 34,94, 59,13, 92,52, 45,13, 54,59, 58,31, + 50,18, 30,73, 18,50, 97,60, 83,41, 91,47, 29,63, 41,69, + 13,61, 35,28, 89,92, 33,38, 72,86, 38,11, 54, 7, 73, 0, + 25,23, 8,14, 27,60, 83, 6, 78,17, 32,84, 8,12, 82,86, + 77,62, 43,95, 5,27, 84,40, 51,22, 19,52, 42,97, 79,38, + 75,65, 19,45, 28,50, 79,39, 86,46, 42,31, 47,96, 57,67, + 2,41, 37, 4, 96,97, 72,54, 98,88, 48,73, 58,48, 37,85, + 76,72, 49,75, 72,42, 12,46, 17,75, 29,94, 78,93, 64, 1, + 5,44, 43,29, 31,84, 12,73, 98,96, 63,61, 11,72, 46, 0, + 61,12, 33, 2, 92,53, 23,10, 11,15, 63,71, 61,43, 82,80, + 11,49, 51,60, 70,74, 78,75, 12,53, 74,68, 99,27, 88,64, + 12, 7, 94,22, 26,27, 59,84, 73,21, 8,20, 22,35, 79,89, + 11,61, 95,44, 14,31, 17,78, 19,73, 58,69, 1,71, 75,83, + 9,44, 42,43, 89,68, 40,25, 88,22, 48,82, 85,51, 40,58, + 81, 4, 30,82, 94,30, 81, 2, 23,78, 57, 4, 25,21, 73,92, + 0,23, 58,39, 52,66, 95,98, 13,15, 86,23, 14,61, 48,12, + 90,53, 64,36, 93,27, 23,93, 55,11, 4,46, 30,66, 49,91, + 62,33, 88,63, 19,23, 18,83, 91, 2, 49,12, 31,42, 22,77, + 24,60, 76,85, 76,89, 43,88, 70,38, 80,93, 68,36, 75, 2, + 84,89, 19,74, 86,15, 47,44, 23,65, 80,98, 87,57, 23,52, + 41,26, 75,16, 30,20, 60,37, 70,75, 86,35, 75,44, 93,51, + 97,41, 63,47, 37, 3, 47,52, 5, 2, 44, 7, 92,55, 70,55, + 10,81, 73,61, 4,85, 98,45, 35,64, 29,66, 26,80, 56,44, + 22,80, 49,21, 62,55, 81,20, 20,12, 58,87, 31,56, 28,30, + 92,83, 42,66, 11,55, 57,43, 56,53, 83,55, 46,40, 34,56, + 53,22, 85,10, 58, 8, 19,27, 72,70, 72,91, 79,83, 85,73, + 63,36, 49,63, 14,92, 90,21, 15,98, 91,78, 5,45, 16,61, + 5, 5, 76,24, 50,84, 65,55, 65,52, 2,11, 8,58, 17,22, + 10,29, 94,35, 88,37, 93,30, 50,33, 38, 7, 7,21, 32, 0, + 18,70, 84,90, 85,13, 63,11, 86,48, 82,34, 70,95, 83,93, + 0,12, 58,83, 45,41, 63,43, 29,86, 49,42, 37,95, 64,51, + 16,36, 87,85, 65,44, 66,55, 78,29, 26,87, 3,80, 21,85, + 33,83, 48,21, 49,65, 31,17, 85, 1, 72, 5, 28,11, 83,70, + 15,82, 96,18, 44,89, 24,79, 27,23, 59,78, 3,32, 12,37, + 38,92, 8,43, 72, 0, 43,60, 15,78, 28,74, 36, 8, 36,87, + 79,26, 70,15, 29,16, 92,82, 28,78, 64,43, 29, 2, 4,11, + 15,12, 87,66, 39, 9, 24,71, 38, 8, 60,54, 46,43, 69,13, + 10,93, 34,66, 28,82, 26,50, 63, 5, 3,83, 63,37, 87,25, + 50,22, 42,69, 42,29, 58,74, 62,23, 10, 5, 93,54, 62,80, + 56,36, 3,67, 5,84, 50,73, 92,76, 70, 7, 61,53, 53,60, + 85,88, 19,37, 48,72, 76,39, 78,15, 50, 5, 36,52, 22,49, + 40,99, 42,74, 36,30, 24,89, 20,21, 68,98, 42,17, 11,60, + 96,63, 68,88, 43, 0, 56,30, 65,96, 6,66, 12,31, 54,35, + 94,11, 44,10, 20,45, 76, 3, 66,46, 89, 9, 73,65, 1,12, + 27,67, 69,69, 28,10, 48,69, 82,79, 72,61, 36, 9, 64,70, + 32,60, 80,28, 26,49, 25, 4, 60, 3, 20,49, 74,76, 8,33, + 42,63, 71,88, 26,81, 47,95, 40, 8, 26,22, 85,89, 38, 1, + 20,39, 52,28, 68,17, 51,41, 86,91, 95,91, 15,67, 26,51, + 81,92, 12,47, 91,34, 88,36, 89,40, 76,31, 55,36, 64,83, + 18,87, 19,88, 73,29, 82,19, 97,29, 39,63, 73,36, 18,40, + 51,39, 99,41, 34,43, 32,19, 55,81, 19,83, 1, 0, 35,31, + 57,42, 88,80, 38,79, 61,47, 55,12, 67,95, 39,49, 35,86, + 10,39, 73, 4, 33,14, 73,32, 84,86, 68,42, 75,30, 2,84, + 30,55, 1,59, 86,66, 76,67, 17,16, 70, 9, 91,35, 10,56, + 28,40, 95,74, 41,97, 96,42, 80,11, 94,56, 43, 3, 93,23, + 97,28, 18,65, 64, 6, 86,61, 6,71, 84, 0, 36,50, 68,99, + 35,70, 33,97, 31,24, 27,74, 21,64, 8,62, 22,32, 94,55, + 94,71, 1,47, 0, 4, 15,74, 80,73, 7,41, 23,90, 70,57, + 11,21, 27, 5, 9,42, 36,56, 66,13, 74,47, 96,22, 26, 8, + 12,94, 85,33, 78,45, 8,26, 46,75, 2,72, 22,71, 46,73, + 23,46, 33,35, 75,66, 50, 4, 59,18, 71,72, 45, 4, 62,29, + 48,26, 14,36, 71,98, 15,80, 74,29, 43,62, 42,45, 92,14, + 11,93, 22,68, 4,50, 86, 8, 0, 7, 20,19, 8,31, 97,22, + 37,94, 35,43, 3,76, 77,52, 0,75, 95,47, 90,27, 43,34, + 31, 5, 7,85, 73,12, 8,55, 69,40, 78,50, 33,76, 35,55, + 55,54, 72,48, 40,32, 67,82, 54,49, 40,71, 46,13, 33,79, + 44,46, 88,93, 27,17, 61,72, 41,92, 65,70, 87,94, 16,43, + 25,39, 51,89, 10,14, 40,88, 84,55, 15,93, 75,61, 62,77, + 9,99, 71, 5, 85,69, 52,54, 40,63, 56,70, 81,54, 69,81, + 50,66, 73,72, 34,24, 96,68, 48,44, 23, 4, 42,34, 57,19, + 59,11, 54,83, 18, 3, 12,81, 32,45, 61,29, 96,81, 91,52, + 20,34, 31,39, 96,54, 20,50, 65,80, 10,58, 32,59, 29, 9, + 4,47, 93,29, 93,24, 79,67, 22,90, 31,98, 80,12, 77,69, + 70,34, 34,91, 7,80, 69,78, 59,33, 85,58, 85,43, 41,27, + 36,47, 95,40, 19,72, 10,78, 64,28, 93,19, 95,18, 78,76, + 46,61, 8,84, 48,67, 55,53, 62,47, 36,69, 75,58, 36,58, + 45, 6, 62,93, 52,36, 81,62, 20,71, 58,70, 43,44, 47,36, + 80,85, 20,25, 5,91, 61,96, 56,23, 54,79, 33,69, 5, 0, + 85,79, 7,92, 51,67, 24, 1, 95, 7, 16,62, 64,42, 10,70, + 61,70, 30,70, 37,75, 19,12, 98,53, 44,16, 90,29, 19,57, + 91,95, 46,72, 8,94, 57,44, 86,10, 90,11, 81,37, 22,39, + 18,69, 2,77, 44,92, 53,55, 98,10, 81,30, 6,62, 16,21, + 70,89, 7,70, 87, 9, 3,86, 51,33, 82,92, 54, 4, 17,63, + 19,54, 58,35, 58,30, 6,57, 68,64, 20,89, 7, 1, 92,59, + 94,81, 50,16, 50,67, 48,14, 91,13, 55,89, 0,21, 48,95, + 86,73, 1,29, 49,46, 2,13, 88,44, 88,67, 24,65, 25,54, + 56,20, 15,70, 46,23, 22,28, 5,87, 36,65, 65,35, 27,12, + 34,57, 26,38, 68,20, 26,92, 89,85, 87,47, 28,90, 37,54, + 35,91, 94,65, 46,68, 9,43, 75,59, 76, 4, 66,22, 2,57, + 92,95, 57,46, 6,15, 67,91, 97,68, 72,18, 22,61, 32,32, + 59,80, 31,12, 48,81, 32,26, 36,45, 15,36, 94,64, 70,90, + 9,33, 4,38, 99, 8, 4,28, 41,29, 62,25, 4,96, 43,51, + 89,71, 95,61, 30,64, 48,13, 69,63, 99, 7, 82,44, 76,41, + 61,75, 96,69, 79,33, 58,32, 34, 6, 84,68, 83,29, 23,81, + 3,43, 84,30, 55,90, 65,50, 96, 6, 39,86, 58,64, 40,47, + 32, 8, 24,13, 47,49, 39,42, 97,38, 63,62, 87,44, 90,16, + 92,94, 26,34, 37,22, 59,44, 47,46, 14,12, 84,11, 64,64, + 73,46, 25, 0, 75,18, 43,70, 24,16, 80,77, 28,37, 96,31, + 22,43, 81,90, 3, 0, 86,63, 41,21, 88,13, 92,12, 50, 9, + 46,90, 38,39, 25,59, 80,47, 40,68, 72,20, 79,81, 94, 1, + 0,77, 69,57, 69, 0, 38,60, 94,17, 15,32, 72,97, 51,27, + 74,62, 64,16, 39,75, 29,47, 79,48, 18,34, 73,43, 65,68, + 78,61, 98,23, 79,27, 19,98, 1,25, 41,67, 4,97, 28,72, + 41,31, 51,23, 44,94, 88,29, 30,68, 45,57, 79,80, 82,57, + 93,36, 76,60, 98,65, 90,36, 80, 3, 99,32, 63,60, 76,47, + 31,61, 38,96, 0,33, 17, 4, 97, 9, 41,90, 99,59, 75,94, + 46,38, 97,63, 51,92, 74,69, 58,51, 61,77, 81,65, 73,15, + 18,72, 99,87, 34,23, 74,96, 52,57, 57,69, 60,46, 8,63, + 79,96, 64,91, 62,16, 86,70, 26,29, 81,55, 31,45, 45,21, + 93,56, 81,93, 35,22, 24,81, 80,80, 46, 5, 46,53, 10,72, + 24,57, 70,65, 65,64, 23,41, 99,10, 1,32, 73,95, 20,68, + 20,33, 33,48, 16,49, 24,94, 89,91, 50,87, 8,38, 24, 6, + 92,71, 19,17, 57, 9, 99,79, 29,35, 68,91, 77,91, 9,62, + 75,11, 50, 0, 95,31, 69,29, 35,32, 74,82, 69, 3, 63,50, + 11,12, 39,26, 26,25, 6,97, 95,55, 8,54, 34,95, 52,46, + 72,13, 79,66, 18,64, 58,18, 27, 2, 93,75, 44,44, 64, 5, + 12, 6, 95,87, 25,29, 59,62, 45,82, 33,75, 92,87, 56,28, + 66,88, 83,57, 19,75, 30,71, 57, 7, 53,34, 72,88, 50,86, + 35,36, 48,90, 94,74, 68,57, 9,65, 64,76, 6, 3, 48,70, + 52,53, 20,77, 10,74, 1,87, 29,82, 51,30, 59,92, 91,59, + 10, 4, 87,43, 0,76, 64,65, 57,74, 1,67, 99,60, 99,21, + 63,32, 22,81, 26,47, 27,22, 12,79, 67,52, 59,23, 92, 2, + 61,95, 43,63, 96,45, 38,62, 63, 9, 43,78, 96,65, 0,66, + 17,82, 14,93, 11,29, 90,18, 23,20, 29, 6, 57,60, 26,70, + 78,25, 3,63, 88,55, 73,33, 88,15, 74,59, 21,15, 46,71, + 43,23, 25,68, 91,64, 45,25, 74,45, 24,87, 71,20, 7,36, + 4,64, 92, 7, 13,29, 49, 5, 93,57, 37, 8, 48,50, 24,74, + 98, 9, 86,62, 87,52, 88,68, 39,17, 22,12, 96,25, 80, 8, + 66, 7, 85,68, 30,31, 97,80, 94,49, 21,47, 45,18, 71,32, + 86,67, 19,32, 44,33, 2,45, 60,82, 17,98, 25,73, 26,64, + 23,48, 25,58, 83,17, 49,67, 90,33, 46,15, 63,17, 1,89, + 12,16, 64,38, 56,98, 31,63, 79,90, 14,57, 44,12, 13, 5, + 84,97, 21,58, 23,68, 50,23, 31,29, 19,78, 51, 7, 8, 9, + 38,24, 1,83, 12,52, 69,22, 43,36, 30,72, 94, 9, 64,45, + 34,35, 72,92, 67,92, 61,10, 56,74, 95,46, 65,24, 42,92, + 33,53, 62,82, 56,82, 5,36, 75,39, 95,48, 88,94, 42,72, + 33,42, 14,32, 8,53, 27,42, 41,61, 72,39, 44,29, 93,38, + 40,95, 34, 7, 27,95, 3,93, 60,18, 23,91, 67,68, 11,96, + 52,55, 4,49, 72,90, 30,89, 52,32, 28,95, 82,26, 65,59, + 23,37, 75,72, 88,84, 77,17, 12,30, 83,86, 53,81, 46,32, + 46,49, 90,60, 46, 7, 44, 2, 38,40, 17,87, 78,19, 30,13, + 41,34, 25, 8, 28, 2, 55,37, 62,19, 34, 2, 4,89, 41, 0, + 71,35, 46,65, 81,40, 15,61, 54,67, 85,38, 96,55, 32,41, + 0,94, 90,99, 72,51, 25,53, 99,17, 23,85, 15,94, 85,95, + 61,55, 52, 6, 94, 2, 17,79, 41,20, 88,28, 28,24, 38,57, + 89,86, 99,68, 83, 3, 74,44, 66,21, 15,92, 7,93, 99,56, + 11,10, 65,48, 96,10, 80,33, 23,95, 31,44, 93,69, 75,28, + 7,29, 8,65, 65,94, 60, 6, 21,82, 79,45, 93,74, 77,81, + 28,64, 48,17, 5,66, 59,82, 83,50, 27,98, 45,83, 29,89, + 36,79, 26,19, 54,56, 55,64, 71,41, 96,27, 1,68, 59,40, + 95,97, 10,87, 49,39, 66,90, 8,41, 39,33, 60,19, 1,64, + 86,12, 53,93, 67,34, 36,16, 83,45, 88,98, 77,76, 40,65, + 65,53, 12,83, 0,44, 32,68, 55,38, 69,92, 90,19, 56,66, + 18,79, 80,50, 78,33, 27, 3, 85,12, 5,14, 76,10, 99,35, + 33,11, 64,74, 80,65, 32,96, 36,81, 75,76, 86,76, 17, 2, + 37,62, 71,76, 2,86, 65, 0, 54,72, 75,48, 28,84, 58,98, + 14,82, 89,20, 34,42, 42,25, 3,24, 33,45, 28, 1, 87,54, + 67,18, 66,95, 21,75, 86,60, 12, 5, 24,69, 0,78, 22,37, + 32,91, 4,66, 15,52, 63,77, 91,30, 10,41, 55,24, 48,58, + 91, 8, 5,98, 61, 0, 58,65, 55,88, 20,14, 99,52, 52,89, + 53, 0, 17,51, 84, 1, 59, 5, 49,54, 54,97, 6,37, 98,49, + 22,30, 37,63, 54,98, 31,25, 38,93, 25, 2, 97,33, 36, 4, + 24, 2, 53,45, 89,82, 97,31, 45,66, 85,77, 10,79, 31, 1, + 44,49, 36,53, 33,68, 59,14, 84,93, 9,18, 17,55, 72,28, + 21,31, 23,63, 44,57, 12,85, 97,97, 11, 6, 41,76, 81, 9, + 44,51, 78,31, 35,94, 94,80, 30,86, 56,12, 85,39, 23, 5, + 89,51, 80,92, 71,62, 92,23, 54,11, 85,16, 84,59, 23, 3, + 65,32, 86,37, 77,24, 73, 9, 7,55, 41,93, 50,11, 65,45, + 16, 0, 22,51, 53,72, 75,55, 23,29, 30,58, 45,65, 66,48, + 97,72, 9, 4, 35,27, 31,67, 6,24, 93, 8, 26,85, 25,12, + 30,34, 19,36, 99,30, 55, 5, 14,26, 27,27, 46,16, 83,67, + 12,41, 81,25, 37,88, 48,42, 34, 9, 97,46, 92,98, 42,56, + 53,71, 33,61, 42,81, 59,58, 56,40, 41, 5, 90,56, 51,74, + 86,20, 98,59, 56,88, 60,21, 65,75, 74, 3, 60,35, 53,48, + 58,44, 47,81, 4,83, 66, 9, 35,52, 42,61, 57,11, 59,91, + 6,84, 97,74, 70,44, 92,17, 27,56, 93, 9, 18,59, 83,68, + 76,33, 54,95, 0,42, 84,60, 62,50, 38, 2, 0,45, 30,12, + 82,93, 55,45, 32,37, 43,77, 56,17, 8,49, 5,28, 59,12, + 71,99, 35,12, 36,41, 14,55, 32, 5, 22, 4, 68,82, 97,69, + 84, 2, 45,74, 57,83, 53,32, 53, 7, 86,43, 41,96, 15,50, + 16,20, 36,63, 33,37, 31,23, 98,39, 28,79, 27,45, 92,25, + 63, 2, 66,64, 74,20, 83,43, 26,12, 30,27, 22,48, 54,18, + 79,54, 48,23, 26,46, 96,32, 44,15, 4,62, 45,27, 55,74, + 88,34, 77,22, 2,10, 42, 5, 38,52, 72,25, 87,78, 9,48, + 73,59, 16,60, 42,22, 70,26, 95,76, 86,98, 81,27, 1,39, + 14,69, 8, 8, 29,54, 52,86, 10,71, 48,38, 8,17, 58,86, + 38,78, 58,21, 89,81, 32,43, 10, 1, 18,11, 84,88, 76,42, + 39,85, 58,53, 32,44, 47,42, 13,72, 85,63, 43,15, 63,49, + 62,87, 11,51, 58,52, 74,63, 58,24, 86,74, 86,29, 0,25, + 86,31, 98,50, 51,50, 35,69, 68,24, 0,59, 98,11, 21,73, + 95, 2, 88,23, 61,23, 74,30, 11, 2, 99,99, 19,41, 9,35, + 77, 6, 6,26, 42,84, 24,15, 71,92, 29,60, 7,83, 50,29, + 37,10, 75,86, 21,32, 46,97, 46,46, 28,68, 91,24, 64,71, + 66,24, 16,53, 90,50, 1,37, 97,98, 53,28, 91,19, 7,46, + 52,15, 62,18, 6,45, 17,50, 34,30, 73,13, 39,90, 56,64, + 75,63, 20, 0, 72,77, 5,24, 67,74, 42,95, 30,83, 41,59, + 30,85, 26,76, 38,86, 16, 8, 81,87, 45,15, 20,91, 50,42, + 59,96, 55,40, 14,91, 42,82, 14,80, 28,29, 0,10, 50,49, + 55, 6, 58,12, 47,63, 96,59, 72,21, 99,43, 6, 7, 87,70, + 18, 0, 63,59, 55,32, 77,67, 72,67, 94,59, 72,55, 27,86, + 69, 2, 8,83, 36,12, 90,71, 44,80, 14,68, 42,10, 61,83, + 81,96, 88, 1, 86,41, 61,85, 97,44, 81,84, 70,69, 52,25, + 56,41, 5,32, 72, 6, 75, 4, 39,46, 37, 6, 44,54, 1, 4, + 49,77, 43,18, 35,14, 67,46, 67,54, 75,23, 25,94, 30,24, + 3, 7, 32,88, 64,87, 14,90, 17,81, 86,34, 95,60, 93,95, + 61,20, 66,45, 43,87, 56,95, 54,65, 37,93, 64,25, 4,70, + 25,17, 64,14, 20,47, 37,50, 63,86, 42,62, 95,84, 72,56, + 18,35, 9,22, 53,10, 59,77, 35, 9, 45,43, 77, 1, 32,22, + 10,33, 52,75, 40,97, 66,26, 86,65, 76,25, 13,87, 63,81, + 77,65, 45,16, 29,81, 7,15, 90,68, 51,15, 76,18, 83,87, + 30,91, 59,38, 38, 4, 41,25, 4,30, 30,28, 23,72, 97,96, + 62,12, 16,37, 36,77, 35,58, 52,79, 16,48, 87,18, 91,83, + 89,75, 15,26, 83,37, 82,51, 95,24, 72,29, 34,69, 84,62, + 47, 3, 85,98, 34,68, 2,35, 98,44, 96,86, 66,63, 85,20, + 33,63, 78,40, 24,30, 47,37, 21,81, 58,96, 35,57, 71,14, + 59,39, 12,86, 97, 0, 91,14, 81,58, 68,47, 50,10, 10,99, + 13,36, 4,75, 16, 6, 5,52, 84,74, 37,13, 61, 8, 12,61, + 95,88, 31,99, 54,62, 15,86, 5, 6, 94,50, 13, 2, 19,26, + 80,56, 15,43, 91,46, 87,72, 62, 8, 93,20, 29,77, 37,16, + 1,45, 71,69, 38,49, 87,42, 88,21, 18,33, 9, 2, 9,19, + 54,42, 77,87, 49,56, 82,74, 80,40, 28,49, 41,18, 79,79, + 49, 2, 78,67, 2,28, 80, 4, 49,14, 47,60, 10,97, 41,70, + 73,27, 51,77, 48,55, 24,73, 40,40, 21,94, 66,49, 55,84, + 56, 7, 93,39, 20,95, 70,28, 18,78, 6,78, 61,15, 76,94, + 56,58, 25,84, 82,42, 50,19, 46,20, 83,31, 4,31, 46,14, + 82,87, 0,41, 56,27, 8,95, 38,97, 90, 3, 54,86, 70,42, + 88,78, 18,42, 54,63, 24,56, 81,10, 13,97, 40,35, 61,35, + 53,94, 90,44, 1,10, 13,40, 85, 2, 18,43, 44,47, 36,74, + 78, 9, 33, 8, 16,78, 59,10, 91,22, 6,10, 88,73, 3,37, + 61,37, 58, 5, 49,15, 75, 0, 96,40, 58,61, 32,67, 27,13, + 21,19, 73,88, 31,31, 41,79, 46,54, 98,48, 25,86, 77,99, + 85,85, 90,84, 33,15, 69,28, 59,55, 82,75, 3,13, 35,46, + 26,59, 84,64, 72,74, 7,14, 55,60, 24,33, 29,32, 41,47, + 27,52, 61,69, 33,66, 79,13, 66, 8, 79,37, 90,83, 77,70, + 91,43, 92,42, 35,76, 36,96, 46,74, 95, 1, 87,11, 98,32, + 13,54, 11,62, 74,48, 78,69, 80, 7, 12,80, 97,99, 25,15, + 48,31, 47,69, 51,35, 66,96, 73,89, 36,78, 88,75, 72,46, + 72,37, 24,21, 90,90, 47,70, 60, 0, 46,48, 4,23, 79,49, + 91,51, 61, 9, 91,37, 42,67, 62,41, 41,54, 18,39, 77,63, + 35,59, 21,67, 74, 5, 50,81, 27,37, 9,89, 5,29, 14,27, + 64,92, 60,75, 58,68, 52,26, 70,64, 65,33, 92,62, 67,35, + 76,81, 52,14, 56,90, 22,95, 76,51, 31,82, 19,69, 65,86, + 43,99, 98,68, 59,25, 91,88, 36,70, 51,71, 84,99, 95,83, + 18,76, 42,83, 18,75, 56,32, 44,40, 12,57, 8, 5, 46,39, + 85,45, 88,38, 94,62, 77,42, 47,80, 47,25, 34,92, 96, 9, + 99,69, 3,59, 92,19, 80,83, 16, 4, 56,78, 37,40, 94,26, + 19,30, 34,28, 46,44, 26,10, 17,24, 82,82, 52,71, 81,49, + 86,95, 16,98, 89,42, 98,73, 18,61, 53,63, 20,59, 41,77, + 98,14, 28,88, 53,36, 19,81, 90,93, 27,79, 97, 6, 74,57, + 38,18, 62,13, 32, 4, 21,92, 52,97, 47,16, 78, 8, 56,52, + 4,67, 0,38, 93,92 +}; +const int p_100_11[] = { + /// Number of people on picture + 100, + /// Number of preferences + 712, + /// Array of preferences + 46,74, 78, 5, 64,40, 50,11, 98,69, 70, 7, 74,13, 64, 8, + 47, 3, 18,84, 23,59, 63,34, 88,61, 8,57, 8,69, 21,60, + 55,27, 52,32, 38,33, 42,25, 58,69, 98,20, 28,87, 52, 6, + 85,80, 81,55, 61,93, 18,29, 48,68, 61,47, 76,75, 67,51, + 20,66, 63,37, 87,19, 3,78, 61,90, 42,35, 24,35, 87,58, + 55,90, 56,56, 27,83, 41,41, 78,31, 70,91, 22,91, 21,90, + 23,85, 15,92, 63,59, 42,69, 11,83, 12,61, 95,26, 14,72, + 47,87, 68,89, 82,23, 47,14, 23,93, 80,93, 34,16, 91,54, + 81,17, 63,69, 64,78, 21,45, 63,38, 20,24, 53,94, 73,45, + 28,85, 22,84, 41,11, 86,20, 16,43, 37,84, 41,74, 67,41, + 50,92, 37,59, 3,48, 3,28, 89,47, 32,30, 20,28, 34,48, + 58,25, 10,40, 54,90, 66,32, 59,53, 87,25, 1,71, 66,19, + 37,19, 91,92, 40,69, 84,77, 57,50, 46,73, 55,71, 23,43, + 18,39, 44,25, 68,88, 18,48, 77,86, 77,64, 18,40, 4,55, + 41,30, 71,29, 65, 1, 10,14, 80,89, 11,43, 88,40, 24,25, + 0,17, 31,33, 36,72, 57,90, 19,95, 17,31, 26,60, 2,62, + 18,19, 32,33, 96,64, 62,42, 97,12, 17,56, 9,36, 9,32, + 30,17, 64,32, 31,14, 80,52, 17,71, 70,34, 76,61, 59,81, + 70,78, 86,81, 18,76, 4,89, 67,50, 85,41, 17,42, 0,15, + 50,32, 31,83, 75,34, 62,85, 68,15, 44,35, 19,66, 12,39, + 60,11, 81,50, 11,86, 64,26, 5,52, 61,72, 89,99, 76,72, + 2,26, 21, 7, 58,75, 5,96, 81,69, 59, 2, 57,76, 82,45, + 57,58, 48, 3, 26,65, 99, 4, 2,50, 50,46, 19,29, 14,89, + 43,56, 10,56, 6,24, 22, 4, 15,19, 60,92, 42,13, 36, 3, + 87,71, 61,16, 55,60, 26,92, 33,39, 50,64, 95,66, 9,54, + 7,66, 71,44, 5,36, 86,56, 35,82, 92,98, 1,56, 31, 4, + 4,64, 15,55, 54, 2, 98,76, 21,84, 11,56, 52,43, 27,10, + 30,82, 11,69, 58,34, 84,44, 4,56, 68,68, 88,37, 90,72, + 21,13, 40,11, 56, 7, 9,82, 69,63, 74,39, 26, 6, 36,23, + 73,23, 66,20, 88,31, 56,66, 3,38, 92,38, 53,67, 77,70, + 73,40, 75,92, 54,23, 68,49, 30,97, 96,55, 90,59, 43,22, + 52, 9, 65,93, 87,46, 82,77, 73,74, 13,59, 8,89, 8,92, + 71,64, 92,86, 2,72, 97,65, 46,20, 35,87, 74,36, 43,86, + 82,44, 6,64, 53,21, 26,55, 85,45, 25,37, 37,11, 31,44, + 23,87, 53,62, 28,77, 75,37, 41,64, 38,70, 76, 5, 54,57, + 90,39, 57,48, 99,21, 98, 8, 85,22, 75,54, 19,30, 49,21, + 99,16, 42,52, 55,28, 53,77, 9, 2, 99,89, 65,12, 89,73, + 30,96, 37,95, 61,76, 85,28, 76,88, 27, 6, 5,62, 8,25, + 5,48, 98,48, 20,84, 21,99, 39,38, 78,51, 2,73, 14,23, + 29,72, 67,83, 42,29, 59,97, 67,88, 28, 6, 80,92, 22,72, + 39,72, 0,34, 87,67, 13,20, 55,22, 43,19, 37,17, 66,24, + 15,36, 19,52, 67, 2, 27,23, 14,52, 59, 0, 26,23, 92,32, + 79,74, 33, 1, 59, 4, 79,32, 44,27, 27,29, 84,36, 63,94, + 46,40, 95,61, 92,28, 68, 0, 95,19, 5,27, 5,72, 75,28, + 7, 9, 31,68, 23,96, 92,99, 54,27, 50,21, 46,29, 77,93, + 22,82, 38,98, 19,65, 64, 0, 80,10, 92,37, 23,57, 0,47, + 75,23, 20,30, 26,14, 67,53, 46,19, 73,88, 56,30, 11,92, + 25,33, 31,54, 81,64, 51,38, 56,41, 25,85, 75,83, 72,71, + 2,78, 14,85, 86,27, 45,51, 13,40, 3,71, 39,60, 62,90, + 5,24, 47,70, 9,38, 61,77, 40,41, 81,51, 10,23, 28,29, + 20,75, 16,26, 42,33, 24,44, 10,45, 21,50, 14,83, 48,55, + 9,52, 44,71, 69,74, 65,34, 90,18, 0,29, 58,40, 15,61, + 65, 7, 30,79, 55,19, 92,63, 82,51, 75,63, 37,72, 92,70, + 70,46, 55,21, 74,56, 74,81, 39,74, 45,16, 64,13, 80,65, + 23,71, 80,80, 88,28, 7,13, 89,39, 84, 9, 90,56, 77,49, + 73,43, 77,36, 65,86, 36,68, 28,65, 17,63, 79,30, 5,43, + 17,46, 95,98, 3,61, 72,81, 30,48, 56,92, 85,30, 98,89, + 81,39, 83,99, 89,97, 15,73, 9,95, 11,15, 15,48, 28,22, + 22,93, 53,87, 19,12, 20,23, 4,99, 99,37, 3,23, 97,68, + 7,58, 46,94, 45,94, 90,25, 3,26, 55,11, 90, 0, 93,24, + 98,40, 92,59, 19,62, 76,64, 71,49, 24,84, 23,64, 71, 6, + 74,62, 64,38, 85,59, 49,19, 24,26, 72,30, 6,90, 6, 5, + 70,36, 71,96, 83,40, 15,69, 55, 5, 73,86, 67,44, 6,34, + 7,47, 5,49, 91,73, 52,50, 28,39, 33,62, 58, 7, 30,98, + 38,21, 63,55, 43,84, 32,11, 45,41, 22,96, 26,82, 16,87, + 86, 2, 89,51, 75,45, 36,70, 76,67, 6,43, 29,32, 62,56, + 22,24, 52,58, 90,51, 10,57, 70,44, 37,23, 35,77, 84,30, + 44,45, 33,26, 4,40, 97,90, 33,19, 8, 9, 83,32, 32,96, + 6,35, 76,40, 80,83, 96,92, 86,49, 82,63, 81,77, 71,61, + 10,50, 42,71, 62, 4, 89,83, 31,71, 54, 1, 59,11, 72,24, + 55,41, 86,90, 44,83, 88,95, 1,40, 22,46, 76,56, 26,30, + 60,79, 73,78, 60,86, 62,81, 32,52, 44,96, 39,59, 30,45, + 10,29, 33,25, 57,59, 23,61, 96,20, 73,53, 50,98, 53,96, + 32,73, 5,14, 79,46, 35,18, 41,17, 59,17, 84,67, 39, 8, + 55,17, 42,46, 46,93, 91,98, 56,68, 89,76, 91,64, 65, 9, + 46,24, 4,83, 74,46, 8,58, 41, 6, 84,46, 10,86, 18,80, + 82,30, 50,59, 50,54, 68,66, 27,49, 10, 4, 13,22, 71,85, + 28,30, 86, 8, 30,34, 33,88, 56,73, 44,23, 99,35, 24,86, + 19,87, 93,87, 15,83, 66,30, 67,48, 30,13, 19, 0, 1,35, + 94, 6, 86,71, 5,70, 47,24, 8,10, 94,76, 88,19, 96,43, + 85,70, 52,26, 83,71, 37,31, 79,33, 21, 4, 56, 4, 81, 3, + 84,97, 79,24, 99,86, 69,73, 66,44, 29, 6, 18,65, 65,42, + 38,20, 22,65, 39,40, 66,50, 31,47, 15,20, 73,61, 71,32, + 14,27, 35,35, 97, 2, 37,88, 61,31, 16,73, 22,48, 48,59, + 45,31, 40,30, 31,66, 93,43, 93,81, 95,23, 82,41, 68,20, + 41,53, 52,55, 33,76, 78,56, 50,38, 86,83, 3,35, 54,91, + 29,29, 99,81, 24,23, 44,62, 38,83, 88,56, 53,18, 89, 1, + 10,64, 69,57, 73,28, 20,77, 0,11, 43,64, 82,61, 42,62, + 99, 9, 56,26, 6, 1, 31,45, 7,69, 8,60, 30, 5, 63,95 +}; +const int p_100_12[] = { + /// Number of people on picture + 100, + /// Number of preferences + 1091, + /// Array of preferences + 29,54, 5,74, 15,96, 61,56, 12,48, 80,64, 79,13, 24,24, + 35,77, 77,71, 73,36, 86,64, 59,51, 94,72, 9,23, 30,69, + 79,29, 72,79, 57,10, 30,98, 73,30, 47, 5, 48,89, 66,70, + 15,49, 95,56, 11,36, 78,49, 40, 5, 49,82, 5,55, 34,44, + 69,48, 80,98, 21,21, 33,55, 10,16, 65,94, 18,83, 76,14, + 79,80, 16,88, 98,89, 97,12, 36,49, 34,36, 51,80, 79, 7, + 33, 8, 5,24, 93,53, 51,28, 88,12, 27,49, 1,27, 94,89, + 43, 9, 73, 4, 63,11, 83,36, 76,64, 11, 9, 44, 4, 52,25, + 66,10, 39,84, 4, 6, 32, 2, 54,14, 24,26, 85, 7, 22,89, + 77, 9, 7,18, 14, 8, 3,70, 6,73, 43,34, 71,34, 63, 4, + 5,51, 45,66, 48,35, 38, 7, 98,74, 74,83, 45,64, 24,30, + 29,72, 20,32, 58,53, 54,59, 6,27, 9,36, 44,87, 84,70, + 44,29, 20,72, 94,22, 24, 3, 34,39, 87,29, 85,78, 2,54, + 30,61, 37,48, 71,30, 9,81, 89,97, 64,91, 45,70, 67, 2, + 27,52, 22,46, 16, 4, 42,55, 99, 4, 17,96, 94,91, 98,36, + 65,54, 60,72, 80,25, 50,25, 91,86, 59,57, 53,78, 67,53, + 14,92, 58,44, 72,63, 91,99, 22,73, 50,70, 45, 0, 75,24, + 76,77, 13,22, 36,59, 59,22, 61,17, 32,73, 6,23, 98,59, + 24,28, 63,23, 30,81, 50,19, 15,27, 10,37, 91,42, 29,14, + 35,50, 80,21, 6,72, 71,33, 10,34, 35,47, 14,52, 34,63, + 30,48, 5,73, 72,73, 39,46, 41,99, 71,72, 44,34, 43,67, + 7,47, 1,13, 38,59, 73,37, 62,19, 71, 5, 68, 2, 40,28, + 15,83, 17,61, 97,18, 7,84, 88,36, 61,84, 8,23, 29,35, + 65,42, 49, 6, 35,71, 16,29, 26, 0, 5,47, 31,95, 95,58, + 71, 0, 5,57, 50, 7, 21, 6, 47,85, 85,31, 0, 0, 18,63, + 79,14, 54,99, 47,52, 21,19, 32,20, 53,11, 52,70, 42,28, + 69,41, 56,93, 87,73, 83,96, 91,93, 11,16, 61,20, 60,85, + 3,98, 35,60, 99,33, 25,93, 67,35, 1,65, 51,78, 95,74, + 3,63, 20,23, 40,29, 34, 8, 25,52, 20,67, 87,19, 26,28, + 99,65, 69,95, 58,91, 43,39, 13,70, 54,84, 61,18, 49,45, + 98,57, 99,46, 8, 7, 88,51, 18,13, 59,82, 51,72, 90,77, + 78,46, 94,12, 16,25, 52,92, 5,65, 86,87, 16,89, 48,61, + 79,95, 1,53, 83,33, 25,41, 80,56, 35,39, 64,29, 86,57, + 54,15, 52,54, 59,46, 53,93, 95,11, 36,81, 79,98, 61,45, + 65,17, 22, 7, 75,22, 66,14, 48,80, 0,26, 82,32, 36,94, + 33,53, 39,16, 78,59, 93,21, 39,15, 49,60, 42,62, 86,90, + 75,83, 50,52, 91,70, 4,26, 57, 7, 23,75, 95,81, 84,68, + 37,10, 18,33, 58, 7, 60,41, 25,34, 70,54, 81,55, 26,55, + 10, 7, 81,57, 24,42, 88,43, 33,58, 87,33, 71,92, 65,90, + 7,29, 70,89, 96,56, 49,96, 24, 4, 36,50, 29,21, 90,25, + 32,62, 77,88, 28,80, 59,24, 75,26, 13,61, 77,40, 35,20, + 9,79, 70,91, 77, 1, 90,88, 45,28, 8,91, 36, 6, 41,57, + 9,65, 76,62, 45,97, 70,17, 59,39, 62,52, 14,54, 65,28, + 46,49, 66,84, 84, 5, 67,71, 12,92, 67,73, 73,79, 59,12, + 29,39, 15,71, 84,67, 48, 7, 87,77, 63,43, 68,43, 0,80, + 23,57, 3,25, 92,92, 73,89, 40, 2, 34, 7, 7,66, 12,46, + 51,95, 31,32, 65,15, 25,38, 55,48, 47,24, 76,28, 74,50, + 84,47, 71,15, 80,27, 99,19, 98,55, 5,96, 50,61, 52, 8, + 41,25, 72,59, 69,24, 33,63, 79,36, 16, 3, 6,88, 35,64, + 44,98, 12,82, 45,22, 22,83, 12,19, 99,26, 97,11, 55,29, + 91,32, 93,29, 89,77, 51,60, 52,94, 74,42, 23,10, 62,96, + 23,60, 23,96, 87, 4, 8,95, 11,11, 98, 0, 40,59, 42,40, + 32, 3, 6,62, 55,18, 84,94, 85,58, 97,28, 1,74, 28,59, + 5,49, 47, 9, 77,96, 22,27, 43,68, 30,73, 83,62, 88,60, + 66,76, 62,77, 13,23, 87,10, 90,42, 91,10, 42,18, 31,40, + 8,63, 36,76, 27, 3, 30,27, 90,33, 66,57, 6,68, 2,81, + 66,33, 71,61, 43,55, 4,75, 17,84, 83,90, 66,35, 91,61, + 83,34, 88,39, 49,20, 55,98, 35,72, 71,80, 13,88, 52,71, + 6,20, 22,78, 18,93, 64,54, 78,35, 62,66, 43,18, 61,55, + 67,79, 86,83, 54, 5, 81,51, 88,90, 42, 0, 97,33, 3,50, + 53,47, 91,22, 99, 3, 13, 8, 25, 6, 75,31, 57,77, 27,40, + 0,94, 47,98, 90,23, 76,13, 62,21, 70, 5, 5,67, 9,50, + 31,96, 80,33, 16,94, 65,74, 24,47, 30,23, 57,97, 97,35, + 51,86, 73,31, 49,27, 50,80, 38,32, 90,27, 39,78, 29,16, + 63,24, 92,41, 96,25, 55,39, 28,94, 45,17, 68,93, 34,58, + 6,12, 60,36, 46,80, 46,44, 35,45, 79,73, 20,52, 39,11, + 40,12, 0,54, 26,95, 58,45, 6, 4, 56,61, 57,19, 6, 8, + 86,45, 96,22, 79,54, 93,34, 79,70, 6,85, 27,88, 32, 7, + 70,29, 19,55, 11,39, 32,97, 58,82, 16,52, 14,98, 94, 8, + 20, 2, 11, 7, 5,26, 38,90, 15,44, 83, 7, 73,11, 71,45, + 70, 9, 65,16, 85,37, 44,38, 38, 4, 68,61, 8,72, 83,18, + 63,12, 42,94, 12,47, 69, 7, 40,78, 98,35, 74,12, 60,96, + 9,77, 42,13, 63,97, 49,22, 43,69, 21,76, 25,49, 46,26, + 20,66, 14,45, 21,84, 77,86, 5,66, 6,98, 13,64, 0,51, + 12,54, 48,37, 89,17, 80,19, 90,64, 37,19, 25,19, 61,50, + 3,22, 91,45, 55,72, 55,14, 19,17, 75,57, 19,71, 73,72, + 62,39, 14,68, 52,18, 85,65, 23, 4, 43,13, 42,78, 93,10, + 25,57, 93,47, 75,19, 10,28, 7,76, 60,95, 53,21, 70,37, + 19,27, 60,77, 1,75, 3,69, 6, 7, 61,21, 20,68, 65,64, + 82,96, 87,89, 91, 9, 32,55, 32, 9, 25,45, 76,89, 61,48, + 99,74, 48,18, 58,39, 7,19, 16,67, 18,24, 80,87, 11, 2, + 15,14, 16,58, 43,79, 99,91, 28,35, 78,53, 74,25, 2,37, + 74,44, 45,63, 96,84, 4,17, 75, 8, 28,48, 56,65, 7,56, + 21,56, 90,68, 48,41, 62,12, 10, 2, 35,61, 10,69, 77,93, + 41,82, 6,16, 96,87, 6, 0, 42,45, 49,65, 31,39, 87,30, + 76, 3, 63, 1, 13,32, 51,22, 32,92, 30,42, 9, 9, 48,20, + 18,20, 26,29, 99,98, 31,67, 31,89, 31,47, 89, 2, 37,28, + 96,16, 19,44, 44,21, 26,50, 33,36, 75,92, 69,39, 13,75, + 74,16, 98,95, 47, 3, 69,36, 20,63, 46,45, 9,78, 84,35, + 95,15, 35,12, 90,56, 20,56, 48,96, 32,86, 4,10, 22, 4, + 25,77, 65,67, 92,81, 85,48, 12,85, 31,91, 63,93, 90, 0, + 77,70, 69,74, 92,22, 40,72, 46,48, 76,50, 83,76, 96, 2, + 74, 0, 81,26, 34,11, 39,62, 80,79, 25,72, 32,34, 60, 3, + 3,97, 27,78, 14,97, 17,17, 14,20, 10,45, 73,65, 72,87, + 56,26, 26,73, 95,93, 54,67, 67,96, 53,37, 94,23, 90,22, + 57,88, 95,82, 34,29, 45,26, 85,97, 40,38, 95,24, 16,73, + 51, 7, 82,49, 83,39, 44,15, 83,42, 61,80, 82,43, 52,55, + 89,40, 74,13, 24,74, 5, 1, 42,27, 22, 6, 22,14, 98,46, + 76,17, 5,37, 48,63, 69,25, 82,27, 93,42, 38,99, 6,40, + 48,92, 8,25, 45, 1, 5,81, 9,76, 96,82, 81,76, 30,43, + 9,75, 39, 7, 1, 1, 79, 4, 78,87, 55,81, 13,16, 89,98, + 77,74, 23,36, 32,10, 76,60, 61,82, 30,65, 41,81, 88,32, + 13,97, 99,51, 88,93, 17,90, 62,93, 77,60, 11,27, 89, 9, + 0,22, 87,50, 55,88, 23, 6, 81,80, 17, 6, 21,79, 58,29, + 90,61, 94,92, 3,73, 81, 7, 41, 9, 68, 8, 97,53, 71,27, + 86,66, 43,29, 14,37, 47,29, 88,22, 17,63, 72, 9, 93,91, + 45,49, 96,70, 26,72, 11,70, 29,96, 54,78, 90,85, 20,42, + 17,98, 22,30, 56,97, 37,14, 24,43, 50,77, 30,11, 93,87, + 18,39, 17,15, 16,78, 86,46, 48,82, 0, 8, 99,99, 94,65, + 86,31, 43, 8, 7,61, 56,92, 61,35, 78,52, 32,46, 47,82, + 65,88, 25,96, 70,93, 79,53, 63,15, 60,51, 97,45, 11,87, + 95, 7, 68,76, 19, 5, 96, 6, 99,40, 57,43, 51,97, 2,64, + 30,33, 34,86, 67,84, 12, 8, 62,73, 36,32, 73,59, 39,60, + 83,98, 85,94, 98,43, 82, 7, 46,31, 58, 8, 51,46, 97,38, + 68,85, 85, 8, 98,27, 20,12, 25,30, 49,81, 34,82, 70,34, + 16, 7, 91,58, 81,46, 8,53, 50, 4, 40,97, 45,85, 97,90, + 34,12, 36,17, 31,69, 58, 2, 1,92, 25,99, 48,30, 11,68, + 52,48, 54,94, 86,55, 34,25, 44,58, 79,20, 4,86, 27,87, + 1,50, 74,40, 56,47, 69, 0, 74,74, 25,74, 66,18, 64,72, + 35,99, 56,89, 99,84, 72,19, 15,23, 26, 9, 64,48, 25,10, + 73,95, 7,68, 37,72, 98,97, 49,91, 32,12, 93,62, 17,46, + 92,33, 80,58, 88,25, 80,55, 53,82, 90,93, 37,44, 52,36, + 90,47, 62,85, 77, 6, 7,31, 93,59, 23,35, 23,22, 54,96, + 20,90, 78,85, 50,13, 81,32, 85,30, 28,58, 52,33, 0,17, + 14,33, 61,92, 70,55, 94,71, 21,17, 27, 2, 87, 3, 28,13, + 76,80, 87,22, 7,17, 9,80, 44,10, 50,99, 12,90, 95,29, + 70,64, 64,35, 45, 8, 77,72, 50,45, 59,19, 40,43, 91,69, + 30,58, 41,21, 14,91, 2, 1, 60,67, 32,77, 68,42, 15,61, + 24,31, 2,52, 55,82, 17,45, 62,41, 72,47, 48,90, 18,42, + 71,53, 21,53, 74,21, 98,17, 52,42, 21,30, 45,82, 37,69, + 18,59, 29,27, 85,70, 12,66, 60,27, 31, 3, 40,69, 17,51, + 15, 5, 16,66, 87,62, 39,22, 33,84, 39,95, 29, 9, 57,36, + 19,42, 80,93, 24,39, 75,62, 98,42, 42,34, 34, 9, 9,39, + 37,91, 1,55, 96,31, 5,90, 18,65, 78,97, 24,88, 45,90, + 31,22, 99,61, 53,32, 20,82, 14,59, 1,35, 8,86, 14,49, + 65, 2, 2,36, 91, 6, 49,41, 45,52, 88,54, 6,54, 68,14, + 34,31, 67,91, 27,75 +}; +const int p_100_13[] = { + /// Number of people on picture + 100, + /// Number of preferences + 1040, + /// Array of preferences + 48,57, 49,93, 93,24, 24,98, 4,30, 28,56, 29, 1, 88,78, + 63,56, 72,95, 98,72, 44,78, 97,29, 41,77, 9,90, 40,70, + 39,58, 36,32, 81,98, 44,32, 26,90, 71,85, 55,43, 64,57, + 52,42, 38,87, 42,26, 68,80, 43,14, 6,64, 16,60, 98,60, + 2,68, 11, 8, 47,70, 61,67, 96,24, 81,71, 33,69, 72, 5, + 66,44, 52,35, 79,36, 49,55, 90,16, 26,17, 35,31, 47,24, + 56,75, 78,55, 3,80, 88,91, 99,86, 37,57, 30,20, 47,41, + 35,53, 59,70, 75,29, 90,90, 75,13, 9,20, 49,60, 16,61, + 74,21, 15,33, 88,55, 51,90, 74,63, 30,62, 79,13, 48, 9, + 93,23, 63,58, 9,61, 19,17, 90,78, 76,28, 4,45, 91,30, + 91,56, 99,36, 25,59, 69,40, 25, 1, 14,48, 85,39, 46,95, + 78,78, 72,69, 39, 2, 74,24, 35,99, 23,31, 76,29, 30,66, + 79,16, 65,36, 9,42, 38,46, 45,63, 81,34, 97, 6, 75,26, + 62,13, 13, 6, 58, 1, 3, 1, 86,77, 34,34, 19,82, 97,89, + 62,90, 16,62, 67,38, 62,89, 92,61, 26,87, 3, 9, 92,99, + 11,93, 95,91, 38,70, 4,79, 8,78, 67,73, 27,30, 0,80, + 92,57, 53,38, 46,22, 51,64, 84,66, 76,22, 86,23, 22,77, + 25,96, 67,90, 29,80, 39,65, 9,10, 1,18, 47,35, 78,24, + 53,98, 70, 7, 81,10, 37,22, 43,42, 35,40, 78,27, 31,24, + 54,31, 56,99, 62, 0, 68,22, 89,72, 41,55, 66,37, 13, 7, + 58,10, 43,20, 46,61, 70, 5, 60,99, 24, 4, 65,14, 44, 6, + 51,27, 1,56, 35,52, 8,31, 10,87, 36,11, 5,93, 14,82, + 50,65, 39,71, 34,72, 52,92, 67,94, 93,71, 3,69, 64,26, + 84,89, 7,31, 47,85, 51,86, 70,76, 42,31, 10, 7, 40,42, + 82,16, 96,77, 78,94, 63,79, 13,53, 15,21, 11,15, 50,35, + 13,98, 11,87, 20,95, 62,84, 87,49, 31,27, 75,88, 23, 4, + 56,58, 45,61, 70,43, 83,28, 37,86, 61,59, 79, 9, 62,53, + 66,47, 84,71, 46,73, 57,99, 54,22, 13,20, 14,11, 81,44, + 48,49, 84,73, 21, 1, 74,61, 34,90, 67,52, 5,24, 77,60, + 99, 5, 17,83, 71,67, 68,47, 8,69, 97,58, 32,29, 39,63, + 12,29, 47,59, 76,94, 70,78, 81,79, 32,52, 83,60, 40, 5, + 54,28, 88,70, 63,32, 92,58, 30,23, 16,48, 32,49, 78,20, + 50,97, 43,56, 56,24, 2,83, 88,76, 31,12, 30,58, 26,51, + 38,17, 93,25, 72,10, 14,85, 64,23, 75,61, 50,63, 75,67, + 31,42, 4,83, 53,86, 49,72, 59,88, 31,83, 81, 6, 88,83, + 9,12, 35,45, 77,70, 64,44, 28,83, 87,48, 95, 7, 5, 8, + 63,11, 68,77, 73,33, 40,27, 48,37, 83, 1, 66,25, 17,63, + 90, 7, 26,79, 30,28, 61,43, 55,79, 89,24, 85,38, 41,73, + 14,35, 15,10, 35,96, 33,40, 30,70, 39,62, 93,29, 12,57, + 56,18, 81,92, 60,76, 21,63, 96, 4, 20,14, 77,65, 83,95, + 50,16, 25,16, 80,73, 40,18, 70,31, 5,55, 61,99, 0,47, + 88,13, 0,87, 82,55, 5,83, 51,89, 86,34, 95, 4, 48,96, + 60,42, 3,34, 47,56, 17,62, 19,31, 85,63, 10,69, 36,33, + 26,47, 73,28, 94,81, 5,22, 30,41, 72,38, 72,81, 76,47, + 31,38, 8,95, 50, 9, 91,98, 50,81, 14,22, 41,29, 27,52, + 81,70, 18,64, 43,28, 59, 4, 57,45, 28,19, 55,91, 78,15, + 84,14, 25, 6, 16,93, 14,63, 19, 2, 19,73, 89,94, 93,12, + 47,64, 3,65, 26,36, 0,89, 25,30, 42,91, 10,60, 3,36, + 5,66, 78,21, 8,37, 43,79, 47,84, 78,89, 42,51, 66,52, + 48,13, 7,53, 6,48, 52,34, 22,29, 32,66, 53,95, 96,67, + 20,70, 27,86, 47,49, 17,86, 46,47, 10,22, 44,96, 24,82, + 28,68, 41,78, 50,79, 96,20, 67,43, 29,97, 61,77, 53,22, + 83,62, 21,20, 99,20, 47,89, 52,81, 92,49, 21,19, 3,57, + 98,16, 11,64, 42,30, 55,92, 9,38, 26,39, 4,19, 58,31, + 7,74, 37,20, 55,89, 19,52, 74,80, 99,51, 25,49, 51,91, + 77,96, 82, 6, 78,47, 93,95, 76,54, 9,58, 57,66, 97,59, + 48,86, 53,50, 89,18, 9,16, 3,28, 52,44, 43,63, 56,38, + 1,41, 45,77, 60,79, 65,74, 84,46, 92,83, 32,74, 87,70, + 95,92, 52,70, 69,94, 19,42, 44,59, 44,28, 89,65, 65, 9, + 29,54, 66,54, 56,82, 81,16, 43,45, 71,77, 15,19, 39,23, + 16,14, 81,14, 66,57, 15, 3, 45,15, 14,32, 56,22, 87,91, + 46,77, 23,34, 74, 9, 10,12, 20,46, 66,90, 14,21, 49,14, + 93,74, 95,33, 30,10, 50,32, 10,84, 66,60, 46,97, 24,97, + 59,73, 29,20, 58,39, 48,16, 89,21, 56,44, 37,84, 25,35, + 91,11, 1,58, 76,33, 71,97, 76,74, 67,30, 34,50, 40,47, + 25,99, 6,78, 34,38, 4,56, 44,43, 77,44, 68,56, 28,23, + 45,84, 71,28, 71, 3, 56,67, 40,68, 90,11, 25,83, 4,63, + 62, 1, 6,81, 64,81, 32, 5, 61,72, 1,30, 82,19, 7,48, + 97,22, 77,79, 45,12, 80,49, 88,21, 42,80, 51,81, 20,73, + 50,91, 92,26, 97,51, 69, 7, 60,29, 5, 2, 9,44, 75,25, + 32,33, 6,55, 78, 0, 38,54, 71,68, 53,67, 13,34, 5,49, + 52,16, 86, 4, 45,29, 72,89, 87,66, 24,64, 74,37, 26,49, + 90,39, 52,86, 30,75, 59,81, 23,15, 16,15, 17,48, 62,96, + 74,72, 46,56, 24,35, 58,90, 62,73, 24,96, 7, 0, 57,68, + 52,32, 81,52, 3,55, 92,43, 13,82, 69,11, 78,12, 65,59, + 15,84, 14,78, 12,91, 30,89, 97,91, 91,33, 64, 4, 23,19, + 83,27, 25,20, 38,77, 63,80, 29,52, 32,64, 1,71, 30,98, + 0,91, 35,26, 33,28, 48,11, 96,62, 81,88, 88,90, 7, 3, + 74,15, 43,99, 99,24, 96,35, 11,80, 37,69, 38,22, 28,77, + 69,19, 8,22, 55,21, 56,52, 46,88, 69,31, 37,12, 55,82, + 83, 9, 21,69, 64,56, 29,55, 32,42, 58,53, 23,40, 31,61, + 71,93, 45,10, 8,86, 39,19, 5,70, 84,55, 21,52, 44,31, + 79,94, 21,86, 80,16, 5,88, 87,41, 30,56, 5,37, 41,69, + 18,70, 33,55, 46,36, 73,14, 36,31, 8,94, 74,71, 80,62, + 32,12, 80,27, 85,21, 46,38, 65,46, 75,41, 68,18, 25,34, + 79,97, 99,58, 35,42, 15, 8, 20,13, 66,83, 55,88, 64,84, + 90,37, 84,22, 21,26, 51,23, 76,99, 63,42, 1, 3, 4,66, + 50,23, 68,36, 5,85, 93,44, 32,30, 93,68, 56,41, 18,43, + 35,73, 52,66, 7,18, 50,84, 25,73, 49,31, 76, 8, 11,73, + 56,13, 25,23, 46,75, 52,93, 59,40, 42,35, 32,41, 98,10, + 40,46, 29,94, 35, 8, 7,20, 73,78, 52, 7, 18, 0, 87,86, + 65,62, 12,99, 8,62, 2,24, 57,86, 59,52, 11,40, 49, 9, + 57,72, 50,92, 74,43, 69,82, 30,91, 44,66, 0,33, 0,48, + 17,77, 97,50, 38,62, 53,68, 92,90, 30,46, 13,26, 85,12, + 83,40, 67,35, 83, 8, 85,50, 64,78, 55,41, 62,74, 71,19, + 82,65, 20,41, 72,61, 21,29, 0,25, 37,56, 67,40, 5,87, + 64,41, 73,24, 95,36, 39,98, 85,72, 39,67, 98,39, 28,79, + 29,23, 75, 4, 83,83, 21,32, 20,78, 2,88, 32,63, 80,59, + 59,28, 3,76, 81,97, 12,31, 14,27, 50,25, 60,50, 80,53, + 56,79, 2,90, 71,89, 47,99, 29,25, 68,90, 48,91, 30,53, + 59, 6, 68,88, 18,92, 15,70, 98,18, 24,63, 21,53, 74,16, + 70,69, 40,15, 75,80, 22,86, 69, 2, 61,71, 42, 6, 65,55, + 21,11, 53,41, 11, 5, 3,64, 87,15, 88, 0, 72,82, 42,96, + 37, 6, 63,45, 77, 9, 94, 2, 28,55, 66,70, 88,19, 36,58, + 33,23, 92,12, 36,24, 19,24, 82, 1, 76,79, 87,72, 33,97, + 41, 1, 40, 0, 38,48, 32,88, 48,66, 26,67, 7,41, 14,57, + 18,10, 4, 7, 56,94, 72,62, 59,95, 81,41, 57,51, 30,76, + 26, 1, 75,66, 97,95, 22,43, 29,44, 29,45, 75,85, 33,67, + 1,22, 1,73, 67,32, 6,73, 21,13, 90,35, 54,96, 84,67, + 19,85, 63,24, 59, 0, 10,89, 84,45, 22,31, 42,83, 79, 1, + 32,98, 23,36, 49,88, 62,59, 14,60, 25,31, 34,63, 91,31, + 94,86, 31,94, 80,18, 91,92, 78,85, 27,41, 54,20, 78,53, + 73,31, 28,33, 97,18, 72,12, 2,93, 97,69, 3,43, 35,17, + 63,93, 65, 1, 39,33, 6,10, 43,24, 0,41, 78,43, 14,92, + 9,27, 80,78, 3, 3, 45,76, 91,54, 91,13, 23,49, 56, 4, + 9,48, 65,96, 18,72, 35,20, 77, 6, 5,11, 40,80, 4, 4, + 1,34, 43,87, 44,71, 45,79, 21, 6, 54,27, 91,87, 58,33, + 34,64, 12,92, 84,31, 12,13, 87,51, 99, 3, 10, 9, 89,57, + 37,98, 7,65, 49,28, 21,81, 72,52, 48,76, 84,36, 4,97, + 47,22, 46,80, 99,16, 91,39, 10, 0, 72,43, 6,54, 21,99, + 72,74, 73,69, 61,34, 47,28, 37,76, 18, 8, 17, 7, 99,93, + 20,81, 96,18, 80,29, 31,20, 33,52, 41,68, 56,78, 74,91, + 12,28, 73,21, 9,63, 69,28, 88,32, 1,83, 90,94, 36,89, + 29,62, 3,73, 31,79, 90,26, 56,85, 30, 4, 36,63, 52,48, + 34,75, 46,48, 18,61, 41,83, 24,12, 62,33, 24,92, 10,92, + 83,85, 73,38, 9,29, 26,97, 27,66, 35,51, 67,98, 81,86, + 2,58, 94, 7, 12,90, 92,40, 45,67, 45,17, 46,62, 45,38, + 24,47, 5,61, 30,61, 49,40, 40,64, 44, 7, 51,61, 95,48, + 98,70, 26,48, 94,71, 95, 3, 10,13, 53, 4, 98,42, 40,86, + 4,36, 54,71, 69,48, 51,45, 48,84, 16,80, 39,57, 60,97 +}; +const int p_100_14[] = { + /// Number of people on picture + 100, + /// Number of preferences + 1391, + /// Array of preferences + 65,43, 72,99, 50,24, 68,45, 59,49, 94,31, 52,88, 6,41, + 5,82, 88,30, 3,94, 17,29, 17,73, 54,47, 58,33, 99,48, + 72,53, 45, 0, 17,18, 44,42, 82,15, 25,25, 48,99, 85,13, + 86,86, 47,15, 9,93, 80,36, 71,57, 52,64, 3,69, 97,14, + 8,99, 64,57, 67,11, 58,78, 61,37, 43, 3, 7,17, 45,45, + 53,66, 30,50, 23, 6, 29, 4, 12,96, 0,30, 65,27, 61,11, + 57,60, 65,16, 53,81, 81,15, 27,69, 62,79, 25,85, 86, 6, + 10,54, 53, 1, 54,69, 21, 1, 6,49, 35,48, 66, 8, 12,81, + 11,59, 72,49, 9,70, 40, 2, 43,79, 73,90, 58,45, 66, 3, + 4,94, 5,77, 25,60, 41,33, 0,23, 62,76, 15,85, 47,52, + 54,55, 73,15, 73,39, 14,35, 44,13, 68,16, 5,76, 19,94, + 13, 4, 86,33, 39,40, 15,29, 58,20, 0,74, 68,50, 66,93, + 22,97, 70,53, 73,11, 34,44, 24,11, 15,86, 87,45, 56, 3, + 30,69, 32,83, 11,88, 42, 1, 99,64, 48,13, 22,54, 9,91, + 78, 0, 64,13, 48,88, 27, 5, 2,31, 77,34, 37,34, 89,45, + 37,39, 80,75, 40,70, 86,61, 38,55, 54,41, 3,96, 19,54, + 8,27, 23,74, 36,53, 23,52, 53,82, 52,82, 68,30, 56, 2, + 94,42, 0,93, 50,18, 0,17, 50, 9, 31,92, 1,66, 64,92, + 29,39, 63,50, 97, 0, 83,11, 98,34, 32,11, 34, 9, 10,17, + 25,97, 32,15, 6,74, 13, 0, 96,13, 11, 8, 76,66, 95,16, + 71,68, 93,75, 0,41, 87,77, 13, 9, 84, 8, 90,89, 58,92, + 41,11, 80,62, 55,27, 39, 8, 6,42, 66,36, 45,78, 64,24, + 46,36, 85,39, 94,99, 62, 8, 5,66, 77,38, 64,23, 59,79, + 57,34, 64, 3, 49,98, 79,96, 46,64, 78,77, 50,38, 66,97, + 7,77, 96,33, 77,57, 32,92, 87,92, 34,83, 17,52, 51,41, + 78,98, 79,30, 52,55, 17,10, 29,63, 12,16, 88, 4, 90,86, + 94,54, 12,44, 57,61, 35,17, 53,93, 51, 3, 99,13, 28,80, + 46,17, 87,17, 61,23, 60,51, 35,50, 44,71, 48,33, 20,90, + 9,23, 57,72, 55,28, 23,59, 44,10, 57,10, 95,76, 62,95, + 64,41, 79,15, 16,79, 32,21, 81,39, 24,75, 40, 4, 17,62, + 82,65, 98,91, 72,16, 11,16, 16,16, 33,87, 55,98, 42,55, + 34, 0, 21,95, 5,18, 17,96, 72,81, 71,74, 28,28, 62,28, + 31,59, 90,51, 71,94, 31,55, 79,33, 16,84, 49,44, 38,38, + 81,24, 98,39, 45,18, 65,76, 60, 3, 21, 8, 80,38, 37,77, + 57,35, 6, 3, 32,34, 80,78, 68,91, 86,41, 71,95, 56,67, + 14,77, 97,52, 92,27, 96,38, 39,67, 0, 1, 15, 1, 58,25, + 75,18, 84,40, 27,90, 68,23, 52,69, 78,43, 11,29, 65, 3, + 10, 3, 30,38, 64,26, 2,89, 40,80, 12,91, 45,95, 7,88, + 5,28, 86,31, 35,13, 53,25, 9,34, 5,97, 26,30, 71,34, + 39,82, 77,95, 38, 8, 86,79, 29,33, 26,63, 31,87, 10, 5, + 80,65, 5,50, 31,19, 31,93, 89,47, 34,92, 31,84, 86,48, + 63,83, 61,70, 7,98, 53,86, 55,50, 30,21, 89,24, 75,37, + 73,55, 73,98, 97,96, 21,59, 93,98, 41,59, 89,50, 10, 4, + 86,23, 52,86, 80, 4, 80,96, 30,31, 32,31, 94,60, 55,24, + 82,82, 5,29, 72, 3, 60,77, 32,63, 40, 9, 44,66, 37,22, + 71,14, 42,29, 31, 8, 47,65, 28,81, 34,57, 82,30, 80,61, + 13,56, 14,34, 85, 5, 19,89, 92, 0, 48,21, 94,51, 3,31, + 29,64, 15,27, 37,36, 97,98, 50,36, 22,82, 43,35, 66,26, + 79,19, 52,76, 16,67, 24,46, 16,47, 66,82, 25,93, 42,53, + 51,17, 6,44, 27,62, 63,25, 35,55, 82,10, 89,10, 31,21, + 37, 6, 23, 8, 27,92, 42,15, 38,81, 58,91, 48,97, 68,63, + 53,90, 50,68, 25,51, 95,88, 72,68, 16,49, 70,90, 17,46, + 8,33, 35, 6, 35,81, 83,60, 90,41, 29,26, 46, 7, 63,89, + 58,30, 43,80, 39,16, 39,80, 4,52, 58,31, 4,14, 60,44, + 49,51, 92,80, 34,59, 11,65, 77,63, 41,48, 20,25, 22,94, + 34,32, 32,19, 98,20, 91,56, 63,62, 73, 8, 14,15, 43,65, + 85,45, 7,58, 12,25, 25,76, 31,70, 30,57, 57,44, 43,59, + 53,76, 79, 6, 64,66, 65,60, 88,16, 6,51, 2,85, 64,75, + 31,94, 26,69, 22,21, 21,34, 55,81, 16,43, 61,24, 61,57, + 83,74, 10,82, 68,25, 81,34, 58,80, 92,35, 38,91, 19,60, + 17,11, 20,21, 19,43, 10,29, 44,94, 11,44, 34,18, 85,99, + 81,27, 68,95, 36,46, 49,78, 87, 6, 67,42, 24,26, 37,14, + 22,69, 70,88, 4, 1, 13,25, 23,70, 78,18, 11,53, 78,84, + 23,31, 85,36, 7,29, 0, 6, 59,10, 83,39, 10,91, 53,89, + 83,69, 23,11, 71,93, 20,29, 8, 7, 69, 6, 2,27, 20,98, + 0,36, 52,87, 15,92, 35,28, 3,82, 75,72, 28,34, 2,86, + 43,27, 80,64, 87,88, 9,52, 89,19, 74,45, 41,86, 90,33, + 25,63, 71,49, 37,66, 39,18, 85,58, 19,47, 24,71, 81,54, + 6,17, 22,60, 24,45, 78,21, 75,63, 28,39, 37,52, 38,73, + 42,37, 45,39, 76, 7, 84,49, 45,74, 45,61, 80,55, 69,65, + 30,66, 19,33, 30,82, 35,14, 81,62, 36,93, 68,51, 3,25, + 17,65, 5,13, 16,20, 61,48, 41,39, 30,72, 90,20, 2,11, + 96,55, 34,21, 37,40, 17,21, 59,47, 71,99, 32,12, 81,43, + 49,74, 60,31, 88, 3, 89,65, 26,11, 79,42, 93,66, 6,61, + 24,83, 52,38, 95,81, 43,49, 7, 6, 83,59, 47,63, 54,86, + 19,29, 78,82, 35,76, 39, 9, 83,84, 28,41, 80,48, 62,78, + 68,99, 40, 1, 10,33, 1,56, 17,54, 80,98, 50,74, 98,38, + 72,85, 81, 6, 66,32, 88, 0, 92,20, 26,37, 74,68, 87, 4, + 36,54, 10,37, 49,56, 67,69, 80,90, 8, 0, 56,69, 88,31, + 50,53, 51,85, 67,30, 45,65, 9,29, 65,12, 94,33, 95,24, + 23,69, 65,68, 65,13, 13,48, 37,70, 15,13, 24,28, 29,32, + 54,12, 74,67, 9,13, 45,62, 26,36, 1,15, 10,16, 32,24, + 24,22, 67, 4, 80,21, 57,27, 54,79, 0,65, 53,40, 3,65, + 21,60, 14,62, 8,86, 5,40, 90,81, 91,73, 36,83, 78,53, + 51,91, 70,58, 81,76, 0,69, 79,88, 86,34, 79,63, 80, 3, + 73,50, 68,15, 77,16, 82,49, 4,50, 83,65, 18,66, 47,94, + 24,91, 45,90, 82,96, 88,45, 63,27, 26, 5, 39,97, 36,70, + 10,30, 17,69, 25,91, 20,95, 11,98, 33,81, 87,13, 60,75, + 80,51, 53,32, 18,53, 95,52, 36,85, 7,83, 91,54, 79, 3, + 42, 3, 37,15, 38,88, 37,17, 43,99, 76,64, 11, 7, 42,68, + 25,67, 21,24, 53, 3, 82,24, 91,16, 50,88, 7,42, 79,97, + 71,32, 4, 8, 91,91, 69,83, 22,39, 77,37, 0,58, 5,16, + 7,57, 22,23, 93,12, 67,76, 59, 8, 80,88, 6,28, 62,70, + 67,95, 39,64, 80,43, 72,20, 25,99, 75,51, 59,95, 52,18, + 45, 7, 94,30, 33,22, 59,89, 46,62, 88,60, 16,71, 90,78, + 90,58, 80,10, 20,96, 76,38, 76,73, 29, 9, 88,77, 75,45, + 71,65, 42,14, 67, 9, 17,67, 43,76, 67,52, 70,38, 6,18, + 52,80, 98,63, 72,27, 1,28, 92,59, 52,47, 92,99, 67,58, + 45, 2, 46,38, 93,99, 29,87, 84,98, 29,22, 96,20, 63,75, + 95,18, 72,24, 77, 8, 11,34, 99,18, 57,75, 71,89, 81,70, + 78,59, 14,50, 37,10, 55,35, 30,20, 33,83, 88,93, 55,63, + 58, 4, 37,64, 63,99, 56,82, 89, 6, 67,93, 16,87, 19,34, + 62,92, 52,24, 66,91, 97, 2, 93,33, 17,60, 19, 8, 18,50, + 7,95, 51,92, 48,84, 81,51, 96,24, 11,33, 84,88, 34,86, + 84,75, 27,49, 56,98, 58,41, 30,63, 90,40, 11,61, 95,56, + 4,48, 98,61, 4, 4, 15,39, 6,88, 32, 6, 46,81, 97,28, + 26,26, 32,57, 38,36, 94,50, 98,35, 56,30, 1, 2, 42,33, + 1,49, 47,88, 54,57, 22,31, 93,13, 93, 7, 28,54, 8,79, + 98,32, 58,99, 61,20, 7,78, 77,18, 23,25, 28,37, 72,52, + 45,73, 29, 3, 66,18, 88,79, 25,43, 74,21, 21,15, 60,35, + 65,50, 48, 0, 34,52, 85,24, 63,96, 40,16, 85,34, 6,48, + 97,17, 13,15, 82,48, 43,40, 86,97, 90,29, 20,89, 63,73, + 20, 6, 20,34, 4,46, 54,70, 23,93, 35,71, 3,18, 77, 5, + 28,78, 47,32, 9,89, 39,72, 2,82, 43,98, 93,80, 50, 7, + 96,40, 24,58, 19,28, 7,25, 55,77, 99,39, 80,40, 96, 5, + 70,54, 81,82, 73, 7, 82,21, 8,98, 4,54, 54,93, 23,81, + 92,15, 74,25, 91, 6, 57,64, 60,91, 93,95, 29,81, 45,34, + 39,70, 2, 1, 78,74, 46,59, 14,11, 78,67, 75,96, 78,96, + 8,60, 50,67, 57, 4, 43,43, 73,22, 91,10, 86,87, 45,75, + 88,14, 36,62, 45,16, 87,33, 98,14, 51,72, 2,80, 2,62, + 63,33, 11,30, 22,86, 41,15, 82, 8, 89,51, 64,31, 19,20, + 88,73, 96,81, 10,65, 78,33, 5,96, 39,23, 90,43, 56,40, + 41,60, 68, 3, 50,26, 71,36, 76, 8, 13,22, 72,76, 21,25, + 61, 4, 46,32, 17,85, 4,79, 19,90, 78,15, 10,70, 87,57, + 74,13, 49,96, 23,50, 92,82, 12,77, 70,27, 31,75, 33,64, + 98,12, 59,99, 37, 1, 14,44, 28,58, 61,33, 5,72, 44,20, + 92,89, 86,80, 83,91, 69,24, 92,74, 24,77, 74,44, 38,58, + 61,86, 96,49, 43,25, 68,79, 9,94, 10,27, 71,87, 14,31, + 30,99, 87,78, 45,13, 41,32, 83,26, 84,85, 1,39, 26, 6, + 39,81, 28,95, 96,85, 89,97, 85,22, 32,47, 41,34, 1,84, + 71,43, 10,48, 19,57, 74,60, 97,95, 54,23, 18,20, 92,95, + 23,23, 61,62, 61, 6, 32,62, 11,37, 98,76, 37,94, 60,32, + 61,55, 27,45, 44,63, 62,81, 0,55, 95,62, 34,40, 15,46, + 11,73, 9,76, 1,59, 58,68, 60,23, 67,38, 28,55, 91,24, + 61,50, 65,91, 4,62, 5,39, 95,87, 37,55, 59,31, 98,36, + 66,33, 83, 3, 85,61, 82,75, 96,16, 14, 3, 82,66, 97, 7, + 34,28, 31,58, 61,31, 13,69, 51,52, 59,66, 49,21, 27, 9, + 51, 7, 79,40, 2,73, 53,75, 78,32, 37,81, 30,42, 51,42, + 95,89, 39,53, 28,79, 30,18, 31,28, 27,35, 66,99, 16,30, + 27, 3, 3,20, 73,92, 79,51, 31,88, 57,25, 85,35, 1,27, + 54,22, 35,72, 63,12, 94,82, 5, 5, 36,48, 18,73, 75,10, + 88,58, 44,59, 34,69, 88,23, 70,64, 99,52, 28,18, 73, 4, + 9,90, 70,26, 52,73, 82,55, 44,31, 45,94, 84,62, 78,63, + 13,43, 73,20, 84,36, 62,42, 88,22, 94,27, 12,34, 0,99, + 95,48, 96,95, 86,32, 6,14, 29, 8, 8,95, 83,23, 89,30, + 82,90, 28,16, 20,24, 9,67, 66,38, 60,10, 43,21, 3,79, + 48,39, 48,80, 18,71, 17,93, 33,77, 93, 8, 11,68, 89,34, + 41,25, 64,44, 78, 1, 51,67, 69, 4, 10, 0, 10,43, 11,96, + 24,53, 20,61, 48,66, 14,10, 91, 3, 15, 3, 54,13, 68,83, + 63,67, 28,32, 46,54, 54,89, 15,48, 4,63, 53,48, 59,29, + 48,71, 6,34, 53,99, 47,92, 57,88, 78,60, 24,68, 48,60, + 64,16, 22,11, 59,82, 55,23, 68,73, 90,27, 45, 5, 89, 0, + 57,28, 8,65, 86,39, 65,95, 87,70, 17,53, 29,71, 43,14, + 98,54, 53,47, 84,32, 63,49, 12,36, 54,99, 80,26, 90,92, + 65, 6, 48,29, 58, 0, 63,16, 42,57, 41, 5, 28,73, 75,85, + 2,16, 34, 5, 0,87, 35,11, 18,93, 95,61, 67,15, 13,10, + 78, 4, 96,39, 10,55, 3,87, 37,46, 31,14, 88,76, 26,22, + 43,23, 81,44, 42,47, 7,52, 87, 9, 91,94, 86,40, 12,80, + 58,74, 81, 5, 95,41, 72,36, 42,18, 57,12, 7,16, 5,56, + 94, 5, 59,27, 90,36, 38,54, 44,98, 7,30, 79,71, 5,88, + 58,67, 23,19, 10,83, 9,39, 44,51, 10,78, 16,85, 76,68, + 53,61, 17,72, 0, 5, 23,32, 92,45, 37, 3, 18,75, 74, 4, + 94,90, 10,92, 11,62, 39,44, 5,73, 99,30, 28,25, 16,93, + 28,89, 25,86, 74,63, 2,52, 27,50, 8, 8, 15,71, 41,96, + 43,89, 31,85, 70,28, 11,28, 57,57, 46,39, 77,33, 89,87, + 34,98, 2,33, 60,81, 52,11, 98,86, 98,69, 7,43, 8, 2, + 86, 2, 88,26, 68,61, 70,39, 98,80, 36,65, 11,15, 11,71, + 95,31, 67, 6, 59,55, 17,12, 54,91, 45,63, 95,43, 10,39, + 69, 2, 15,89, 84,54, 86,75, 89,37, 26,48, 66,88, 11,90, + 55,70, 65, 7, 42,58, 50,33, 32, 9, 66,55, 44,55, 27,78, + 78,47, 13,75, 91,80, 71,83, 53,28, 10,25, 51,33, 37,16, + 70,49, 13,14, 58,97, 66,78, 21,70, 3,67, 52,16, 91,17, + 71,17, 59,20, 64,96, 0,54, 74,43, 43,19, 66,47, 29,70, + 71,96, 1,44, 18,36, 81,61, 88, 1, 79,31, 45,85 +}; +const int p_100_15[] = { + /// Number of people on picture + 100, + /// Number of preferences + 383, + /// Array of preferences + 99,46, 2,61, 97,28, 18,71, 71,99, 82,86, 58,38, 8,86, + 96,48, 30,31, 65,29, 1,53, 33,10, 73,81, 73,56, 25,68, + 50, 6, 64,31, 82,34, 91,18, 66,19, 71,43, 6,13, 7,69, + 70,70, 30, 7, 59, 5, 63,33, 50,48, 88,86, 85,76, 85, 4, + 50,20, 82, 1, 75,95, 37,88, 22,20, 35,66, 4, 1, 74,36, + 27, 2, 91, 6, 12,91, 68,85, 21, 9, 32,60, 9,32, 93,79, + 4,30, 90, 4, 96, 7, 57,34, 95, 2, 13,58, 93,11, 66,46, + 3,32, 42,25, 7,43, 22,91, 80,26, 37,81, 56,33, 6,26, + 37,41, 3,48, 5,54, 54,62, 88,65, 71,45, 3,69, 13,74, + 61,45, 5,74, 58,28, 62,30, 5, 4, 82,90, 33,41, 58, 2, + 32,86, 91,87, 22,97, 62,64, 9,27, 9,81, 19,13, 91,62, + 17,54, 34,75, 31,77, 18,41, 30,99, 21,74, 53,40, 85,66, + 94,24, 59,38, 40,12, 38, 3, 56,69, 21,79, 5,98, 92,28, + 33,61, 89, 0, 12,96, 73,73, 55,71, 33,15, 49,51, 69,24, + 69,63, 76,40, 71,37, 97,64, 41,63, 60,86, 44,45, 99,10, + 61,20, 31, 1, 58, 0, 72,19, 88,11, 6,98, 48,22, 84,79, + 56,98, 22, 2, 61, 1, 25,43, 21,24, 85,90, 1,64, 95,61, + 97,22, 88, 1, 93,80, 17, 6, 67,53, 6,39, 13,13, 57,84, + 73,90, 72,10, 33,43, 43,90, 74,48, 75,72, 96,14, 36,16, + 4,55, 3,22, 27,62, 11,84, 75,93, 7,72, 1,35, 22,42, + 90,52, 81, 0, 8, 6, 27,76, 59,99, 98,81, 72,69, 57,55, + 85,10, 51,11, 47,45, 43,14, 6,70, 15,25, 94, 5, 8, 8, + 64,53, 6, 0, 15,54, 34,87, 75, 8, 24,44, 56,87, 35,88, + 92,90, 57,73, 96,75, 48,88, 55,89, 40,86, 43,20, 39,46, + 86,10, 82,59, 72,94, 29,61, 73,71, 81,56, 37,16, 30,96, + 70,80, 1,57, 46,21, 80,49, 0,20, 55,18, 16,43, 0,99, + 87,43, 6,68, 6,61, 99, 1, 92,49, 2, 4, 54,90, 57,36, + 3,85, 29,51, 65,25, 20,46, 18,93, 28,73, 28,83, 82,75, + 11,17, 10,14, 55,90, 14,20, 32,22, 92,50, 15,47, 10,33, + 0,60, 33,73, 26,14, 18,20, 83,22, 51,65, 30,40, 22,73, + 25,88, 61,19, 74,94, 37, 2, 66,18, 2,63, 61,89, 10,88, + 16,37, 38,85, 98,40, 37,49, 68,14, 6,94, 10, 5, 3,63, + 29,34, 22,89, 80,50, 31, 8, 89,72, 9,71, 16,33, 13,38, + 27,55, 88, 0, 8,49, 82,15, 33, 5, 78,31, 3,15, 11,15, + 39,97, 76,81, 85,82, 26,30, 41,15, 22,48, 65, 8, 95,87, + 55,59, 25,84, 85,92, 82,64, 89,55, 79, 4, 68,69, 7,79, + 70, 8, 41,27, 92,92, 67,72, 46,81, 87,61, 31,91, 74, 9, + 48, 9, 57, 0, 57,90, 21,47, 12,61, 96,16, 77,85, 83,24, + 12,99, 45,64, 82,71, 86,52, 45,30, 33,34, 11,90, 44,68, + 43,62, 52,66, 60,16, 88,25, 77, 6, 31,41, 36,11, 93,33, + 78,53, 66,75, 90,95, 15,24, 42,93, 84,87, 36,67, 77,83, + 47, 5, 19,25, 67,91, 48,60, 51,23, 95,27, 65,20, 46, 4, + 74,97, 30,38, 33,74, 89,17, 30,75, 33,56, 57,80, 91,85, + 70,57, 27,18, 56,20, 30,28, 81,83, 45,39, 94,91, 31, 9, + 91,58, 44,16, 45,76, 78,70, 42,71, 57,52, 75,19, 93,61, + 0,84, 78,19, 50, 8, 98,19, 78,15, 86,35, 33,65, 8,66, + 88,17, 91,63, 55,29, 14,26, 18,49, 51, 7, 17,61, 60,89, + 95,46, 62,61, 18,86, 10,40, 92,57, 86,11, 32,21 +}; +const int p_100_16[] = { + /// Number of people on picture + 100, + /// Number of preferences + 950, + /// Array of preferences + 87,36, 61,56, 26,10, 68, 9, 12,55, 55,13, 83,24, 66,85, + 44,49, 56,91, 94,29, 93,30, 56,59, 5,82, 86,78, 48,52, + 64,35, 78,83, 93,25, 49,23, 53,21, 96,55, 30,56, 72,83, + 38,42, 99,16, 77,28, 6,94, 22,54, 55,57, 41, 2, 55,63, + 55, 1, 54, 4, 56,61, 25,81, 14,90, 87,19, 41,36, 99,79, + 90,95, 72,23, 34,78, 30,22, 69,86, 29,29, 23,64, 25,40, + 68,26, 54, 6, 31,21, 31,46, 48,50, 83,61, 14,94, 21,22, + 69,46, 51,85, 66,61, 27,76, 52,25, 4,60, 79,54, 32,75, + 34,63, 23,11, 41,71, 28,81, 96,61, 90,20, 8,16, 91,19, + 4,17, 18,16, 54,38, 7, 3, 21,76, 74,27, 35,21, 77,66, + 33,88, 9,52, 91,40, 40,57, 9,66, 41,33, 26,46, 42,56, + 49,49, 40,76, 8, 2, 16,71, 80,40, 88,38, 46,75, 51,21, + 40,77, 85,19, 45,99, 37,17, 74, 3, 55,29, 19,37, 87,17, + 29,59, 83,37, 79,35, 13,65, 58,40, 3,26, 6,42, 38,94, + 82,22, 53,55, 51,46, 18,43, 41,32, 95,58, 76,22, 56,92, + 79,59, 26, 0, 21,16, 42,21, 43,44, 48,95, 32,23, 61,67, + 33, 7, 59,19, 87,11, 38,31, 97,91, 25,13, 52,22, 5,29, + 28, 4, 17,53, 68,73, 55,47, 83,80, 79,81, 5,39, 51,30, + 17,45, 35,26, 18,33, 50,98, 86,82, 25,25, 4,74, 22,14, + 1,69, 77,82, 80,39, 44,97, 73, 4, 94,38, 39, 3, 59,66, + 14,60, 72,58, 29,93, 4,25, 7,33, 11,92, 99,92, 50,69, + 22,53, 59,15, 34,96, 51,44, 18,99, 13,56, 38,96, 33,22, + 78,65, 58,99, 35,48, 19,17, 60,70, 71,37, 67,49, 75, 3, + 89,69, 2,71, 5,19, 87, 3, 66,33, 30,49, 62,12, 46, 5, + 18,44, 81, 7, 47,86, 54, 3, 23,59, 6,12, 86,37, 58,64, + 47,49, 85,87, 90,33, 61,82, 1,97, 28,95, 6,10, 24,84, + 48,78, 91, 2, 44,68, 75,12, 29,99, 30,68, 1,57, 14,50, + 7,32, 10, 0, 37,93, 46,97, 49, 3, 52,61, 66,71, 45,35, + 78,84, 83,41, 84,73, 77,48, 38,90, 80,38, 86,10, 33, 2, + 21,40, 98,55, 94,24, 52,30, 16,50, 17,77, 22,40, 3,86, + 24,71, 52,49, 47, 3, 62,34, 48,86, 5,90, 98,98, 76, 0, + 55, 0, 41,35, 35,91, 41,92, 39,87, 41,12, 71,11, 99,23, + 13,88, 53, 5, 76,14, 38, 0, 10,83, 77,35, 49,16, 2,46, + 93,15, 39,54, 75,27, 34,26, 56,33, 98,67, 93, 9, 98,16, + 33,24, 99,31, 35,89, 58,78, 34,60, 95,84, 78,75, 30,10, + 13, 3, 78,61, 36,70, 68,54, 61,53, 31,53, 23, 5, 40,59, + 60,49, 23,74, 15,25, 96,37, 18,20, 20,82, 20,66, 35,20, + 82,16, 71,33, 45, 5, 20,59, 12,63, 76,58, 79,88, 83,51, + 45,40, 58,55, 91,88, 56,68, 85,81, 44,95, 37,98, 21, 3, + 26,85, 8,61, 86,30, 31,63, 91,72, 82,38, 16,83, 35,57, + 91,47, 69,51, 26,66, 79,36, 91,41, 89,99, 40,53, 71,66, + 11, 0, 96,39, 9,26, 22,92, 8,60, 55,42, 79,44, 82,34, + 93,45, 1,89, 92,10, 5, 1, 85,95, 35,86, 81,13, 84,75, + 10,60, 88,60, 29,42, 29,87, 9,69, 73,13, 68,79, 30,77, + 32, 4, 37,27, 40,23, 66,84, 84,88, 94,94, 18,80, 73,94, + 50,64, 20,80, 99,84, 99,30, 83,35, 8,56, 24,24, 84, 3, + 9,44, 30,67, 28,46, 67,89, 30,74, 63,58, 28,18, 10,40, + 57,50, 81,40, 88,62, 11,27, 62,85, 82,99, 72,82, 41,48, + 4,15, 58,17, 16,12, 69,41, 29,37, 23,71, 92,46, 35,49, + 16,15, 83,53, 17,64, 47,67, 35,53, 88,64, 42,43, 9,25, + 72,90, 69,77, 92,43, 1,78, 63,36, 79,78, 60,42, 19,85, + 10,25, 60, 9, 51,97, 73,51, 26,95, 90,43, 72, 4, 77,99, + 5,87, 59,82, 0, 5, 57,80, 87,88, 11,13, 26,84, 54,58, + 93,46, 82,73, 24,11, 82, 9, 99,54, 61,28, 84,98, 76,59, + 2,87, 70,68, 57,83, 12,18, 14,63, 51,45, 81,89, 87,51, + 86,48, 25,21, 87,91, 91,59, 6,36, 8,96, 27,25, 16,14, + 96,77, 55,39, 58,62, 95, 2, 29, 3, 89,41, 48,97, 69,84, + 66,55, 70,85, 64,80, 30,71, 29,74, 21,43, 18,57, 91,23, + 38,59, 42,27, 85,58, 27,78, 96,65, 16,22, 7,91, 69, 5, + 13,87, 86,94, 45,11, 63, 8, 18,58, 89, 5, 34,93, 72, 9, + 2,90, 44,29, 86,42, 8,17, 1, 3, 17,88, 33,17, 65,43, + 85,26, 23,20, 72,34, 65,86, 32,34, 49,81, 3,46, 9,87, + 17,89, 38,22, 32,50, 75,28, 40,48, 47,78, 24,69, 23, 6, + 73,11, 66,92, 12,73, 81,55, 13, 0, 36,34, 64, 6, 41,11, + 71, 4, 70,41, 65,95, 2,59, 48, 7, 88,21, 70,23, 23,48, + 44,15, 53,20, 58,48, 12,28, 77, 0, 97,51, 18,63, 90,72, + 34,39, 3,24, 23,91, 98, 5, 40,97, 38,15, 91,28, 48,13, + 54,90, 96,28, 57, 4, 47, 1, 70,20, 3,57, 62,98, 50,51, + 47,45, 83, 6, 34,55, 96,36, 81,86, 73,58, 23,36, 41,57, + 53,44, 27,84, 88,87, 71,86, 18,40, 47,26, 22,49, 38,98, + 17,92, 47,53, 12,22, 72,86, 16,59, 83,10, 48, 5, 58,91, + 8,38, 26,52, 94,82, 96, 2, 60, 4, 49,10, 57,41, 26,33, + 46,80, 48,40, 83,95, 84,97, 46,70, 76,11, 20,46, 65,50, + 50,82, 30,72, 71,96, 16,54, 10,39, 24,77, 81,49, 1,37, + 43,65, 28,74, 54,87, 97,62, 33,62, 45,95, 42,74, 75,42, + 84,69, 42,28, 42,30, 5,61, 48,24, 34,25, 17, 8, 55,70, + 6,78, 89,85, 42,47, 6,85, 6,21, 78,51, 68,57, 38,95, + 63,67, 10,48, 91,12, 0,71, 52,84, 5,75, 17,31, 43,96, + 45,64, 81,18, 55,34, 53,74, 85, 0, 49,32, 17,57, 13, 5, + 74,98, 70,31, 55,76, 27,37, 70,72, 98,51, 4,90, 10,97, + 62,57, 47, 6, 45,79, 7,49, 62,44, 55,95, 4,80, 63,65, + 24, 0, 51, 5, 85,32, 13,47, 40,33, 67,86, 95,54, 99,58, + 61,32, 22,22, 55,20, 42,34, 67, 3, 97, 1, 29,70, 12,13, + 82,84, 96,72, 34,11, 2,77, 39,65, 55, 7, 64,15, 25,43, + 16,92, 19,72, 75, 5, 57,13, 65,32, 9, 9, 79,66, 76,10, + 28,35, 98,90, 65, 9, 36, 5, 53,18, 46,88, 77,61, 77,75, + 81, 5, 13,67, 52,83, 80,10, 9,45, 40,60, 27,18, 90,17, + 39, 6, 60,71, 8,47, 21,18, 85,45, 96,98, 19,19, 56,46, + 69,18, 82,65, 19, 4, 8,15, 7, 5, 5,12, 73,19, 96,46, + 82,82, 75,55, 25,37, 67,50, 15,14, 62,30, 62,89, 61,57, + 4, 7, 64,88, 35,30, 76,20, 46,81, 64,61, 80,66, 70,43, + 80,56, 98,56, 1,34, 30,54, 33, 0, 64,42, 58,65, 68,80, + 10,56, 74,72, 45, 1, 91,81, 39,76, 68,15, 91,93, 93,56, + 90,29, 10,33, 56,53, 19,52, 69,26, 86,57, 80,34, 49,28, + 49,39, 12,57, 25,12, 23,90, 34,70, 32,20, 54,50, 76,65, + 58,25, 75,19, 6,76, 64,66, 18,26, 19,73, 53,62, 19, 1, + 29,40, 66,60, 40,89, 66,25, 79,29, 99, 8, 93,94, 90,10, + 3, 8, 35,83, 83,55, 85,93, 13,85, 63,24, 54,29, 5,34, + 50,72, 45,81, 31,72, 3,84, 11, 6, 80,62, 7,34, 4,41, + 40,18, 55,67, 77,20, 75,73, 61,38, 86, 7, 18,64, 89,73, + 94,91, 51,48, 12,12, 96,47, 5,24, 94, 3, 83,34, 7,35, + 31,78, 86,74, 66,56, 30,60, 43,34, 89, 1, 91,74, 89,90, + 91,78, 1,43, 76, 9, 42,93, 11,77, 63, 4, 56,16, 43,13, + 8,18, 52,60, 66,21, 71,15, 10, 6, 80,31, 73,22, 94,15, + 32,89, 89,35, 55,91, 15,66, 92,29, 10,80, 28, 6, 58,50, + 99,15, 78,97, 22,57, 92,65, 51,64, 84,58, 74,60, 1,74, + 50,29, 6,31, 69,42, 66, 2, 42,20, 21,13, 28, 5, 0,61, + 31,99, 73,12, 95,29, 68,35, 76,95, 35,67, 80,96, 49,26, + 91,17, 7, 4, 22,95, 70,32, 64,74, 66,31, 86,35, 22,41, + 81,62, 31,11, 12,39, 18, 2, 28,14, 71,78, 96, 8, 75,96, + 98,80, 9, 4, 0,12, 81,39, 9,23, 33,16, 19,99, 74, 4, + 70,55, 25,82, 10,66, 32,93, 60,26, 90,16, 41,13, 72,75, + 61,27, 15,85, 79,62, 94,52, 83,20, 13, 9, 37,51, 24,45, + 11,25, 79,43, 43,92, 98,59, 11,14, 28,25, 37,66, 69,27, + 41,25, 19,62, 98,92, 49,71, 46,86, 15,49, 32,47, 74,56, + 47,63, 28,57, 61,46, 37,58, 10,54, 22,29, 45,50, 44,67, + 77,57, 90,26, 67,42, 34,28, 90,55, 99,44, 74,59, 75,67, + 95,96, 62,51, 96,71, 56,36, 52,21, 25,58, 52,36, 18,71, + 34, 7, 97,13, 61,87, 43,75, 47,47, 17,65 +}; +const int p_100_17[] = { + /// Number of people on picture + 100, + /// Number of preferences + 1777, + /// Array of preferences + 55,23, 79,98, 44,57, 39,34, 73,54, 94,33, 22,59, 53,56, + 81,42, 3,65, 46,92, 64,49, 94,56, 20,13, 45, 1, 7,12, + 3,27, 21,91, 43,83, 18,93, 61,92, 76,63, 33,56, 36,89, + 60,71, 67, 0, 84,81, 38,62, 94,24, 71,48, 45,97, 49,54, + 52,77, 52, 2, 94,78, 30,80, 16,52, 61,57, 47,95, 63,96, + 52,74, 60,73, 20,86, 41,47, 16,46, 27,58, 24,64, 94,34, + 73,19, 76, 2, 14, 3, 78,91, 18,82, 47,21, 40,29, 26,59, + 92,83, 84,97, 93,75, 72, 7, 84,69, 75,59, 65,61, 82,97, + 79,34, 41,62, 37,56, 20,12, 20,75, 53,17, 36,22, 94,70, + 40,28, 3,80, 34,59, 23,92, 71,96, 42,54, 84,44, 21,79, + 43,36, 8,74, 23,51, 87,82, 89,36, 2,40, 25,87, 55,85, + 13,85, 28,18, 14, 0, 33,50, 38,86, 85,95, 3,89, 75,31, + 37,29, 12,77, 51,39, 47,79, 48,11, 79,56, 18,62, 6,10, + 2,32, 51,62, 73,51, 53,46, 34,13, 77,92, 9, 1, 81, 2, + 34,18, 3, 7, 46,38, 43,71, 2,22, 73,96, 11,73, 49,81, + 60,86, 98,91, 88,40, 66,67, 86,13, 86,68, 43,52, 21,28, + 32,79, 62,71, 99,45, 49,99, 92,37, 98,57, 97,47, 4,81, + 54,72, 22,42, 42,22, 12, 6, 16, 9, 27,20, 56,97, 97,40, + 21,50, 55,95, 65,46, 16, 7, 43,31, 54,81, 93, 9, 35,62, + 55,84, 32,57, 29,89, 87,36, 67,45, 28,39, 91,91, 54,27, + 93,46, 84,61, 41,49, 89, 9, 98,42, 16,87, 55,32, 56,67, + 20,41, 14,53, 51,99, 50,48, 27,18, 39,60, 43, 0, 54,16, + 1,57, 10,69, 66,34, 87,99, 84,41, 59,52, 70,67, 34,31, + 46,12, 78,23, 98,11, 64, 0, 13,40, 92,77, 83,17, 51,44, + 45,77, 24,63, 44,41, 37, 2, 34,60, 64,50, 40,76, 82,48, + 72, 1, 68,60, 4,34, 28,41, 24,59, 33,97, 48,27, 95,60, + 66, 3, 21,85, 24,97, 95,81, 16,20, 53,24, 55,63, 21,88, + 4,88, 84,76, 85,99, 16,97, 93,73, 76,82, 74,39, 72, 3, + 39,80, 31,84, 48,70, 99,71, 3,29, 54,99, 41,53, 15,42, + 25,43, 44,13, 87,24, 68,69, 10,81, 14,51, 44,88, 93,41, + 6,93, 85,90, 62,88, 16,93, 69,23, 34,21, 76,70, 67,69, + 10,31, 18,55, 58,52, 17,76, 24,14, 31,49, 9,35, 22, 4, + 97,94, 70,23, 16,69, 77,52, 96,54, 42,94, 45,30, 25,57, + 96, 1, 65,39, 64,19, 22,47, 97,70, 36,25, 0,97, 10,64, + 50, 4, 92,88, 8,24, 20, 1, 90,77, 26, 9, 8, 1, 42,59, + 48, 1, 59,83, 42,20, 58,76, 71,14, 2,82, 59,11, 73,75, + 57,61, 28,17, 41,63, 94,11, 65,30, 2,88, 4,64, 75, 6, + 21,95, 29,48, 30,99, 75,69, 10,18, 31,32, 12,50, 37,61, + 92,27, 27,25, 97,71, 61,29, 46,49, 20,38, 24,46, 2,56, + 53,69, 78,29, 88,62, 45,64, 98,53, 55,74, 31, 6, 52,34, + 71,97, 1,25, 84,42, 34,23, 83,81, 36,63, 45,25, 28,45, + 65,35, 93,14, 31,43, 28,74, 4,73, 23,48, 38,58, 29,77, + 2, 8, 59,70, 35,97, 31,10, 57,73, 99,58, 27,40, 72,67, + 83,87, 80,32, 1,19, 42,29, 35,46, 85,46, 98,61, 63,28, + 79, 3, 36,68, 49,66, 63, 4, 32,99, 54,95, 34,77, 24,54, + 32,14, 19,28, 90,32, 87,41, 34,66, 93,98, 77,51, 98,63, + 81,82, 8,65, 35,12, 18,89, 31,46, 47,17, 27,19, 46,33, + 13,82, 54,65, 79,40, 25,20, 96,38, 45,12, 39,25, 18,97, + 19,45, 13,91, 9,60, 76,47, 28,15, 73,16, 49,50, 95,76, + 41,99, 39,62, 16,99, 80,17, 23,75, 45,43, 31,68, 94,71, + 89,34, 6,47, 73, 9, 92,47, 42,47, 33,96, 32, 3, 60,27, + 3, 2, 43, 9, 46,57, 0,92, 41,76, 64,35, 68,63, 62,52, + 48,72, 26,82, 68,41, 29,96, 50,90, 52,86, 88,90, 1,28, + 72,24, 34,54, 30,51, 27,34, 29,60, 24,81, 37,26, 23, 7, + 79,18, 56,73, 25,42, 34,95, 91,65, 59,29, 32, 4, 58, 7, + 39,99, 47,65, 10,92, 38,65, 46,13, 16,22, 92,57, 18, 6, + 52,35, 98,31, 83,36, 30, 8, 47,82, 10, 4, 70,37, 64,89, + 56,34, 24,51, 41,51, 45,48, 69,47, 46,75, 68,88, 91,42, + 89,43, 2,24, 36, 6, 30, 0, 77,16, 9,97, 32,81, 22,66, + 39,43, 0,33, 97, 2, 59,40, 52, 7, 53,52, 90,68, 16,72, + 93,23, 90,69, 76,16, 38,51, 50,75, 80,48, 9,25, 57,67, + 70, 9, 44,19, 21,37, 75,19, 66,59, 80,53, 38,25, 23,93, + 53,88, 94,35, 97,78, 14,85, 41,69, 75,42, 0,45, 41,89, + 48, 5, 75,73, 0,18, 27,81, 59,19, 37,63, 93,43, 84,75, + 60,90, 7,26, 29,56, 89,77, 97,72, 62,53, 72,15, 45,40, + 74,70, 66, 7, 80,80, 76, 6, 37,89, 16,84, 96, 2, 30,62, + 88,76, 85,89, 78,72, 61,48, 96,92, 50,41, 20,18, 50,59, + 3,46, 42,82, 5, 4, 94,91, 52,94, 51,25, 17,61, 4,76, + 66,85, 33,77, 9,44, 80,59, 84,52, 7,29, 55,45, 61,70, + 0,54, 71,36, 25,19, 92, 5, 94,26, 23,77, 29,43, 98,74, + 95,25, 50,70, 50,23, 35,16, 59,30, 96,19, 85,66, 2,31, + 32,64, 15,37, 95,72, 11,93, 46,91, 36,44, 68,75, 72,34, + 95,47, 35,17, 17,84, 66,98, 37,28, 46,46, 99,87, 93,97, + 28,12, 4,23, 91,35, 44, 5, 17,45, 82,59, 6,34, 22,26, + 71,25, 80,90, 46,97, 59,94, 10, 7, 36,55, 59,36, 58,58, + 42,58, 2,25, 24,74, 81,95, 88,93, 55,71, 18,53, 72,57, + 87,29, 55,60, 82,39, 48,54, 76, 3, 23,83, 42,55, 77,66, + 5,33, 16, 4, 90,12, 16,61, 8,76, 4,66, 35,28, 62,38, + 3,96, 89,89, 34,40, 0, 1, 68,76, 67,61, 63,19, 7,56, + 33,55, 82, 5, 85,21, 27,73, 87,96, 47,11, 38,15, 1,91, + 19,98, 27,95, 51,93, 85,67, 39,26, 76,78, 64,40, 84,96, + 56,28, 9,99, 20,47, 37,79, 47,45, 20,68, 36,40, 69,63, + 32,70, 80, 5, 83,22, 42,84, 96,48, 23,90, 54,56, 14,62, + 33, 4, 61,30, 90,61, 44,46, 45,29, 80,61, 73,62, 18,56, + 78,97, 97,97, 91,20, 99,70, 57,19, 4,53, 29,31, 24,40, + 87,62, 27,85, 90,95, 33,37, 69,69, 86,66, 22,25, 29,18, + 7,49, 45,95, 66,54, 50,11, 20,16, 43,63, 10,77, 25,78, + 50, 5, 39,87, 64,83, 36,24, 15,22, 12,17, 91,27, 70, 0, + 84,68, 66,42, 87,79, 10,39, 75,70, 19, 6, 55,70, 51,49, + 20,50, 28,31, 2,48, 82,99, 39,17, 9,52, 51,70, 14,56, + 70,93, 0,63, 85,42, 68, 4, 70,42, 12,18, 6,79, 90,14, + 87,66, 19,71, 36,67, 18, 1, 96,96, 59,35, 57,75, 47,61, + 0,87, 30,64, 41,28, 80,54, 83,28, 20,87, 22,23, 44,42, + 21,15, 28,19, 87,80, 18,22, 31,58, 41,64, 92, 8, 37,75, + 80,95, 66,68, 64,98, 67,28, 87,11, 70,31, 60,49, 0,14, + 63,51, 66,84, 66,36, 88,26, 84,58, 35,82, 91,46, 92,33, + 53,96, 94,92, 54,96, 42,16, 52,45, 69,51, 2,11, 75, 2, + 33,63, 77,53, 5,55, 95,38, 81,88, 15,89, 2,66, 62,25, + 27, 8, 16,90, 11,25, 72,30, 11,54, 53,32, 13,84, 85,65, + 42,81, 72,42, 2,39, 42,89, 55,25, 93,30, 46,64, 19,39, + 83,73, 81,52, 21,61, 58,25, 1,80, 38,78, 53,53, 98,10, + 73,59, 53,70, 14,42, 20,22, 81,54, 5,70, 43,33, 43,96, + 56, 5, 88, 8, 88,71, 99,41, 95,66, 35,19, 46, 7, 14,47, + 17,69, 82,68, 45,91, 92,36, 89,28, 67, 2, 93,39, 64,71, + 33, 6, 20,83, 40,72, 7,53, 86,38, 23,12, 65,83, 56,80, + 18,26, 65,87, 54,57, 93,48, 97,48, 21,71, 45,92, 37,55, + 50,64, 62,30, 84,54, 78,87, 67,97, 20,71, 32,80, 49,57, + 52, 6, 51,56, 78,30, 34,44, 49,42, 78,89, 93,18, 68,25, + 75,29, 49,24, 22,18, 0,21, 34, 7, 8, 0, 54,38, 12, 9, + 45,76, 59,15, 81,31, 54,12, 49,78, 30,34, 66,14, 68,89, + 73,67, 26,89, 32,35, 28,97, 19,52, 79,57, 96,27, 83,94, + 86,59, 78,41, 10, 5, 99,54, 25,50, 35,99, 37,21, 59,84, + 52,64, 34,86, 94,54, 15,87, 46,28, 26,53, 29,52, 10,55, + 6,72, 71,87, 58,82, 29,86, 91,80, 36,32, 73,35, 56,38, + 69,57, 15,91, 25,99, 9,10, 54, 4, 87, 2, 36, 4, 33,34, + 23, 4, 11,40, 53,40, 78,39, 46, 9, 70,77, 23,56, 89,17, + 47,91, 24,73, 77,15, 49,91, 88,91, 17,66, 12,46, 21,70, + 83, 8, 25,14, 75,98, 92,11, 43,15, 91,28, 11,80, 58,28, + 9,75, 89,14, 78,77, 37,18, 63,55, 9,86, 73,81, 33,88, + 65, 2, 16,27, 35, 6, 89,85, 78,46, 32,17, 50, 8, 6,60, + 35,92, 62,13, 89,44, 56, 7, 37,23, 17,98, 20,10, 6, 3, + 97,58, 98,27, 78,85, 30,50, 75,55, 62,86, 69, 2, 4,36, + 98,46, 58,87, 43,55, 66,86, 20,72, 4,11, 6,59, 0,61, + 41, 2, 3,17, 98,89, 6,20, 17,38, 24,20, 61,73, 99,65, + 63,80, 96,37, 37,72, 2,60, 75,76, 2,36, 50,19, 98,37, + 98,41, 57,16, 78,47, 30,33, 34,74, 67,13, 64,37, 34,75, + 91,32, 72,73, 94,10, 52,43, 22,68, 9,23, 61, 9, 44,93, + 11,10, 54,33, 91,95, 58,86, 47,72, 18,15, 1, 8, 70,75, + 98,20, 81,30, 87,98, 47,37, 51,68, 97, 4, 44,72, 39,16, + 37,47, 79,70, 83,69, 97,35, 24,45, 89,56, 49, 3, 24,89, + 50,45, 94, 6, 62,74, 22,32, 8,83, 35,80, 33,58, 18,88, + 72,45, 73,28, 2,67, 69,31, 2,57, 21,42, 69,62, 69,84, + 63, 3, 74,90, 41,65, 84,38, 3,62, 48,37, 84,60, 80,51, + 35,26, 85,56, 70,33, 71,89, 68,98, 1,83, 46,60, 86,58, + 19,96, 51,50, 72,80, 70,25, 43,45, 21,13, 78,12, 23,72, + 48,51, 60,29, 7,61, 57,22, 36,84, 18,59, 33, 8, 94,31, + 67,94, 53,58, 90,66, 3,74, 84,50, 70,94, 8,62, 39,19, + 33,23, 0,38, 51, 3, 70,74, 5,68, 73,29, 25, 0, 28,82, + 49,70, 68,71, 85,48, 73,55, 64,43, 52,36, 42,91, 95, 7, + 50,98, 6,36, 49,18, 73,34, 73,24, 97,74, 39,18, 50,80, + 42,48, 66,70, 1,10, 52,16, 6, 2, 12,90, 74,13, 37,54, + 81, 5, 12,73, 68,27, 15, 1, 8,68, 14,94, 82,37, 24,92, + 13,11, 42,66, 27,55, 77,61, 40,86, 54,28, 2,98, 73,56, + 30,96, 86,30, 27,35, 20,43, 16,47, 59,71, 33,26, 62,26, + 38,76, 90,30, 72,56, 51,59, 12,84, 77,40, 25,92, 88,31, + 52,99, 2,55, 13,81, 67,63, 21,58, 17,35, 42,15, 8,42, + 29,87, 85,11, 1, 0, 21,60, 53,59, 55,57, 76,87, 72,92, + 61,19, 61,66, 38,72, 30,60, 71,98, 96,41, 32,66, 43,18, + 70,70, 55,16, 77,82, 56,79, 60,77, 40, 8, 22,46, 19,26, + 61,47, 55,92, 24,69, 97,85, 72,82, 73,42, 8,71, 48,78, + 78,70, 64, 5, 27,32, 23,71, 88,21, 17,34, 57,39, 12,11, + 93,63, 54,92, 45,31, 77,35, 11,36, 72,43, 84,35, 60,74, + 86,99, 2,17, 7,93, 44, 8, 69,98, 55,26, 29,93, 40,80, + 30,91, 52,51, 75,90, 65,25, 35,69, 33,32, 26,56, 36,62, + 25,86, 83,64, 65, 1, 46,59, 33,90, 95,15, 68,72, 92,60, + 90,38, 32,12, 13,19, 63,94, 3,15, 72,31, 83,60, 37,32, + 94,68, 24,11, 4,30, 65,70, 81,48, 71,23, 95, 3, 69,38, + 46,52, 33,64, 34,34, 46,37, 70,60, 27,74, 88,95, 99,91, + 90,43, 91,69, 52,83, 42,42, 70,68, 10, 3, 56,25, 85,62, + 81,44, 61, 2, 65,72, 17,81, 50,30, 86,16, 98,64, 46,85, + 26,46, 86,21, 37,78, 55,33, 20,76, 10,49, 61,79, 91,11, + 48, 2, 46,83, 78,34, 36,64, 52,71, 36,60, 23,70, 98,66, + 26,73, 7,36, 80,99, 40,77, 1,44, 57,44, 39,64, 98,98, + 44,90, 81,53, 15,88, 81,83, 84,10, 78,16, 88,75, 60,12, + 50,37, 77,45, 90,71, 78,32, 90, 9, 36,70, 47,27, 84,48, + 76,46, 95,50, 78,92, 16,57, 67,38, 22,73, 40,60, 90,13, + 34,16, 89,95, 57,80, 99,77, 45,33, 99,62, 69, 7, 72,41, + 2,92, 67, 1, 70,52, 49, 1, 55,76, 72,98, 42,61, 4, 2, + 32,74, 67,92, 81,55, 22,64, 99,13, 40,78, 6,82, 24,47, + 67,87, 35,25, 28,66, 99,36, 29,16, 31, 9, 73,58, 13,46, + 5,82, 50,29, 63,16, 26,39, 78,94, 8,35, 26,78, 8,64, + 99,10, 33,21, 13,21, 46,14, 11,19, 92, 2, 79,84, 30,69, + 48,82, 32,61, 67, 5, 12,12, 7,76, 42,33, 52,50, 66,62, + 4,63, 61,86, 74, 5, 72,66, 0,37, 98,68, 1,20, 22,56, + 86,60, 54,34, 90, 1, 41,82, 40,15, 47,77, 27,15, 60,43, + 15,98, 87,55, 19,80, 33,41, 71,19, 13,14, 16, 1, 91,15, + 39,79, 52,78, 52,11, 96,16, 34,45, 85,30, 43,48, 39,22, + 77,49, 9,51, 93,69, 55,82, 82,98, 91,47, 9,74, 6,62, + 5,13, 83,97, 90,36, 42,73, 30,18, 4, 0, 8,80, 9, 7, + 66,16, 49,80, 12,19, 84,70, 35,10, 95,58, 79,29, 93,36, + 58,17, 28,70, 21,86, 67,54, 89,31, 51,40, 62,43, 24,82, + 61,50, 43,10, 45,67, 88,14, 4,47, 27,71, 14,72, 46,11, + 11,87, 80, 7, 40, 2, 8,21, 30,68, 30,53, 54,36, 14,28, + 70,18, 66,96, 59,77, 96,14, 94,63, 12, 1, 86,14, 41,88, + 91,50, 22,11, 52,17, 24,33, 69,24, 90,33, 3,18, 27,98, + 29,74, 1,52, 31,65, 84,34, 8,41, 3, 6, 48,13, 12,65, + 87,72, 89,87, 50,22, 64,55, 63, 6, 32,87, 46,22, 96,94, + 31,64, 67, 7, 14,60, 46,17, 8,54, 69,65, 89,93, 57,46, + 60, 4, 72, 8, 5,30, 50,81, 36,49, 79,96, 27,94, 5,75, + 41,57, 37,16, 76,50, 89,59, 75,27, 8,70, 62,36, 3,57, + 45, 5, 5,79, 40,59, 5,48, 75,35, 88,56, 22,65, 94,66, + 74,54, 17,30, 27,99, 52, 1, 13,95, 23,99, 5,95, 57,45, + 24,44, 4,29, 90,21, 53,94, 54,13, 55,18, 42,95, 95,36, + 9,80, 34, 8, 52, 4, 22,13, 0,41, 73, 5, 85, 0, 12,28, + 22,72, 63,41, 53,98, 94,55, 79,85, 28,67, 41,40, 54,52, + 38,30, 5,16, 35,41, 11, 3, 71,40, 90,90, 35,20, 29,70, + 73,82, 96, 4, 55,20, 96,72, 47,86, 99,96, 32,13, 21,67, + 92,99, 66, 8, 89,58, 15,14, 93,17, 63,50, 52,29, 25,61, + 3,98, 13,10, 89,72, 35,83, 27,37, 63,29, 8, 3, 61,58, + 23,86, 88,11, 5,40, 45,45, 70,69, 39,75, 3,58, 68,19, + 53,77, 1,66, 95,53, 18, 2, 57,38, 37,71, 41,22, 96,29, + 99,53, 83,21, 2,10, 29, 1, 86,18, 54,46, 87,38, 8,59, + 88,70, 57,87, 2,33, 10,88, 2, 5, 79,60, 17,60, 75,25, + 72,46, 26,28, 39,46, 15,45, 13,32, 19, 0, 50,66, 39,27, + 69, 5, 36,34, 83,45, 33,74, 34,65, 84,15, 79,46, 48,95, + 15,96, 52,47, 71,53, 22, 5, 22,30, 88,29, 86,63, 70,81, + 27,68, 89,35, 62,84, 3,81, 99,38, 50,91, 61,41, 26,11, + 47, 9, 16,96, 10,82, 40,56, 97,32, 52,42, 40,20, 89,19, + 18,41, 36,18, 33,80, 99,74, 76,84, 1,64, 93,89, 74,99, + 19,90, 20,52, 73,18, 80,91, 78,19, 22,40, 95,55, 6,91, + 93,13, 30,46, 38,55, 28, 5, 53,19, 49,73, 34,80, 41,13, + 35, 8, 39,67, 76,39, 9,82, 35,11, 64,69, 0,59, 42, 4, + 79,71, 7,40, 55,98, 61,78, 85,49, 66,28, 43,70, 43,74, + 99,17, 89,86, 45,68, 11, 1, 46,88, 56,15, 49,37, 5,80, + 84,30, 61,97, 85,51, 50,76, 79,22, 50,58, 43,66, 8,12, + 8,22, 23,22, 67,14, 9,73, 95,16, 94,16, 48,17, 89,83, + 96,67, 8,67, 99,35, 95,89, 25, 8, 54,60, 50,57, 46,82, + 50,84, 65,78, 40,27, 73,71, 61,96, 52,24, 71,68, 17,78, + 87,27, 78,50, 28,57, 32,77, 10,71, 21,43, 13,50, 3,51, + 63,78, 53,22, 66, 4, 14,14, 27,46, 41,54, 74,12, 89,71, + 34,63, 42,77, 35,48, 78,60, 95,41, 86,15, 28,77, 48,41, + 80,43, 76,57, 17,18, 51,95, 87,34, 98,95, 81,24, 6,80, + 20,34 +}; +const int p_100_18[] = { + /// Number of people on picture + 100, + /// Number of preferences + 713, + /// Array of preferences + 67,78, 3,66, 92,55, 4,78, 49,15, 12,67, 54,93, 17,95, + 70,82, 92,26, 70,35, 55, 1, 1,37, 34,37, 74,97, 5,94, + 89,17, 29,33, 8, 1, 35,81, 77,56, 54,24, 13,20, 70,40, + 87,22, 95,71, 28,63, 60,17, 56,89, 52, 5, 27,22, 79,87, + 65,24, 26,66, 58,99, 30,16, 85,46, 91,92, 89,54, 96,92, + 16,58, 61,10, 81,99, 7,38, 67,62, 5,57, 21,45, 26,32, + 70,30, 13,12, 94,31, 68,43, 42,11, 68,56, 18,51, 5,81, + 78,69, 72,46, 45,45, 40,20, 0,33, 77,97, 94,95, 69, 6, + 9,89, 0,62, 63,26, 83,29, 88,47, 33,43, 84,12, 12,35, + 25,28, 36, 1, 31,48, 24, 8, 49,20, 95,51, 36,40, 42,97, + 94,50, 46, 5, 92,83, 12,32, 49,60, 62,98, 24,78, 66,88, + 81, 3, 47,37, 10,31, 77,48, 9,39, 42,29, 33,70, 65,32, + 18,73, 93,84, 80,66, 8,38, 73,90, 26, 7, 84,61, 1,82, + 0,31, 6,86, 60,18, 65,70, 65, 5, 79,84, 2,35, 97,93, + 1, 9, 40,75, 54,57, 53, 7, 61,90, 43,21, 8,17, 89, 2, + 93,87, 41,95, 5,32, 53,50, 33,65, 74,51, 45,31, 91, 3, + 52,48, 94,11, 28,97, 57,25, 69,80, 97,83, 14,70, 83,13, + 54,60, 5,63, 86,28, 61,61, 30,32, 54,10, 23,97, 96,39, + 45,85, 47,78, 72,41, 6,22, 79,19, 63,13, 29,71, 82,36, + 50,10, 16,99, 1,89, 82,74, 23,98, 80,99, 10,12, 23,13, + 11,93, 10,49, 38, 0, 64,14, 91,88, 49,99, 96,32, 59,18, + 15,26, 87,60, 17,42, 99,12, 48,41, 84,74, 16,54, 88,26, + 16,31, 76,14, 87,73, 73,69, 7,30, 66,82, 68,90, 77,70, + 49,42, 84, 9, 96,54, 40,25, 50,58, 19, 7, 74, 5, 60,35, + 99,47, 5, 1, 37,64, 63,34, 88,95, 81,32, 50,48, 87,76, + 46,71, 32, 0, 41,23, 80,43, 96,24, 80,82, 55,20, 87,51, + 27,52, 19, 5, 26,10, 83,44, 53,43, 81,52, 62,53, 84,15, + 60,93, 37,51, 27,46, 20,10, 89,25, 71,20, 35,68, 62, 1, + 0,15, 15,18, 58,23, 25,43, 48,77, 73,18, 35, 6, 0,52, + 25,24, 75,88, 70,13, 14,74, 57,49, 65,83, 17,92, 76,35, + 41,76, 32,82, 83, 8, 28,37, 80,85, 77,95, 22,29, 52,81, + 1,61, 61,44, 2,78, 25, 9, 88,62, 96,99, 67,35, 21,95, + 73, 4, 84,34, 21,35, 26,55, 98,85, 95,34, 4,61, 71,22, + 8,30, 39,49, 10,75, 44,68, 86,81, 98, 4, 97,75, 25, 6, + 28,48, 14,93, 91, 5, 34,95, 77, 6, 48,17, 62,15, 49,49, + 20,69, 42,72, 98,77, 99,88, 89,63, 7,94, 52, 8, 28,49, + 8,28, 27,72, 38,78, 34,94, 15,59, 42,21, 99,54, 59,65, + 29,48, 31,42, 1,78, 17, 5, 36, 4, 63,36, 69, 5, 92,17, + 77,73, 34, 5, 51,71, 76,29, 83,85, 67,32, 36,84, 79,77, + 65,43, 99,49, 90,18, 81,65, 74,38, 19,41, 36,56, 6,55, + 78,41, 91,43, 48,84, 88,22, 31,95, 73,81, 17,77, 96,70, + 99, 3, 31, 1, 51,88, 77,52, 12,51, 0,92, 81,97, 4,47, + 16,76, 42,20, 24,54, 30,29, 7,32, 90,25, 93,92, 49,35, + 19,43, 10,22, 24,58, 49,65, 6,54, 9,29, 35, 9, 39,91, + 78,64, 28,47, 11,88, 47,67, 86,59, 13,83, 60,12, 6,77, + 78,18, 62,79, 39, 2, 56,98, 86,27, 51,28, 17,98, 24, 4, + 35,66, 29,62, 25,77, 81,36, 48,80, 57,47, 11,38, 44,74, + 10,78, 60,73, 76,68, 84,92, 76,48, 2, 6, 6,80, 9,99, + 26,47, 70,45, 49,64, 42,67, 45,32, 77,20, 44,60, 86,86, + 83,24, 12,30, 91,61, 38, 9, 11,80, 1,35, 71,23, 17,26, + 80,28, 83,46, 61,31, 23,89, 31,18, 96,73, 46,86, 84,81, + 14,51, 11,48, 91,30, 12,88, 12,92, 10,68, 66,71, 38,60, + 50, 2, 1,13, 34,46, 13,19, 24,93, 14,47, 6,92, 20,60, + 81,59, 45,37, 98, 9, 36,57, 82,35, 62,38, 95,95, 6,25, + 6,59, 42,59, 70,19, 38,57, 69,73, 87,70, 18,18, 45,29, + 4,83, 56,77, 24,32, 22,71, 79,82, 24,33, 62,17, 18,72, + 98,31, 42,78, 42,75, 96,85, 90,63, 41,47, 11,61, 80,83, + 56,69, 17,57, 55,25, 21,70, 26, 3, 23,12, 31,88, 70,46, + 39,84, 90,20, 41,14, 20,55, 82,83, 48,68, 49,43, 43,57, + 99,24, 94,92, 84,54, 59,35, 73,65, 76,67, 29,27, 7,34, + 51,22, 79,76, 18,77, 69,40, 70,56, 70,29, 21,14, 6,14, + 0,76, 38,70, 29,12, 71,72, 30,76, 20,29, 66,32, 8,31, + 88,88, 3,69, 40,39, 18,84, 8,65, 25,84, 45,58, 39,87, + 14,39, 34,86, 53,74, 57,44, 75, 9, 40,31, 83,65, 6,13, + 40,36, 77,83, 69,63, 53,94, 99,66, 77,38, 57,10, 31,91, + 57,40, 67, 8, 40,99, 87,16, 93,63, 34, 2, 88,41, 84, 6, + 65,67, 65,85, 10,73, 54,99, 33,20, 58,56, 33,51, 38,92, + 47,91, 69,93, 98,32, 31, 5, 21, 5, 37,75, 27,27, 83,75, + 71,85, 67,99, 42,71, 69,87, 57,61, 16,67, 26,61, 31,97, + 59,90, 78,79, 9,70, 64,67, 71,70, 60,33, 13, 9, 40,18, + 22,84, 43, 9, 26,39, 56,50, 64,10, 64,57, 19,80, 22,74, + 35,94, 44,83, 71,79, 34,74, 13,57, 98,13, 32,89, 56,53, + 34, 7, 3,30, 58,64, 94,93, 24,42, 86,56, 50,99, 59,57, + 39,54, 31,22, 73,89, 73,68, 59,82, 94,41, 65,40, 2,28, + 84,79, 74, 9, 82,48, 97,45, 9,55, 1, 8, 6,90, 36, 0, + 19,35, 25,98, 29, 1, 80,65, 46,73, 75,27, 22,68, 33,55, + 81,12, 33,45, 94, 8, 62,89, 17,35, 39,40, 50,33, 62,83, + 13,31, 72,88, 53,34, 35,98, 8,71, 95,60, 0,19, 62,46, + 39,33, 74, 6, 16,27, 39,12, 27,37, 91,37, 44,67, 62,20, + 69, 2, 7,80, 65,31, 47,56, 76,44, 77,74, 64,51, 77, 9, + 85,35, 77,32, 64,25, 6,65, 88,21, 71, 7, 55,65, 14,31, + 67,34, 43,92, 47,19, 94,94, 86,78, 88,75, 97, 5, 14,53, + 38,97, 41,37, 58,96, 18,69, 16,98, 24,88, 79,99, 39,62, + 55,66, 43,13, 27,78, 44,52, 35,85, 93,42, 95,35, 52, 2, + 63,87, 44,58, 22,49, 36,89, 31,28, 19,22, 74,91, 89,42, + 90,84, 12, 8, 27,40, 34,26, 75,91, 71,27, 81,98, 32,61, + 49,57, 80,20, 38,17, 35, 1, 82,66, 17,76, 48,37, 44,28, + 24,29, 13,41, 50,46, 73,77, 64, 3, 65,91, 8,84, 92, 3, + 3,53, 80,98, 11, 5, 36,78, 52,23, 40,19, 93,10, 82,95, + 89,84 +}; +const int p_100_19[] = { + /// Number of people on picture + 100, + /// Number of preferences + 723, + /// Array of preferences + 50,57, 46,64, 39,24, 7,70, 86, 0, 66,63, 76,86, 52,35, + 71,35, 89,84, 46,19, 47, 2, 71,94, 18,80, 60,94, 99,61, + 38,37, 97, 7, 32,27, 38,67, 48,64, 90,14, 95,68, 94,50, + 9,96, 7,89, 33,26, 76,70, 32,89, 80,12, 13, 6, 72,21, + 15,92, 54,52, 80, 6, 4,66, 64,23, 7,32, 22,48, 69,45, + 75,92, 20,11, 8,69, 78,67, 25,72, 85,45, 20,48, 15,62, + 76,39, 53,82, 60, 1, 70,45, 59,83, 33,57, 74,78, 90,33, + 88,57, 75,60, 70,19, 63,65, 94,40, 52,82, 98,93, 61, 1, + 87,92, 14,53, 88,65, 3,77, 14, 7, 84, 7, 84,42, 59,24, + 30, 3, 6,13, 36,93, 49,46, 51,85, 22, 6, 86,48, 50,17, + 29, 9, 25,94, 34,91, 40,36, 63, 5, 85,84, 18,15, 16,12, + 70,46, 32,76, 44,58, 11,80, 12,71, 85,10, 38, 0, 35,91, + 28, 5, 35,92, 42,82, 12,73, 11,21, 77,12, 60,35, 30,76, + 40,43, 32,94, 27,24, 75,28, 73,74, 64,36, 93,68, 70,73, + 54,97, 35,27, 81,59, 24,47, 86,12, 90,23, 63,77, 96,74, + 48,93, 99, 1, 16,30, 27,51, 4,58, 72,58, 56,98, 13,75, + 46,92, 76,50, 84,89, 68,68, 37,42, 22,15, 40, 9, 26,32, + 37,67, 93,61, 11,77, 90,17, 49,84, 10,76, 54,14, 4,24, + 6,35, 42,30, 63,13, 99,22, 90,91, 62,13, 76,53, 14,16, + 12,87, 40,11, 96,68, 21,29, 7,74, 75,70, 75,53, 54,86, + 41,96, 2,62, 3,97, 14,26, 73,47, 29,65, 18, 0, 40,48, + 38,43, 59,97, 24,43, 50,66, 75, 7, 63,96, 9,71, 53,28, + 26,70, 83,58, 51,22, 71,19, 3, 1, 83,92, 42,22, 30,66, + 92,30, 80,52, 31,67, 18,46, 27, 5, 0,44, 96,48, 59,71, + 72,18, 18,41, 21,82, 24,29, 68,96, 13,33, 71, 5, 2,33, + 14,76, 87,52, 55, 7, 41,55, 99,41, 78,19, 71,59, 22,39, + 93,17, 14,85, 43,27, 12,84, 26,18, 96,84, 2,21, 23,16, + 58,10, 13, 5, 5,79, 83,33, 56,25, 16,38, 11, 6, 9,42, + 42,16, 36,29, 55,47, 17,87, 79,70, 19,90, 21,13, 47,15, + 66,56, 35,59, 80,70, 93,95, 92,51, 17,57, 56,50, 23,99, + 56,86, 82,47, 28,65, 96,21, 89,75, 62,40, 58, 7, 73,89, + 7,46, 89,86, 74,45, 27,21, 32,59, 19, 5, 60,17, 82,60, + 11,25, 73,41, 60,38, 37,58, 6,84, 66,17, 50,59, 2, 4, + 70,26, 4,34, 36, 3, 31,32, 36,51, 63,63, 61,92, 1,66, + 84,83, 14,86, 4,14, 92,91, 49, 5, 4,47, 65,56, 71,82, + 99, 0, 97,19, 19,88, 24,38, 69,52, 97,96, 34,45, 13,72, + 82,93, 69,63, 83,80, 73,66, 93,82, 87,47, 88,29, 2,12, + 31,16, 98,12, 9,47, 78,29, 67,96, 49, 3, 79,53, 58,90, + 11,72, 41,60, 58,51, 2,32, 99,65, 97,65, 1, 3, 85,64, + 84,71, 80,34, 79, 8, 62,11, 98,20, 79,88, 98,91, 43, 5, + 43,23, 24, 4, 70,20, 65,10, 68,12, 41,23, 81,82, 76,97, + 15,33, 40,42, 66,46, 19,39, 80,41, 69,96, 48,52, 36,54, + 68,77, 8,80, 61,59, 37,95, 76,75, 47,46, 78,42, 25,64, + 71,23, 12, 2, 56,70, 65,89, 70,34, 20,10, 13,35, 47, 3, + 47,53, 66,94, 15,18, 98,64, 90,84, 42, 9, 50, 9, 72,44, + 83,34, 1,90, 17,14, 74,72, 5,83, 65,96, 3,73, 2,97, + 67,47, 47,28, 46,65, 39,69, 43,67, 19,78, 68,95, 64,25, + 73,75, 34,70, 0,64, 79,57, 12,44, 65, 3, 60,34, 21, 5, + 85,66, 80,35, 84,55, 80,76, 14,81, 38,62, 94,58, 59,16, + 18, 7, 88,45, 30, 2, 5,85, 52,53, 72,46, 99,63, 48,84, + 40,34, 67,32, 93, 2, 88,47, 76,28, 40,22, 30,42, 40,65, + 30,58, 3,56, 80,92, 67,68, 42,76, 9,65, 45,38, 35,84, + 19,23, 49,29, 46,14, 83,74, 43,10, 5,33, 62,84, 42,51, + 43, 9, 13,25, 48,76, 4,89, 60,98, 67, 8, 79,61, 83,17, + 23,90, 5,29, 57, 9, 54,72, 71,78, 10,81, 10,36, 73,79, + 42,94, 54,59, 71, 2, 81,83, 26, 3, 7,84, 58,32, 42,53, + 13,59, 46,68, 33,93, 34,68, 77,61, 0,46, 51,73, 7,15, + 90,50, 33, 7, 29,93, 14,49, 0,12, 90, 8, 25,71, 99,23, + 27,73, 16,42, 41,22, 16,37, 70,93, 83,44, 83,83, 6,67, + 12, 5, 92,50, 65, 8, 18,64, 57,79, 43,91, 71,60, 28,17, + 35,18, 40,84, 38,59, 60,24, 85,29, 23,61, 27,44, 87,89, + 26,16, 31,13, 67,88, 9,15, 66, 7, 47,90, 52, 5, 7,99, + 53,88, 15,93, 99,82, 80,97, 34,31, 16,84, 2,24, 80,11, + 94,80, 79,25, 93,99, 39,86, 11, 3, 2,51, 0,98, 57,27, + 22,76, 6,71, 24,10, 84,98, 9,28, 77,46, 53,38, 1, 5, + 29,59, 75,85, 82,63, 68,56, 4,94, 38,22, 64,48, 7, 3, + 40, 0, 55,32, 73,64, 28,77, 23,54, 95,99, 97,13, 71,53, + 91,81, 53,10, 47,97, 99,39, 84,15, 13,79, 90,76, 2,64, + 53,22, 18,43, 48,58, 64,89, 49,41, 80,80, 18,16, 19,10, + 9, 5, 70,13, 89,59, 86, 5, 65,71, 73,16, 58, 3, 36,49, + 27,26, 75,74, 23,85, 80,87, 4,41, 55,81, 12,24, 14,95, + 98,72, 44,93, 99,50, 34, 0, 20,20, 87, 3, 40,79, 87,80, + 51,68, 95,55, 86,85, 71, 3, 59,18, 9,21, 82,48, 33,13, + 52,52, 73,44, 84,22, 17,26, 49,72, 54,13, 95,12, 10,73, + 78,11, 49,39, 99,54, 83,14, 14,79, 31,50, 85,97, 5,78, + 59,70, 21,99, 3,60, 89,40, 74,25, 24,85, 75, 6, 55,93, + 4,12, 12,56, 11,16, 35,24, 3, 5, 26,60, 96,55, 4,23, + 80,63, 64,34, 65,59, 84,67, 86,51, 15,21, 65,13, 4,36, + 11,74, 76,95, 98,38, 49,66, 25,97, 42,26, 55,48, 69,87, + 60,88, 0,51, 76,91, 86,46, 86,57, 11,14, 58,52, 51,80, + 28,92, 69,62, 55,20, 33,21, 51,18, 89, 9, 62,15, 64,20, + 20,61, 45,55, 6,29, 97,73, 57,29, 91,27, 94,18, 98, 3, + 38,50, 3,95, 57,52, 97,90, 67,52, 40,32, 81,70, 79,42, + 1,58, 91,18, 47,78, 14,93, 71,64, 84,86, 59,56, 39,85, + 66,53, 2, 3, 18,26, 22,75, 87,23, 31,68, 23,94, 80,75, + 84,45, 97,40, 63, 1, 95,19, 32,39, 85, 1, 73,26, 77,96, + 14, 5, 30,43, 3,80, 18,68, 34,74, 36,38, 28,71, 16,53, + 19,83, 81,25, 65,36, 82,83, 98,73, 98, 1, 34,75, 35,79, + 52,87, 49,12, 53, 1, 50,95, 36, 6, 25,74, 73,93, 49,74, + 94,24, 51,82, 38,84, 99,51, 43,41, 48,46, 45,30, 9,53, + 98,87, 28,75, 69,27 +}; + +const int* pi[] = { + &small[0], &large[0], + &p_10_0[0], &p_10_1[0], &p_10_2[0], &p_10_3[0], &p_10_4[0], + &p_10_5[0], &p_10_6[0], &p_10_7[0], &p_10_8[0], &p_10_9[0], + &p_10_10[0], &p_10_11[0], &p_10_12[0], &p_10_13[0], &p_10_14[0], + &p_10_15[0], &p_10_16[0], &p_10_17[0], &p_10_18[0], &p_10_19[0], + &p_20_0[0], &p_20_1[0], &p_20_2[0], &p_20_3[0], &p_20_4[0], + &p_20_5[0], &p_20_6[0], &p_20_7[0], &p_20_8[0], &p_20_9[0], + &p_20_10[0], &p_20_11[0], &p_20_12[0], &p_20_13[0], &p_20_14[0], + &p_20_15[0], &p_20_16[0], &p_20_17[0], &p_20_18[0], &p_20_19[0], + &p_30_0[0], &p_30_1[0], &p_30_2[0], &p_30_3[0], &p_30_4[0], + &p_30_5[0], &p_30_6[0], &p_30_7[0], &p_30_8[0], &p_30_9[0], + &p_30_10[0], &p_30_11[0], &p_30_12[0], &p_30_13[0], &p_30_14[0], + &p_30_15[0], &p_30_16[0], &p_30_17[0], &p_30_18[0], &p_30_19[0], + &p_40_0[0], &p_40_1[0], &p_40_2[0], &p_40_3[0], &p_40_4[0], + &p_40_5[0], &p_40_6[0], &p_40_7[0], &p_40_8[0], &p_40_9[0], + &p_40_10[0], &p_40_11[0], &p_40_12[0], &p_40_13[0], &p_40_14[0], + &p_40_15[0], &p_40_16[0], &p_40_17[0], &p_40_18[0], &p_40_19[0], + &p_50_0[0], &p_50_1[0], &p_50_2[0], &p_50_3[0], &p_50_4[0], + &p_50_5[0], &p_50_6[0], &p_50_7[0], &p_50_8[0], &p_50_9[0], + &p_50_10[0], &p_50_11[0], &p_50_12[0], &p_50_13[0], &p_50_14[0], + &p_50_15[0], &p_50_16[0], &p_50_17[0], &p_50_18[0], &p_50_19[0], + &p_60_0[0], &p_60_1[0], &p_60_2[0], &p_60_3[0], &p_60_4[0], + &p_60_5[0], &p_60_6[0], &p_60_7[0], &p_60_8[0], &p_60_9[0], + &p_60_10[0], &p_60_11[0], &p_60_12[0], &p_60_13[0], &p_60_14[0], + &p_60_15[0], &p_60_16[0], &p_60_17[0], &p_60_18[0], &p_60_19[0], + &p_70_0[0], &p_70_1[0], &p_70_2[0], &p_70_3[0], &p_70_4[0], + &p_70_5[0], &p_70_6[0], &p_70_7[0], &p_70_8[0], &p_70_9[0], + &p_70_10[0], &p_70_11[0], &p_70_12[0], &p_70_13[0], &p_70_14[0], + &p_70_15[0], &p_70_16[0], &p_70_17[0], &p_70_18[0], &p_70_19[0], + &p_80_0[0], &p_80_1[0], &p_80_2[0], &p_80_3[0], &p_80_4[0], + &p_80_5[0], &p_80_6[0], &p_80_7[0], &p_80_8[0], &p_80_9[0], + &p_80_10[0], &p_80_11[0], &p_80_12[0], &p_80_13[0], &p_80_14[0], + &p_80_15[0], &p_80_16[0], &p_80_17[0], &p_80_18[0], &p_80_19[0], + &p_90_0[0], &p_90_1[0], &p_90_2[0], &p_90_3[0], &p_90_4[0], + &p_90_5[0], &p_90_6[0], &p_90_7[0], &p_90_8[0], &p_90_9[0], + &p_90_10[0], &p_90_11[0], &p_90_12[0], &p_90_13[0], &p_90_14[0], + &p_90_15[0], &p_90_16[0], &p_90_17[0], &p_90_18[0], &p_90_19[0], + &p_100_0[0], &p_100_1[0], &p_100_2[0], &p_100_3[0], &p_100_4[0], + &p_100_5[0], &p_100_6[0], &p_100_7[0], &p_100_8[0], &p_100_9[0], + &p_100_10[0], &p_100_11[0], &p_100_12[0], &p_100_13[0], &p_100_14[0], + &p_100_15[0], &p_100_16[0], &p_100_17[0], &p_100_18[0], &p_100_19[0] +}; + +const int n_pi = sizeof(pi) / sizeof(int*); + +// STATISTICS: example-any diff --git a/examples/qcp.cpp b/examples/qcp.cpp index 156933391e..9fd2d644f3 100755 --- a/examples/qcp.cpp +++ b/examples/qcp.cpp @@ -45,7 +45,21 @@ using namespace Gecode; /// Instance data namespace { - + /// Number of random seeds + static const int n_seeds = 32; + /// Random seeds (generated by hardware random generator) + static const unsigned int seeds[n_seeds] = { + 4156683608, 97006981, 1375463525, 841714419, + 715462902, 2418870981, 1624092856, 123015042, + 2456879733, 1964065250, 2622145091, 3852245775, + 205913142, 1921802200, 3118573517, 315803625, + 1823610061, 3329660933, 3706705607, 2648334003, + 424666975, 1774959171, 4178564660, 52701009, + 2475642041, 2171371390, 1476278023, 2270518404, + 2981774515, 910724046, 92053990, 1980563460 + }; + + /// %Options for %QCP problems class QCPOptions : public InstanceOptions { protected: @@ -59,11 +73,11 @@ namespace { // Add options add(_tbf); } - /// Return tie-breaking limit - double tbf(void) const { - return _tbf.value(); + /// Return tie-breaking factor + double tbf(void) const { + return _tbf.value(); } - /// Set tie-breaking limit + /// Set tie-breaking factor void tbf(double d) { _tbf.value(d); } @@ -127,6 +141,8 @@ namespace { */ class QCP : public Script { protected: + /// Options + const QCPOptions& opt; /// Specification const Spec spec; /// Field elements e @@ -145,11 +161,10 @@ class QCP : public Script { BRANCH_AFC_SIZE, ///< Use largest AFC divided by domain size }; /// Actual model - QCP(const QCPOptions& opt) - : Script(opt), - spec(opt.instance()), - e(*this, spec.size() * spec.size(), 0, spec.size()-1), - tbf(opt.tbf()) { + QCP(const QCPOptions& opt0) + : Script(opt0), + opt(opt0), spec(opt.instance()), + e(*this, spec.size() * spec.size(), 0, spec.size()-1) { // Problem size int n = spec.size(); // Matrix for elements @@ -173,30 +188,14 @@ class QCP : public Script { break; case PROP_DISTINCT: for (int i=0; i 0.0) { - Rnd r(opt.seed()); - switch (opt.branching()) { - case BRANCH_SIZE: - branch(*this, e, tiebreak(INT_VAR_SIZE_MIN(&tbl_min), - INT_VAR_RND(r)), - INT_VAL_MIN()); - break; - case BRANCH_AFC_SIZE: - { - IntAFC afc(*this, e, opt.decay()); - branch(*this, e, tiebreak(INT_VAR_AFC_SIZE_MAX(afc, &tbl_max), - INT_VAR_RND(r)), - INT_VAL_MIN()); - break; - } - } - } else { + if (opt.assets() == 0) { + // Post branchers directly, as no portfolio search requested switch (opt.branching()) { case BRANCH_SIZE: branch(*this, e, INT_VAR_SIZE_MIN(), INT_VAL_MIN()); @@ -210,7 +209,7 @@ class QCP : public Script { /// Tie-breaking minimum limit function double _tbl_min(double w, double b) const { assert(w >= b); - return b + (w - b) * tbf; + return b + (w - b) * opt.tbf(); } /// Tie-breaking minimum limit function static double tbl_min(const Space& home, double w, double b) { @@ -219,15 +218,37 @@ class QCP : public Script { /// Tie-breaking maximum limit function double _tbl_max(double w, double b) const { assert(b >= w); - return b - (b - w) * tbf; + return b - (b - w) * opt.tbf(); } /// Tie-breaking maximum limit function static double tbl_max(const Space& home, double w, double b) { return static_cast(home)._tbl_max(w,b); } + /// Slave function for portfolio search + virtual bool slave(const MetaInfo& mi) { + if (mi.type() == MetaInfo::PORTFOLIO) { + Rnd r(seeds[mi.asset() % n_seeds]); + switch (opt.branching()) { + case BRANCH_SIZE: + branch(*this, e, tiebreak(INT_VAR_SIZE_MIN(&tbl_min), + INT_VAR_RND(r)), + INT_VAL_MIN()); + break; + case BRANCH_AFC_SIZE: + { + IntAFC afc(*this, e, opt.decay()); + branch(*this, e, tiebreak(INT_VAR_AFC_SIZE_MAX(afc, &tbl_max), + INT_VAR_RND(r)), + INT_VAL_MIN()); + break; + } + } + } + return true; + } /// Constructor for cloning \a s - QCP(bool share, QCP& s) - : Script(share,s), spec(s.spec), tbf(s.tbf) { + QCP(bool share, QCP& s) + : Script(share,s), opt(s.opt), spec(s.spec) { e.update(*this, share, s.e); } /// Copy during cloning @@ -2523,54 +2544,54 @@ namespace { const int* qcp[] = { - &d10_67_0[0], &d10_67_1[0], &d10_67_2[0], &d10_67_3[0], &d10_67_4[0], - &d10_67_5[0], &d10_67_6[0], &d10_67_7[0], &d10_67_8[0], &d10_67_9[0], - &d10_67_10[0], &d10_67_11[0], &d10_67_12[0], &d10_67_13[0], &d10_67_14[0], + &d10_67_0[0], &d10_67_1[0], &d10_67_2[0], &d10_67_3[0], &d10_67_4[0], + &d10_67_5[0], &d10_67_6[0], &d10_67_7[0], &d10_67_8[0], &d10_67_9[0], + &d10_67_10[0], &d10_67_11[0], &d10_67_12[0], &d10_67_13[0], &d10_67_14[0], - &d15_120_0[0], &d15_120_1[0], &d15_120_2[0], &d15_120_3[0], &d15_120_4[0], - &d15_120_5[0], &d15_120_6[0], &d15_120_7[0], &d15_120_8[0], &d15_120_9[0], - &d15_120_10[0], &d15_120_11[0], &d15_120_12[0], &d15_120_13[0], &d15_120_14[0], + &d15_120_0[0], &d15_120_1[0], &d15_120_2[0], &d15_120_3[0], &d15_120_4[0], + &d15_120_5[0], &d15_120_6[0], &d15_120_7[0], &d15_120_8[0], &d15_120_9[0], + &d15_120_10[0], &d15_120_11[0], &d15_120_12[0], &d15_120_13[0], &d15_120_14[0], &d20_187_0[0], &d20_187_1[0], &d20_187_2[0], &d20_187_3[0], &d20_187_4[0], &d20_187_5[0], &d20_187_6[0], &d20_187_7[0], &d20_187_8[0], &d20_187_9[0], &d20_187_10[0], &d20_187_11[0], &d20_187_12[0], &d20_187_13[0], &d20_187_14[0], - &d25_264_0[0], &d25_264_1[0], &d25_264_2[0], &d25_264_3[0], &d25_264_4[0], + &d25_264_0[0], &d25_264_1[0], &d25_264_2[0], &d25_264_3[0], &d25_264_4[0], &d25_264_5[0], &d25_264_6[0], &d25_264_7[0], &d25_264_8[0], &d25_264_9[0], &d25_264_10[0], &d25_264_11[0], &d25_264_12[0], &d25_264_13[0], &d25_264_14[0], - &d30_316[0], &d30_320[0], - &d33_381[0], - &d35_405[0], - &d40_528[0], &d40_544[0], &d40_560[0], - &d50_750_bal[0], &d50_825_bal[0], - &d60_1080_bal[0], &d60_1152_bal[0], &d60_1440[0], &d60_1620[0], + &d30_316[0], &d30_320[0], + &d33_381[0], + &d35_405[0], + &d40_528[0], &d40_544[0], &d40_560[0], + &d50_750_bal[0], &d50_825_bal[0], + &d60_1080_bal[0], &d60_1152_bal[0], &d60_1440[0], &d60_1620[0], &d70_2450[0], &d70_2940[0] }; const char* name[] = { - "10-67-0", "10-67-1", "10-67-2", "10-67-3", "10-67-4", - "10-67-5", "10-67-6", "10-67-7", "10-67-8", "10-67-9", - "10-67-10", "10-67-11", "10-67-12", "10-67-13", "10-67-14", + "10-67-0", "10-67-1", "10-67-2", "10-67-3", "10-67-4", + "10-67-5", "10-67-6", "10-67-7", "10-67-8", "10-67-9", + "10-67-10", "10-67-11", "10-67-12", "10-67-13", "10-67-14", - "15-120-0", "15-120-1", "15-120-2", "15-120-3", "15-120-4", - "15-120-5", "15-120-6", "15-120-7", "15-120-8", "15-120-9", - "15-120-10", "15-120-11", "15-120-12", "15-120-13", "15-120-14", + "15-120-0", "15-120-1", "15-120-2", "15-120-3", "15-120-4", + "15-120-5", "15-120-6", "15-120-7", "15-120-8", "15-120-9", + "15-120-10", "15-120-11", "15-120-12", "15-120-13", "15-120-14", - "20-187-0", "20-187-1", "20-187-2", "20-187-3", "20-187-4", + "20-187-0", "20-187-1", "20-187-2", "20-187-3", "20-187-4", "20-187-5", "20-187-6", "20-187-7", "20-187-8", "20-187-9", - "20-187-10", "20-187-11", "20-187-12", "20-187-13", "20-187-14", - - "25-264-0", "25-264-1", "25-264-2", "25-264-3", "25-264-4", - "25-264-5", "25-264-6", "25-264-7", "25-264-8", "25-264-9", - "25-264-10", "25-264-11", "25-264-12", "25-264-13", "25-264-14", - - "30-316", "30-320", - "33-381", - "35-405", - "40-528", "40-544", "40-560", - "50-750-bal", "50-825-bal", - "60-1080-bal", "60-1152-bal", "60-1440", "60-1620", + "20-187-10", "20-187-11", "20-187-12", "20-187-13", "20-187-14", + + "25-264-0", "25-264-1", "25-264-2", "25-264-3", "25-264-4", + "25-264-5", "25-264-6", "25-264-7", "25-264-8", "25-264-9", + "25-264-10", "25-264-11", "25-264-12", "25-264-13", "25-264-14", + + "30-316", "30-320", + "33-381", + "35-405", + "40-528", "40-544", "40-560", + "50-750-bal", "50-825-bal", + "60-1080-bal", "60-1152-bal", "60-1440", "60-1620", "70-2450", "70-2940", NULL }; diff --git a/examples/queen-armies.cpp b/examples/queen-armies.cpp index 0b7ab84b23..d581d1d930 100644 --- a/examples/queen-armies.cpp +++ b/examples/queen-armies.cpp @@ -170,7 +170,7 @@ class QueenArmies : public IntMaximizeScript { int pos; /// Value of variable bool val; - /** Initialize choice for brancher \a b, position \a pos0, + /** Initialize choice for brancher \a b, position \a pos0, * and value \a val0. */ Choice(const Brancher& b, int pos0, bool val0) @@ -245,7 +245,7 @@ class QueenArmies : public IntMaximizeScript { : ES_OK; } /// Print explanation - virtual void print(const Space&, const Gecode::Choice& _c, + virtual void print(const Space&, const Gecode::Choice& _c, unsigned int a, std::ostream& o) const { const Choice& c = static_cast(_c); @@ -257,8 +257,8 @@ class QueenArmies : public IntMaximizeScript { return new (home) QueenBranch(home, share, *this); } /// Post brancher - static BrancherHandle post(QueenArmies& home) { - return *new (home) QueenBranch(home); + static void post(QueenArmies& home) { + (void) new (home) QueenBranch(home); } /// Delete brancher and return its size virtual size_t dispose(Space&) { diff --git a/examples/queens.cpp b/examples/queens.cpp index 8101cd2b29..b5a66d6901 100644 --- a/examples/queens.cpp +++ b/examples/queens.cpp @@ -86,12 +86,12 @@ class Queens : public Script { rel(*this, q[i]+i != q[j]+j); rel(*this, q[i]-i != q[j]-j); } - distinct(*this, q, opt.icl()); + distinct(*this, q, opt.ipl()); break; case PROP_DISTINCT: - distinct(*this, IntArgs::create(n,0,1), q, opt.icl()); - distinct(*this, IntArgs::create(n,0,-1), q, opt.icl()); - distinct(*this, q, opt.icl()); + distinct(*this, IntArgs::create(n,0,1), q, opt.ipl()); + distinct(*this, IntArgs::create(n,0,-1), q, opt.ipl()); + distinct(*this, q, opt.ipl()); break; } branch(*this, q, INT_VAR_SIZE_MIN(), INT_VAL_MIN()); @@ -137,7 +137,7 @@ class QueensInspector : public Gist::Inspector { /// Inspect space \a s virtual void inspect(const Space& s) { const Queens& q = static_cast(s); - + if (!scene) initialize(); QList itemList = scene->items(); @@ -155,11 +155,11 @@ class QueensInspector : public Gist::Inspector { for (IntVarValues xv(q.q[i]); xv(); ++xv) { scene->addEllipse(QRectF(i*unit+unit/4,xv.val()*unit+unit/4, unit/2,unit/2), p, b); - } + } } - mw->show(); + mw->show(); } - + /// Set up main window void initialize(void) { mw = new QMainWindow(); @@ -175,7 +175,7 @@ class QueensInspector : public Gist::Inspector { mw, SLOT(close())); mw->addAction(closeWindow); } - + /// Name of the inspector virtual std::string name(void) { return "Board"; } /// Finalize inspector diff --git a/examples/radiotherapy.cpp b/examples/radiotherapy.cpp index be44766d8e..f5e406d742 100644 --- a/examples/radiotherapy.cpp +++ b/examples/radiotherapy.cpp @@ -103,7 +103,7 @@ class Radiotherapy : public IntMinimizeScript { private: /// Instance data const RadiotherapyData rd; - + /// Total beam-on time IntVar beamtime; /// Number of shape matrices @@ -132,16 +132,16 @@ class Radiotherapy : public IntMinimizeScript { coeffs[i] = i+1; linear(*this, coeffs, N, IRT_EQ, beamtime); linear(*this, N, IRT_EQ, K); - + for (int i=0; i(rt.clone()); // Branch over row i - branch(*row, getRow(row, index[i].idx), + branch(*row, getRow(row, index[i].idx), INT_VAR_NONE(), INT_VAL_SPLIT_MIN()); Search::Options o; o.clone = false; if (Radiotherapy* newSol = dfs(row, o) ) { @@ -302,7 +302,7 @@ class Radiotherapy : public IntMinimizeScript { if (i && index[i] < index[i-1]) std::swap(index[i], index[i-1]); break; - } + } } return new Choice(*this, fail); @@ -317,7 +317,7 @@ class Radiotherapy : public IntMinimizeScript { return static_cast(_c).fail ? ES_FAILED : ES_OK; } /// Print explanation - virtual void print(const Space&, const Gecode::Choice& _c, + virtual void print(const Space&, const Gecode::Choice& _c, unsigned int, std::ostream& o) const { const Choice& c = static_cast(_c); @@ -328,8 +328,8 @@ class Radiotherapy : public IntMinimizeScript { return new (home) NestedSearch(home, share, *this); } /// Post brancher - static BrancherHandle post(Home home) { - return *new (home) NestedSearch(home); + static void post(Home home) { + (void) new (home) NestedSearch(home); } /// Dispose member function size_t dispose(Space& home) { @@ -370,11 +370,11 @@ main(int argc, char* argv[]) { namespace { /** \brief Radiotherapy specifications. - * + * * \relates Radiotherapy */ //@{ - + // Small instance static const int intensity0[] = { 7, 2, 14, 8, 9, @@ -406,7 +406,7 @@ namespace { RadiotherapyData rd1(15,15,intensity1); /* - * The following 25 clinical instances were provided by + * The following 25 clinical instances were provided by * - James F. Dempsey, ViewRay, Inc. * - H. Edwin Romeijn, Department of Industrial and Operations * Engineering, The University of Michigan @@ -416,7 +416,7 @@ namespace { * Engineering, University of Florida * - Chunhua Men, Department of Industrial and Systems Engineering, * University of Florida - * They are from the articles + * They are from the artiples * - "Mixed-Integer Programming Techniques for Decomposing IMRT * Fluence Maps Using Rectangular Apertures", Z. Caner Taskin, * J. Cole Smith, H. Edwin Romeijn @@ -919,7 +919,7 @@ namespace { //@} /// Radiotherapy instances - RadiotherapyData rds[] = {rd0, rd1, + RadiotherapyData rds[] = {rd0, rd1, case1_beam1, case1_beam2, case1_beam3, diff --git a/examples/sat.cpp b/examples/sat.cpp index 23d2fb17ad..b3558049a6 100644 --- a/examples/sat.cpp +++ b/examples/sat.cpp @@ -118,7 +118,7 @@ class Sat : public Script { BoolVarArray x; public: /// The actual problem - Sat(const SatOptions& opt) + Sat(const SatOptions& opt) : Script(opt) { parseDIMACS(opt.filename.c_str()); branch(*this, x, INT_VAR_NONE(), INT_VAL_MIN()); diff --git a/examples/schurs-lemma.cpp b/examples/schurs-lemma.cpp index 0069345842..3edd8f414b 100644 --- a/examples/schurs-lemma.cpp +++ b/examples/schurs-lemma.cpp @@ -73,9 +73,9 @@ class SchurOptions : public Options { /** * \brief %Example: Schur's lemma * - * Put \f$n\f$ balls labeled \f${1,\ldots,n}\f$ into \f$c\f$ boxes such + * Put \f$n\f$ balls labeled \f${1,\ldots,n}\f$ into \f$c\f$ boxes such * that for any triple of balls \f$\langle x, y, z\rangle\f$ with - * \f$x+y = z\f$, not all are in the same box. + * \f$x+y = z\f$, not all are in the same box. * * This problem has a solution for \f$c=3\f$ if \f$n < 14\f$. * @@ -90,7 +90,7 @@ class Schur : public Script { IntVarArray box; public: /// Actual model - Schur(const SchurOptions& opt) + Schur(const SchurOptions& opt) : Script(opt), box(*this,opt.n,1,opt.c) { int n = opt.n; diff --git a/examples/scowl.hpp b/examples/scowl.hpp index 342f167170..e752c2f706 100644 --- a/examples/scowl.hpp +++ b/examples/scowl.hpp @@ -13447,7 +13447,7 @@ namespace { /// Number of words per given length const int n_words[] = { - 1, 26, 66, 633, 2443, 4763, 7585, 10380, 10974, 9724, 7704, 5313, + 1, 26, 66, 633, 2443, 4763, 7585, 10380, 10974, 9724, 7704, 5313, 3361, 1905, 849, 405, 162, 67, 24, 9, 3, 2, 2 }; @@ -13463,8 +13463,8 @@ namespace { inline -FileSizeOptions::FileSizeOptions(const char* s) - : Gecode::SizeOptions(s), +FileSizeOptions::FileSizeOptions(const char* s) + : Gecode::SizeOptions(s), _file("-file","file name of dictionary") { add(_file); } @@ -13515,14 +13515,14 @@ Dictionary::init(const char* fn) { // Set up information max_len = 0; n_all_words = 0; - + size_t sz = 0; { std::string s; std::ifstream f; f.open(fn); - + if (!f.is_open()) throw Gecode::Exception("Dictionary", "Unable to open file"); @@ -13559,7 +13559,7 @@ Dictionary::init(const char* fn) { std::string s; std::ifstream f; f.open(fn); - + if (!f.is_open()) throw Gecode::Exception("Dictionary", "Unable to open file"); @@ -13630,46 +13630,46 @@ Dictionary::~Dictionary(void) { // STATISTICS: example-ignore -/* +/* * The original SCOWL README: * * Spell Checking Oriented Word Lists (SCOWL) * Revision 6 * August 10, 2004 * by Kevin Atkinson - * + * * The SCOWL is a collection of word lists split up in various sizes, and * other categories, intended to be suitable for use in spell checkers. * However, I am sure it will have numerous other uses as well. - * + * * The latest version can be found at http://wordlist.sourceforge.net/ - * + * * The directory final/ contains the actual word lists broken up into * various sizes and categories. The r/ directory contains Readmes from * the various sources used to create this package. - * + * * The other directories contain the necessary information to recreate the * word lists from the raw data. Unless you are interested in improving the * words lists you should not need to worry about what's here. See the * section on recreating the words lists for more information on what's * there. - * + * * Except for the special word lists the files follow the following * naming convention: * -. * Where the spelling category is one of - * english, american, british, british_z, canadian, + * english, american, british, british_z, canadian, * variant_0, varaint_1, variant_2 * Classification is one of * abbreviations, contractions, proper-names, upper, words * And size is one of - * 10, 20, 35 (small), 40, 50 (medium), 55, 60, 70 (large), + * 10, 20, 35 (small), 40, 50 (medium), 55, 60, 70 (large), * 80 (huge), 95 (insane) * The special word lists follow are in the following format: * special-. * Where description is one of: * roman-numerals, hacker - * + * * When combining the words lists the "english" spelling category should * be used as well as one of "american", "british", "british_z" (british * with ize spelling), or "canadian". Great care has been taken so that @@ -13682,76 +13682,76 @@ Dictionary::~Dictionary(void) { * "variant_1" spelling category include variants which are also * generally considered acceptable, and "variant_2" contains variants * which are seldom used. - * + * * The "abbreviation" category includes abbreviations and acronyms which * are not also normal words. The "contractions" category should be self * explanatory. The "upper" category includes upper case words and proper * names which are common enough to appear in a typical dictionary. The * "proper-names" category included all the additional uppercase words. * Final the "words" category contains all the normal English words. - * + * * To give you an idea of what the words in the various sizes look like * here is a sample of 25 random words found only in that size: - * + * * 10: began both buffer cause collection content documenting easiest * equally examines expecting first firstly hence inclining * irrelevant justified little logs necessarily ought sadly six * thing visible - * + * * 20: chunks commodity contempt contexts cruelty crush dictatorship * disgusted dose elementary evolved frog god hordes notion overdraft * overlong overlook phoning poster recordings sand skull substituted * throughput - * + * * 35: aliasing blackouts blowout bluntness corroborated derrick * dredging elopements entrancing excising fellowship flagpole * germination glimpse gondola guidebook madams minimalism minnows * partisans petitions shelling swarmed throng welding - * + * * 40: altercation blender castigation chump coffeehouse determiners * doggoning exhibitor finders flophouse gazebo lumbering masochism * mopeds poetically pubic refinance reggae scragglier softhearted * stubbornness teargassed township underclassman whoosh - * + * * 50: accumulative adulterant allegorically amorousness astrophysics * camphor coif dickey elusiveness enviousness fakers fetishistic * flippantly headsets liefs midyears myna pacification persiflage * phosphoric pinhole sappy seres unrealistically unworldly - * + * * 55: becquerel brickie centralist cine conveyancing courgette * disarmingly garçon gobstopper infilling insipidity * internationalist kabuki lyrebirds obscurantism rejigged * revisionist satsuma slapper sozzled sublieutenants teletext vino * wellness wracking - * + * * 60: absorber acceptableness adventurousness antifascists arrhythmia * audiology cartage cruses fontanel forelimbs granter hairlike * installers jugglery lappets libbers mandrels micrometeorite * mineshaft reconsecrates saccharides smellable spavined sud timbrel - * + * * 70: atomisms benedict carven coxa cyanite detraining diazonium * dogberry dogmatics entresol fatherlessnesses firestone imprecator * laterality legitimisms maxwell microfloppies nonteaching pelerine * pentane pestiferousness piscator profascist tusche twirp - * + * * 80: cotransfers embrangled forkednesses giftwrapped globosity hatpegs * hepsters hermitess interspecific inurbanities lamiae * literaehumaniores literatures masulas misbegun plook prerupt * quaalude rosanilin sabbatism scowder subreptive thumbstalls * understrata yakows - * + * * 95: anatropal anientise bakshi brouzes corsie daimiote dhaw dislikened * ectoretina fortuitisms guardeen hyperlithuria nonanachronistic * overacceleration pamphletic parma phytolith starvedly * trophoplasmic ulorrhagia undared undertide unplunderously * unworkmanly vasoepididymostomy - * + * * And here is a rough count on the number of words in the "english" * spelling category for each size: - * - * Size Words Proper Names Running Total - * - * 10 5,000 5,000 + * + * Size Words Proper Names Running Total + * + * 10 5,000 5,000 * 20 8,700 14,000 * 35 34,500 200 48,000 * 40 6,000 500 55,000 @@ -13761,9 +13761,9 @@ Dictionary::~Dictionary(void) { * 70 45,100 34,300 211,000 * 80 137,000 30,400 379,000 * 95 198,000 51,800 628,000 - * + * * (The "Words" column does not include the proper name count.) - * + * * Size 35 is the recommended small size, 50 the medium and 70 the large. * Sizes 70 and below contain words found in most dictionaries while the * 80 size contains all the strange and unusual words people like to use @@ -13777,101 +13777,101 @@ Dictionary::~Dictionary(void) { * of similar more commonly used words. For example the word "ort" can * hide a common typo of "or". No one should need to use a size larger * than 80, the 95 size is labeled insane for a reason. - * + * * Accents are present on certain words such as café in iso8859-1 format. - * + * * CHANGES: - * + * * From Revision 5 to 6 (August 10, 2004) - * + * * Updated to version 4.0 of the 12dicts package. - * + * * Included the 3esl, 2of4brif, and 5desk list from the new 12dicts * package. The 3esl was included in the 40 size, the 2of4brif in the * 55 size and the 5desk in the 70 size. - * + * * Removed the Ispell word list as it was a source of too many errors. * This eliminated the 65 size. - * + * * Removed clause 4 from the Ispell copyright with permission of Geoff * Kuenning. - * + * * Updated to version 4.1 of VarCon. - * + * * Added the "british_z" spelling category which it British using the * "ize" spelling. - * + * * From Revision 4a to 5 (January 3, 2002) - * + * * Added variants that were not really spelling variants (such as * forwards) back into the main list. - * + * * Fixed a bug which caused variants of words to incorrectly appear in * the non-variant lists. - * + * * Moved rarly used inflections of a word into higher number lists. - * + * * Added other inflections of a words based on the following criteria * If the word is in the base form: only include that word. * If the word is in a plural form: include the base word and the plural * If the word is a verb form (other than plural): include all verb forms * If the word is an ad* form: include all ad* forms * If the word is in a possessive form: also include the non-possessive - * + * * Updated to the latest version of many of the source dictionaries. - * + * * Removed the DEC Word List due to the questionable licence and * because removing it will not seriously decrese the quality of SCOWL - * (there are a few less proper names). - * + * (there are a few less proper names). + * * From Revision 4 to 4a (April 4, 2001) - * + * * Reran the scripts on a never version of AGID (3a) which fixes a bug * which caused some common words to be improperly marked as variants. - * + * * From Revision 3 to 4 (January 28, 2001) - * + * * Split the variant "spelling category" up into 3 different levels. - * + * * Added words in the Ispell word list at the 65 level. - * + * * Other changes due to using more recent versions of various sources * included a more accurete version of AGID thanks to the word of * Alan Beale - * + * * From Revision 2 to 3 (August 18, 2000) - * + * * Renamed special-unix-terms to special-hacker and added a large * number of communly used words within the hacker (not cracker) * community. - * + * * Added a couple more signature words including "newbie". - * + * * Minor changes due to changes in the inflection database. - * + * * From Revision 1 to 2 (August 5, 2000) - * + * * Moved the male and female name lists from the mwords package and the * DEC name lists form the 50 level to the 60 level and moved Alan's * name list from the 60 level to the 50 level. Also added the top * 1000 male, female, and last names from the 1990 Census report to the * 50 level. This reduced the number of names in the 50 level from * 17,000 to 7,000. - * + * * Added a large number of Uppercase words to the 50 level. - * + * * Properly accented the possessive form of some words. - * + * * Minor other changes due to changes in my raw data files which have * not been released yet. Email if you are interested in these files. - * + * * COPYRIGHT, SOURCES, and CREDITS: - * + * * The collective work is Copyright 2000-2004 by Kevin Atkinson as well * as any of the copyrights mentioned below: - * + * * Copyright 2000-2004 by Kevin Atkinson - * + * * Permission to use, copy, modify, distribute and sell these word * lists, the associated scripts, the output created from the scripts, * and its documentation for any purpose is hereby granted without fee, @@ -13880,78 +13880,78 @@ Dictionary::~Dictionary(void) { * supporting documentation. Kevin Atkinson makes no representations * about the suitability of this array for any purpose. It is provided * "as is" without express or implied warranty. - * + * * Alan Beale also deserves special credit as he has, * in addition to providing the 12Dicts package and being a major * contributor to the ENABLE word list, given me an incredible amount of * feedback and created a number of special lists (those found in the * Supplement) in order to help improve the overall quality of SCOWL. - * + * * The 10 level includes the 1000 most common English words (according to * the Moby (TM) Words II [MWords] package), a subset of the 1000 most * common words on the Internet (again, according to Moby Words II), and * frequently class 16 from Brian Kelk's "UK English Wordlist * with Frequency Classification". - * + * * The MWords package was explicitly placed in the public domain: - * + * * The Moby lexicon project is complete and has * been place into the public domain. Use, sell, * rework, excerpt and use in any way on any platform. - * + * * Placing this material on internal or public servers is * also encouraged. The compiler is not aware of any * export restrictions so freely distribute world-wide. - * + * * You can verify the public domain status by contacting - * + * * Grady Ward * 3449 Martha Ct. * Arcata, CA 95521-4884 - * + * * grady@netcom.com * grady@northcoast.com - * + * * The "UK English Wordlist With Frequency Classification" is also in the * Public Domain: - * + * * Date: Sat, 08 Jul 2000 20:27:21 +0100 * From: Brian Kelk - * + * * > I was wondering what the copyright status of your "UK English * > Wordlist With Frequency Classification" word list as it seems to * > be lacking any copyright notice. - * + * * There were many many sources in total, but any text marked * "copyright" was avoided. Locally-written documentation was one * source. An earlier version of the list resided in a filespace called * PUBLIC on the University mainframe, because it was considered public * domain. - * + * * Date: Tue, 11 Jul 2000 19:31:34 +0100 - * + * * > So are you saying your word list is also in the public domain? - * + * * That is the intention. - * + * * The 20 level includes frequency classes 7-15 from Brian's word list. - * + * * The 35 level includes frequency classes 2-6 and words appearing in at * least 11 of 12 dictionaries as indicated in the 12Dicts package. All * words from the 12Dicts package have had likely inflections added via * my inflection database. - * + * * The 12Dicts package and Supplement is in the Public Domain. - * + * * The WordNet database, which was used in the creation of the * Inflections database, is under the following copyright: - * + * * This software and database is being provided to you, the LICENSEE, * by Princeton University under the following license. By obtaining, * using and/or copying this software and database, you agree that you * have read, understood, and will comply with these terms and * conditions.: - * + * * Permission to use, copy, modify and distribute this software and * database and its documentation for any purpose and without fee or * royalty is hereby granted, provided that you agree to comply with @@ -13959,10 +13959,10 @@ Dictionary::~Dictionary(void) { * disclaimer, and that the same appear on ALL copies of the software, * database and documentation, including modifications that you make * for internal use or for distribution. - * + * * WordNet 1.6 Copyright 1997 by Princeton University. All rights * reserved. - * + * * THIS SOFTWARE AND DATABASE IS PROVIDED "AS IS" AND PRINCETON * UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR * IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PRINCETON @@ -13970,17 +13970,17 @@ Dictionary::~Dictionary(void) { * ABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE * LICENSED SOFTWARE, DATABASE OR DOCUMENTATION WILL NOT INFRINGE ANY * THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - * + * * The name of Princeton University or Princeton may not be used in * advertising or publicity pertaining to distribution of the software * and/or database. Title to copyright in this software, database and * any associated documentation shall at all times remain with * Princeton University and LICENSEE agrees to preserve same. - * + * * The 40 level includes words from Alan's 3esl list found in version 4.0 * of his 12dicts package. Like his other stuff the 3esl list is also in the * public domain. - * + * * The 50 level includes Brian's frequency class 1, words words appearing * in at least 5 of 12 of the dictionaries as indicated in the 12Dicts * package, and uppercase words in at least 4 of the previous 12 @@ -13989,39 +13989,39 @@ Dictionary::~Dictionary(void) { * list of names sent to me by Alan Beale; and a few names that I added * myself. Finally a small list of abbreviations not commonly found in * other word lists is included. - * + * * The name files form the Census report is a government document which I * don't think can be copyrighted. - * + * * The file special-jargon.50 uses common.lst and word.lst from the * "Unofficial Jargon File Word Lists" which is derived from "The Jargon * File". All of which is in the Public Domain. This file also contain * a few extra UNIX terms which are found in the file "unix-terms" in the * special/ directory. - * + * * The 55 level includes words from Alan's 2of4brif list found in version * 4.0 of his 12dicts package. Like his other stuff the 2of4brif is also * in the public domain. - * + * * The 60 level includes Brian's frequency class 0 and all words * appearing in at least 2 of the 12 dictionaries as indicated by the * 12Dicts package. A large number of names are also included: The 4,946 * female names and the 3,897 male names from the MWords package. - * + * * The 70 level includes the 74,550 common dictionary words and the * 21,986 names list from the MWords package The common dictionary words, * like those from the 12Dicts package, have had all likely inflections * added. The 70 level also included the 5desk list from version 4.0 of * the 12Dics package which is the public domain - * + * * The 80 level includes the ENABLE word list, all the lists in the * ENABLE supplement package (except for ABLE), the "UK Advanced Cryptics * Dictionary" (UKACD), the list of signature words in from YAWL package, * and the 10,196 places list from the MWords package. - * + * * The ENABLE package, mainted by M\Cooper , * is in the Public Domain: - * + * * The ENABLE master word list, WORD.LST, is herewith formally released * into the Public Domain. Anyone is free to use it or distribute it in * any manner they see fit. No fee or registration is required for its @@ -14037,41 +14037,41 @@ Dictionary::~Dictionary(void) { * legally copyright or in any way restrict redistribution of the * WORD.LST portion of your product. This *may* under law restrict your * rights to restrict your users' rights, but that is only fair. - * + * * UKACD, by J Ross Beresford , is under the * following copyright: - * + * * Copyright (c) J Ross Beresford 1993-1999. All Rights Reserved. - * + * * The following restriction is placed on the use of this publication: * if The UK Advanced Cryptics Dictionary is used in a software package * or redistributed in any form, the copyright notice must be * prominently displayed and the text of this document must be included * verbatim. - * + * * There are no other restrictions: I would like to see the list * distributed as widely as possible. - * + * * The 95 level includes the 354,984 single words and 256,772 compound * words from the MWords package, ABLE.LST from the ENABLE Supplement, * and some additional words found in my part-of-speech database that * were not found anywhere else. - * + * * Accent information was taken from UKACD. - * + * * My VARCON package was used to create the American, British, and - * Canadian word list. - * + * Canadian word list. + * * Since the original word lists used used in the VARCON package came * from the Ispell distribution they are under the Ispell copyright: - * + * * Copyright 1993, Geoff Kuenning, Granada Hills, CA * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: - * + * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright @@ -14085,7 +14085,7 @@ Dictionary::~Dictionary(void) { * 5. The name of Geoff Kuenning may not be used to endorse or promote * products derived from this software without specific prior * written permission. - * + * * THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS @@ -14098,29 +14098,29 @@ Dictionary::~Dictionary(void) { * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. - * + * * The variant word lists were created from a list of variants found in * the 12dicts supplement package as well as a list of variants I created * myself. - * + * * The Readmes for the various packages used can be found in the * appropriate directory under the r/ directory. - * + * * FUTURE PLANS: - * + * * There is a very nice frequency analyse of the BNC corpus done by * Adam Kilgarriff. Unlike Brain's word lists the BNC lists include part * of speech information. I plan on somehow using these lists as Adam * Kilgarriff has given me the OK to use it in SCOWL. These lists will * greatly reduce the problem of inflected forms of a word appearing at * different levels due to the part-of-speech information. - * + * * I also plan on perhaps putting the data in a database and use SQL * queries to create the wordlists instead of tons of "sort"s, "comm"s, * and Perl scripts. - * + * * RECREATING THE WORD LISTS: - * + * * In order to recreate the word lists you need a modern version of * Perl, bash, the traditional set of shell utilities, a system that * supports symbolic links, and quite possibly GNU Make. Once you @@ -14131,19 +14131,19 @@ Dictionary::~Dictionary(void) { * interested in improving the scripts used, I will likely ignore you * as there should be little need for anyone not interested in * improving the word list to do so. - * + * * The src/ directory contains the numerous scripts used in the creation - * of the final product. - * + * of the final product. + * * The r/ directory contains the raw data used to * create the final product. In order for the scripts to work various * word lists and databases need to be created and put into this * directory. See the README file in the r/ directory for more * information. - * + * * The l/ directory contains symbolic links used by the actual scripts. - * + * * Finally, the working/ directory is where all the intermittent files go * that are not specific to one source. - * + * */ diff --git a/examples/sports-league.cpp b/examples/sports-league.cpp index ec06d73384..6376eedb85 100644 --- a/examples/sports-league.cpp +++ b/examples/sports-league.cpp @@ -218,7 +218,7 @@ class SportsLeague : public Script { public: /// Setup model SportsLeague(const SizeOptions& opt) : - Script(opt), + Script(opt), teams(opt.size()), home(*this, periods() * teams, 1, weeks()), away(*this, periods() * teams, 2, weeks()+1), @@ -232,7 +232,7 @@ class SportsLeague : public Script { IntArgs rh(periods()), ra(periods()), rg(periods()); IntVarArgs n(*this,periods(),0,periods()-1); - distinct(*this, n, opt.icl()); + distinct(*this, n, opt.ipl()); r.hag(w,rh,ra,rg); @@ -266,7 +266,7 @@ class SportsLeague : public Script { for (int p=0; p weight) { weight = sm.orders[i][order_weight]; pos = i; @@ -447,7 +447,7 @@ class SteelMill : public IntMinimizeScript { ? ES_FAILED : ES_OK; } /// Print explanation - virtual void print(const Space&, const Gecode::Choice& _c, + virtual void print(const Space&, const Gecode::Choice& _c, unsigned int a, std::ostream& o) const { const Choice& c = static_cast(_c); @@ -460,8 +460,8 @@ class SteelMill : public IntMinimizeScript { return new (home) SteelMillBranch(home, share, *this); } /// Post brancher - static BrancherHandle post(Home home) { - return *new (home) SteelMillBranch(home); + static void post(Home home) { + (void) new (home) SteelMillBranch(home); } /// Delete brancher and return its size virtual size_t dispose(Space&) { diff --git a/examples/steiner.cpp b/examples/steiner.cpp index 74ec71eb8a..c7187941fc 100644 --- a/examples/steiner.cpp +++ b/examples/steiner.cpp @@ -123,7 +123,7 @@ class Steiner : public Script { rel(*this, y2 < y3); rel(*this, y1 < y3); - linear(*this, IntArgs(6,(n+1)*(n+1),n+1,1,-(n+1)*(n+1),-(n+1),-1), + linear(*this, IntArgs(6,(n+1)*(n+1),n+1,1,-(n+1)*(n+1),-(n+1),-1), IntVarArgs()<= ps_n) { diff --git a/examples/warehouses.cpp b/examples/warehouses.cpp index 934ddbdc18..430e94c5e2 100755 --- a/examples/warehouses.cpp +++ b/examples/warehouses.cpp @@ -129,7 +129,7 @@ class Warehouses : public IntMinimizeScript { IntSetArgs c(n_warehouses); for (int w=0; w@])) + AC_MSG_CHECKING(whether to build with default memory allocator) + if test "${enable_allocator:-yes}" = "yes"; then + AC_DEFINE([GECODE_ALLOCATOR],[], + [Whether to build with default memory allocator]) + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi]) + + AC_DEFUN([AC_GECODE_AUDIT], [AC_ARG_ENABLE([audit], AC_HELP_STRING([--enable-audit], @@ -1458,8 +1472,8 @@ AC_DEFUN([AC_GECODE_FLEXBISON], AC_MSG_RESULT(no) AC_SUBST(HAVE_FLEXBISON, "no") else - if bison --version | \ - grep -e ' 2\.[[3-9]][[0-9]]*' >/dev/null 2>&1 + if bison --version | grep -e ' 2\.[[3-9]][[0-9]]*' >/dev/null 2>&1 || + bison --version | grep -e ' 3\.*' >/dev/null 2>&1 then AC_MSG_RESULT(yes) AC_SUBST(HAVE_FLEXBISON, "yes") diff --git a/gecode/driver.hh b/gecode/driver.hh index 32e9fabbef..f68fbf3ee0 100755 --- a/gecode/driver.hh +++ b/gecode/driver.hh @@ -143,7 +143,7 @@ namespace Gecode { /// Delete heap-allocated copy of string \a s static void strdel(const char* s); }; - + /** * \brief String-valued option * @@ -165,7 +165,7 @@ namespace Gecode { /// Destructor virtual ~StringValueOption(void); }; - + /** * \brief String-valued option (integer value defined by strings) @@ -200,7 +200,7 @@ namespace Gecode { /// Destructor virtual ~StringOption(void); }; - + /** * \brief Integer option @@ -282,8 +282,48 @@ namespace Gecode { virtual void help(void); }; + /** + * \brief Integer propagation level option + * + */ + class GECODE_DRIVER_EXPORT IplOption : public BaseOption { + protected: + IntPropLevel cur; ///< Current value + public: + /// Initialize with default value \a ipl + IplOption(IntPropLevel ipl=IPL_DEF); + /// Set default level to \a l + void value(IntPropLevel l); + /// Return current option value + IntPropLevel value(void) const; + /// Parse option at first position and return number of parsed arguments + virtual int parse(int argc, char* argv[]); + /// Print help text + virtual void help(void); + }; + + /** + * \brief Trace flag option + * + */ + class GECODE_DRIVER_EXPORT TraceOption : public BaseOption { + protected: + int cur; ///< Current value + public: + /// Initialize with no tracing + TraceOption(int f=0); + /// Set default trace flags to \a f + void value(int f); + /// Return current option value + int value(void) const; + /// Parse option at first position and return number of parsed arguments + virtual int parse(int argc, char* argv[]); + /// Print help text + virtual void help(void); + }; + } - + /** * \brief Base class for script options * \ingroup TaskDriverCmd @@ -309,7 +349,7 @@ namespace Gecode { * */ void parse(int& argc, char* argv[]); - + /// Return name of script const char* name(void) const; /// Set name of script @@ -318,25 +358,25 @@ namespace Gecode { /// Destructor virtual ~BaseOptions(void); }; - + /** * \brief %Options for scripts * \ingroup TaskDriverCmd */ class GECODE_DRIVER_EXPORT Options : public BaseOptions { - protected: + protected: /// \name Model options //@{ Driver::StringOption _model; ///< General model options Driver::StringOption _symmetry; ///< General symmetry options Driver::StringOption _propagation; ///< Propagation options - Driver::StringOption _icl; ///< Integer consistency level + Driver::IplOption _ipl; ///< Integer propagation level Driver::StringOption _branching; ///< Branching options Driver::DoubleOption _decay; ///< Decay option Driver::UnsignedIntOption _seed; ///< Seed option Driver::DoubleOption _step; ///< Step option //@} - + /// \name Search options //@{ Driver::StringOption _search; ///< Search options @@ -344,17 +384,21 @@ namespace Gecode { Driver::DoubleOption _threads; ///< How many threads to use Driver::UnsignedIntOption _c_d; ///< Copy recomputation distance Driver::UnsignedIntOption _a_d; ///< Adaptive recomputation distance + Driver::UnsignedIntOption _d_l; ///< Discrepancy limit for LDS Driver::UnsignedIntOption _node; ///< Cutoff for number of nodes Driver::UnsignedIntOption _fail; ///< Cutoff for number of failures Driver::UnsignedIntOption _time; ///< Cutoff for time + Driver::UnsignedIntOption _assets; ///< Number of assets in a portfolio + Driver::UnsignedIntOption _slice; ///< Size of a portfolio slice Driver::StringOption _restart; ///< Restart method option Driver::DoubleOption _r_base; ///< Restart base Driver::UnsignedIntOption _r_scale; ///< Restart scale factor Driver::BoolOption _nogoods; ///< Whether to use no-goods Driver::UnsignedIntOption _nogoods_limit; ///< Limit for no-good extraction + Driver::DoubleOption _relax; ///< Probability to relax variable Driver::BoolOption _interrupt; ///< Whether to catch SIGINT //@} - + /// \name Execution options //@{ Driver::StringOption _mode; ///< Script mode to run @@ -363,12 +407,13 @@ namespace Gecode { Driver::BoolOption _print_last; ///< Print only last solution found Driver::StringValueOption _out_file; ///< Where to print solutions Driver::StringValueOption _log_file; ///< Where to print statistics + Driver::TraceOption _trace; ///< Trace flags for tracing //@} public: /// Initialize options for script with name \a s Options(const char* s); - + /// \name Model options //@{ /// Set default model value @@ -377,26 +422,26 @@ namespace Gecode { void model(int v, const char* o, const char* h = NULL); /// Return model value int model(void) const; - + /// Set default symmetry value void symmetry(int v); /// Add symmetry option value for value \a v, string \a o, and help \a h void symmetry(int v, const char* o, const char* h = NULL); /// Return symmetry value int symmetry(void) const; - + /// Set default propagation value void propagation(int v); /// Add propagation option value for value \a v, string \a o, and help \a h void propagation(int v, const char* o, const char* h = NULL); /// Return propagation value int propagation(void) const; - - /// Set default integer consistency level - void icl(IntConLevel i); - /// Return integer consistency level - IntConLevel icl(void) const; - + + /// Set default integer propagation level + void ipl(IntPropLevel i); + /// Return integer propagation level + IntPropLevel ipl(void) const; + /// Set default branching value void branching(int v); /// Add branching option value for value \a v, string \a o, and help \a h @@ -419,7 +464,7 @@ namespace Gecode { /// Return step value double step(void) const; //@} - + /// \name Search options //@{ /// Set default search value @@ -428,7 +473,7 @@ namespace Gecode { void search(int v, const char* o, const char* h = NULL); /// Return search value int search(void) const; - + /// Set default number of solutions to search for void solutions(unsigned int n); /// Return number of solutions to search for @@ -438,57 +483,77 @@ namespace Gecode { void threads(double n); /// Return number of parallel threads double threads(void) const; - + /// Set default copy recomputation distance void c_d(unsigned int d); /// Return copy recomputation distance unsigned int c_d(void) const; - + /// Set default adaptive recomputation distance void a_d(unsigned int d); /// Return adaptive recomputation distance unsigned int a_d(void) const; - + + /// Set default discrepancy limit for LDS + void d_l(unsigned int d); + /// Return discrepancy limit for LDS + unsigned int d_l(void) const; + /// Set default node cutoff void node(unsigned int n); /// Return node cutoff unsigned int node(void) const; - + /// Set default failure cutoff void fail(unsigned int n); /// Return failure cutoff unsigned int fail(void) const; - + /// Set default time cutoff void time(unsigned int t); /// Return time cutoff unsigned int time(void) const; - + + /// Set default number of assets in a portfolio + void assets(unsigned int n); + /// Return slice size in a portfolio + unsigned int assets(void) const; + + /// Set default slice size in a portfolio + void slice(unsigned int n); + /// Return slice size in a portfolio + unsigned int slice(void) const; + /// Set default restart mode void restart(RestartMode r); /// Return restart mode RestartMode restart(void) const; - + /// Set default restart base void restart_base(double base); /// Return restart base double restart_base(void) const; - + /// Set default restart scale factor void restart_scale(unsigned int scale); /// Return restart scale factor unsigned int restart_scale(void) const; - + /// Set default nogoods posting behavior void nogoods(bool b); /// Return whether nogoods are used bool nogoods(void) const; - + /// Set default nogoods depth limit void nogoods_limit(unsigned int l); /// Return depth limit for nogoods unsigned int nogoods_limit(void) const; - + + /// Set default relax probability + void relax(double d); + /// Return default relax probability + double relax(void) const; + /// Set default interrupt behavior void interrupt(bool b); /// Return interrupt behavior @@ -501,7 +566,7 @@ namespace Gecode { void mode(ScriptMode em); /// Return mode ScriptMode mode(void) const; - + /// Set default number of samples void samples(unsigned int s); /// Return number of samples @@ -511,7 +576,7 @@ namespace Gecode { void iterations(unsigned int i); /// Return number of iterations unsigned int iterations(void) const; - + /// Set whether to print only last solution found void print_last(bool p); /// Return whether to print only last solution found @@ -526,6 +591,11 @@ namespace Gecode { void log_file(const char* f); /// Get file name for Gecode stats const char* log_file(void) const; + + /// Set trace flags + void trace(int f); + /// Return trace flags + int trace(void) const; //@} #ifdef GECODE_HAS_GIST @@ -559,7 +629,7 @@ namespace Gecode { void move(Gist::Inspector* i); /// Add comparator void compare(Gist::Comparator* i); - + /// Return click inspector number \a i, or NULL if it does not exist Gist::Inspector* click(unsigned int i) const; /// Return solution inspector number \a i, or NULL if it does not exist @@ -586,7 +656,7 @@ namespace Gecode { virtual void help(void); /// Parse options from arguments \a argv (number is \a argc) void parse(int& argc, char* argv[]); - + /// Set default size void size(unsigned int s); /// Return size @@ -607,7 +677,7 @@ namespace Gecode { virtual void help(void); /// Parse options from arguments \a argv (number is \a argc) void parse(int& argc, char* argv[]); - + /// Set default instance name void instance(const char* s); /// Return instance name @@ -640,8 +710,8 @@ namespace Gecode { namespace Driver { virtual void print(std::ostream& os) const; /// Compare with \a s virtual void compare(const Space& home, std::ostream& os) const; - /// Choose output stream according to \a name - static std::ostream& select_ostream(const char* name, std::ofstream& ofs); + /// Choose output stream according to \a sn + static std::ostream& select_ostream(const char* sn, std::ofstream& ofs); /** Run script with search engine \a Engine and options \a opt * * In the solution and stat modes, search can be aborted by sending @@ -655,23 +725,23 @@ namespace Gecode { namespace Driver { static void run(const Options& opt, Script* s=NULL); private: template class Engine, class Options, - template class,class> class Meta> - static void runMeta(const Options& opt, Script* s); + template class> class Meta> + static void runMeta(const Options& opt, Script* s); /// Catch wrong definitions of copy constructor explicit ScriptBase(ScriptBase& e); }; -#ifdef GECODE_HAS_FLOAT_VARS +#ifdef GECODE_HAS_FLOAT_VARS /// Class to extract the step option value template class ExtractStepOption : public BaseSpace { public: /// Constructor that extracts the step value - ExtractStepOption(const Options& opt) + ExtractStepOption(const Options& opt) : BaseSpace(opt.step()) {} /// Constructor used for cloning - ExtractStepOption(bool share, BaseSpace& e) + ExtractStepOption(bool share, BaseSpace& e) : BaseSpace(share,e) {} }; @@ -684,7 +754,7 @@ namespace Gecode { namespace Driver { /// Constructor IgnoreStepOption(const Options&) {} /// Constructor used for cloning - IgnoreStepOption(bool share, BaseSpace& e) + IgnoreStepOption(bool share, BaseSpace& e) : BaseSpace(share,e) {} }; @@ -694,7 +764,7 @@ namespace Gecode { namespace Driver { #include namespace Gecode { - + /** * \defgroup TaskDriverScript Script classes * \ingroup TaskDriver @@ -704,46 +774,46 @@ namespace Gecode { * \brief Base-class for scripts * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > Script; /** * \brief Base-class for scripts for finding solution of lowest integer cost * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > MinimizeScript; /** * \brief Base-class for scripts for finding solution of highest integer cost * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > MaximizeScript; /** * \brief Base-class for scripts for finding solution of lowest integer cost * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > IntMinimizeScript; /** * \brief Base-class for scripts for finding solution of highest integer cost * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > IntMaximizeScript; -#ifdef GECODE_HAS_FLOAT_VARS +#ifdef GECODE_HAS_FLOAT_VARS /** * \brief Base-class for scripts for finding solution of lowest float cost * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > FloatMinimizeScript; /** * \brief Base-class for scripts for finding solution of highest float cost * \ingroup TaskDriverScript */ - typedef Driver::ScriptBase > + typedef Driver::ScriptBase > FloatMaximizeScript; #endif diff --git a/gecode/driver/options.cpp b/gecode/driver/options.cpp index 39a3a97e16..2d8bf3f493 100755 --- a/gecode/driver/options.cpp +++ b/gecode/driver/options.cpp @@ -73,7 +73,7 @@ namespace Gecode { if ((argc < 2) || strcmp(argv[1],opt)) return NULL; if (argc == 2) { - std::cerr << "Missing argument for option \"" << opt << "\"" + std::cerr << "Missing argument for option \"" << opt << "\"" << std::endl; exit(EXIT_FAILURE); } @@ -89,7 +89,7 @@ namespace Gecode { } - StringValueOption::StringValueOption(const char* o, const char* e, + StringValueOption::StringValueOption(const char* o, const char* e, const char* v) : BaseOption(o,e), cur(strdup(v)) {} void @@ -107,14 +107,14 @@ namespace Gecode { } void StringValueOption::help(void) { - std::cerr << '\t' << opt << " (string) default: " + std::cerr << '\t' << opt << " (string) default: " << ((cur == NULL) ? "NONE" : cur) << std::endl << "\t\t" << exp << std::endl; } StringValueOption::~StringValueOption(void) { strdel(cur); } - + void @@ -165,7 +165,7 @@ namespace Gecode { if (v->help != NULL) std::cerr << "\t\t " << v->opt << ": " << v->help << std::endl; } - + StringOption::~StringOption(void) { Value* v = fst; while (v != NULL) { @@ -176,8 +176,8 @@ namespace Gecode { v = n; } } - - + + int IntOption::parse(int argc, char* argv[]) { if (char* a = argument(argc,argv)) { @@ -186,13 +186,13 @@ namespace Gecode { } return 0; } - + void IntOption::help(void) { std::cerr << '\t' << opt << " (int) default: " << cur << std::endl << "\t\t" << exp << std::endl; } - + int UnsignedIntOption::parse(int argc, char* argv[]) { @@ -202,14 +202,14 @@ namespace Gecode { } return 0; } - + void UnsignedIntOption::help(void) { - std::cerr << '\t' << opt << " (unsigned int) default: " + std::cerr << '\t' << opt << " (unsigned int) default: " << cur << std::endl << "\t\t" << exp << std::endl; } - + int DoubleOption::parse(int argc, char* argv[]) { @@ -219,7 +219,7 @@ namespace Gecode { } return 0; } - + void DoubleOption::help(void) { using namespace std; @@ -227,6 +227,7 @@ namespace Gecode { << "\t\t" << exp << endl; } + int BoolOption::parse(int argc, char* argv[]) { if ((argc < 2) || strcmp(argv[1],opt)) @@ -249,15 +250,160 @@ namespace Gecode { return 0; } - void + void BoolOption::help(void) { using namespace std; - cerr << '\t' << opt << " (optional: false, 0, true, 1) default: " - << (cur ? "true" : "false") << endl + cerr << '\t' << opt << " (optional: false, 0, true, 1) default: " + << (cur ? "true" : "false") << endl << "\t\t" << exp << endl; } - + /* + * Integer propagation level option + * + */ + IplOption::IplOption(IntPropLevel ipl) + : BaseOption("-ipl","integer propagation level (comma-separated list)"), + cur(ipl) {} + + int + IplOption::parse(int argc, char* argv[]) { + if (char* a = argument(argc,argv)) { + int b = IPL_DEF; + int m = IPL_DEF; + do { + // Search for a comma + char* c = a; + while ((*c != ',') && (*c != 0)) + c++; + unsigned int e = static_cast(c-a); + if (!strncmp("def",a,e)) { b = IPL_DEF; } + else if (!strncmp("val",a,e)) { b = IPL_VAL; } + else if (!strncmp("bnd",a,e)) { b = IPL_BND; } + else if (!strncmp("dom",a,e)) { b = IPL_DOM; } + else if (!strncmp("speed",a,e)) { m |= IPL_SPEED; } + else if (!strncmp("memory",a,e)) { m |= IPL_MEMORY; } + else if (!strncmp("basic",a,e)) { m |= IPL_BASIC; } + else if (!strncmp("advanced",a,e)) { m |= IPL_ADVANCED; } + else { + std::cerr << "Wrong argument \"" << a + << "\" for option \"" << opt << "\"" + << std::endl; + exit(EXIT_FAILURE); + } + + if (*c == ',') a = c+1; else a = c; + + } while (*a != 0); + + cur = static_cast(b | m); + return 2; + } + return 0; + } + + void + IplOption::help(void) { + using namespace std; + cerr << '\t' << opt + << " (def,val,bnd,dom,speed,memory,basic,advanced)" << endl + << "\t\tdefault: "; + switch (vbd(cur)) { + case IPL_DEF: cerr << "def"; break; + case IPL_VAL: cerr << "val"; break; + case IPL_BND: cerr << "bnd"; break; + case IPL_DOM: cerr << "dom"; break; + default: GECODE_NEVER; + } + if (cur & IPL_SPEED) cerr << ",speed"; + if (cur & IPL_MEMORY) cerr << ",memory"; + if (cur & IPL_BASIC) cerr << ",basic"; + if (cur & IPL_ADVANCED) cerr << ",advanced"; + cerr << endl << "\t\t" << exp << endl; + } + + + /* + * Trace flag option + * + */ + TraceOption::TraceOption(int f) + : BaseOption("-trace","trace flags (comma-separated list)"), + cur(f) {} + + int + TraceOption::parse(int argc, char* argv[]) { + if (char* a = argument(argc,argv)) { + cur = 0; + do { + // Search for a comma + char* c = a; + while ((*c != ',') && (*c != 0)) + c++; + unsigned int e = static_cast(c-a); + if (!strncmp("init",a,e)) { cur |= TE_INIT; } + else if (!strncmp("prune",a,e)) { cur |= TE_PRUNE; } + else if (!strncmp("fix",a,e)) { cur |= TE_FIX; } + else if (!strncmp("done",a,e)) { cur |= TE_DONE ; } + else if (!strncmp("none",a,e) || + !strncmp("false",a,e) || + !strncmp("0",a,e)) { cur = 0; } + else if (!strncmp("all",a,e) || + !strncmp("1",a,e)) { cur = (TE_INIT | + TE_PRUNE | + TE_FIX | + TE_DONE); } + else { + std::cerr << "Wrong argument \"" << a + << "\" for option \"" << opt << "\"" + << std::endl; + exit(EXIT_FAILURE); + } + + if (*c == ',') a = c+1; else a = c; + + } while (*a != 0); + + return 2; + } + return 0; + } + + void + TraceOption::help(void) { + using namespace std; + cerr << '\t' << opt + << " (init,prune,fix,done,none,all)" + << " default: "; + if (cur == 0) { + cerr << "none"; + } else if (cur == (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE)) { + cerr << "all"; + } else { + int f = cur; + if ((f & TE_INIT) != 0) { + cerr << "init"; + f -= TE_INIT; + if (f != 0) cerr << ','; + } + if ((f & TE_PRUNE) != 0) { + cerr << "prune"; + f -= TE_PRUNE; + if (f != 0) cerr << ','; + } + if ((f & TE_FIX) != 0) { + cerr << "fix"; + f -= TE_FIX; + if (f != 0) cerr << ','; + } + if ((f & TE_DONE) != 0) { + cerr << "done"; + } + } + cerr << endl << "\t\t" << exp << endl; + } + + } void @@ -271,7 +417,7 @@ namespace Gecode { lst=&o; } BaseOptions::BaseOptions(const char* n) - : fst(NULL), lst(NULL), + : fst(NULL), lst(NULL), _name(Driver::BaseOption::strdup(n)) {} void @@ -307,7 +453,7 @@ namespace Gecode { if (Support::Thread::npu() == 1) std::cerr << "enabled (1 processing unit)"; else - std::cerr << "enabled (" << Support::Thread::npu() + std::cerr << "enabled (" << Support::Thread::npu() << " processing units)"; #else std::cerr << "disabled"; @@ -350,7 +496,7 @@ namespace Gecode { argv[i] = v[i]; return; } - + BaseOptions::~BaseOptions(void) { Driver::BaseOption::strdel(_name); } @@ -358,34 +504,39 @@ namespace Gecode { Options::Options(const char* n) : BaseOptions(n), - + _model("-model","model variants"), _symmetry("-symmetry","symmetry variants"), _propagation("-propagation","propagation variants"), - _icl("-icl","integer consistency level",ICL_DEF), _branching("-branching","branching variants"), _decay("-decay","decay factor",1.0), _seed("-seed","random number generator seed",1U), _step("-step","step distance for float optimization",0.0), - + _search("-search","search engine variants"), _solutions("-solutions","number of solutions (0 = all)",1), _threads("-threads","number of threads (0 = #processing units)", Search::Config::threads), _c_d("-c-d","recomputation commit distance",Search::Config::c_d), _a_d("-a-d","recomputation adaptation distance",Search::Config::a_d), + _d_l("-d-l","discrepancy limit for LDS",Search::Config::d_l), _node("-node","node cutoff (0 = none, solution mode)"), _fail("-fail","failure cutoff (0 = none, solution mode)"), _time("-time","time (in ms) cutoff (0 = none, solution mode)"), + _assets("-assets","#portfolio assets (#engines)",0), + _slice("-slice","portfolio slice (in #failures)",Search::Config::slice), _restart("-restart","restart sequence type",RM_NONE), - _r_base("-restart-base","base for geometric restart sequence",1.5), - _r_scale("-restart-scale","scale factor for restart sequence",250), + _r_base("-restart-base","base for geometric restart sequence", + Search::Config::base), + _r_scale("-restart-scale","scale factor for restart sequence", + Search::Config::slice), _nogoods("-nogoods","whether to use no-goods from restarts",false), _nogoods_limit("-nogoods-limit","depth limit for no-good extraction", Search::Config::nogoods_limit), + _relax("-relax","probability for relaxing variable", 0.0), _interrupt("-interrupt","whether to catch Ctrl-C (true) or not (false)", true), - + _mode("-mode","how to execute script",SM_SOLUTION), _samples("-samples","how many samples (time mode)",1), _iterations("-iterations","iterations per sample (time mode)",1), @@ -395,37 +546,38 @@ namespace Gecode { _out_file("-file-sol", "where to print solutions " "(supports stdout, stdlog, stderr)","stdout"), _log_file("-file-stat", "where to print statistics " - "(supports stdout, stdlog, stderr)","stdout") + "(supports stdout, stdlog, stderr)","stdout"), + _trace(0) { - - _icl.add(ICL_DEF, "def"); _icl.add(ICL_VAL, "val"); - _icl.add(ICL_BND, "bnd"); _icl.add(ICL_DOM, "dom"); - + _mode.add(SM_SOLUTION, "solution"); _mode.add(SM_TIME, "time"); _mode.add(SM_STAT, "stat"); _mode.add(SM_GIST, "gist"); - + _restart.add(RM_NONE,"none"); _restart.add(RM_CONSTANT,"constant"); _restart.add(RM_LINEAR,"linear"); _restart.add(RM_LUBY,"luby"); _restart.add(RM_GEOMETRIC,"geometric"); - - add(_model); add(_symmetry); add(_propagation); add(_icl); + + add(_model); add(_symmetry); add(_propagation); add(_ipl); add(_branching); add(_decay); add(_seed); add(_step); add(_search); add(_solutions); add(_threads); add(_c_d); add(_a_d); + add(_d_l); add(_node); add(_fail); add(_time); add(_interrupt); - add(_restart); add(_r_base); add(_r_scale); + add(_assets); add(_slice); + add(_restart); add(_r_base); add(_r_scale); add(_nogoods); add(_nogoods_limit); + add(_relax); add(_mode); add(_iterations); add(_samples); add(_print_last); - add(_out_file); add(_log_file); + add(_out_file); add(_log_file); add(_trace); } - + SizeOptions::SizeOptions(const char* e) : Options(e), _size(0) {} - + void SizeOptions::help(void) { Options::help(); @@ -445,7 +597,7 @@ namespace Gecode { InstanceOptions::InstanceOptions(const char* e) : Options(e), _inst(NULL) {} - + void InstanceOptions::instance(const char* s) { Driver::BaseOption::strdel(_inst); diff --git a/gecode/driver/options.hpp b/gecode/driver/options.hpp index c64638cf21..9fdbb0d966 100755 --- a/gecode/driver/options.hpp +++ b/gecode/driver/options.hpp @@ -66,7 +66,7 @@ namespace Gecode { StringOption::value(void) const { return cur; } - + /* * Integer option * @@ -122,7 +122,7 @@ namespace Gecode { * */ inline - BoolOption::BoolOption(const char* o, const char* e, bool v) + BoolOption::BoolOption(const char* o, const char* e, bool v) : BaseOption(o,e), cur(v) {} inline void BoolOption::value(bool v) { @@ -133,9 +133,35 @@ namespace Gecode { return cur; } + /* + * Integer propagation level option + * + */ + inline void + IplOption::value(IntPropLevel ipl) { + cur = ipl; + } + inline IntPropLevel + IplOption::value(void) const { + return cur; + } + + + /* + * Trace flag option + * + */ + inline void + TraceOption::value(int f) { + cur = f; + } + inline int + TraceOption::value(void) const { + return cur; + } } - + /* * Options * @@ -163,7 +189,7 @@ namespace Gecode { Options::model(void) const { return _model.value(); } - + inline void Options::symmetry(int v) { _symmetry.value(v); @@ -176,7 +202,7 @@ namespace Gecode { Options::symmetry(void) const { return _symmetry.value(); } - + inline void Options::propagation(int v) { _propagation.value(v); @@ -189,16 +215,16 @@ namespace Gecode { Options::propagation(void) const { return _propagation.value(); } - + inline void - Options::icl(IntConLevel i) { - _icl.value(i); + Options::ipl(IntPropLevel i) { + _ipl.value(i); } - inline IntConLevel - Options::icl(void) const { - return static_cast(_icl.value()); + inline IntPropLevel + Options::ipl(void) const { + return _ipl.value(); } - + inline void Options::branching(int v) { _branching.value(v); @@ -220,7 +246,7 @@ namespace Gecode { Options::decay(void) const { return _decay.value(); } - + inline void Options::seed(unsigned int s) { _seed.value(s); @@ -229,7 +255,7 @@ namespace Gecode { Options::seed(void) const { return _seed.value(); } - + inline void Options::step(double s) { _step.value(s); @@ -238,8 +264,8 @@ namespace Gecode { Options::step(void) const { return _step.value(); } - - + + /* * Search options * @@ -256,7 +282,7 @@ namespace Gecode { Options::search(void) const { return _search.value(); } - + inline void Options::solutions(unsigned int n) { _solutions.value(n); @@ -265,7 +291,7 @@ namespace Gecode { Options::solutions(void) const { return _solutions.value(); } - + inline void Options::threads(double n) { _threads.value(n); @@ -274,7 +300,7 @@ namespace Gecode { Options::threads(void) const { return _threads.value(); } - + inline void Options::c_d(unsigned int d) { _c_d.value(d); @@ -283,7 +309,7 @@ namespace Gecode { Options::c_d(void) const { return _c_d.value(); } - + inline void Options::a_d(unsigned int d) { _a_d.value(d); @@ -292,7 +318,16 @@ namespace Gecode { Options::a_d(void) const { return _a_d.value(); } - + + inline void + Options::d_l(unsigned int d) { + _d_l.value(d); + } + inline unsigned int + Options::d_l(void) const { + return _d_l.value(); + } + inline void Options::node(unsigned int n) { _node.value(n); @@ -301,7 +336,7 @@ namespace Gecode { Options::node(void) const { return _node.value(); } - + inline void Options::fail(unsigned int n) { _fail.value(n); @@ -310,7 +345,7 @@ namespace Gecode { Options::fail(void) const { return _fail.value(); } - + inline void Options::time(unsigned int t) { _time.value(t); @@ -320,6 +355,24 @@ namespace Gecode { return _time.value(); } + inline void + Options::assets(unsigned int n) { + _assets.value(n); + } + inline unsigned int + Options::assets(void) const { + return _assets.value(); + } + + inline void + Options::slice(unsigned int n) { + _slice.value(n); + } + inline unsigned int + Options::slice(void) const { + return _slice.value(); + } + inline void Options::restart(RestartMode rm) { _restart.value(rm); @@ -328,7 +381,7 @@ namespace Gecode { Options::restart(void) const { return static_cast(_restart.value()); } - + inline void Options::restart_base(double n) { _r_base.value(n); @@ -337,7 +390,7 @@ namespace Gecode { Options::restart_base(void) const { return _r_base.value(); } - + inline void Options::restart_scale(unsigned int n) { _r_scale.value(n); @@ -346,7 +399,7 @@ namespace Gecode { Options::restart_scale(void) const { return _r_scale.value(); } - + inline void Options::nogoods(bool b) { _nogoods.value(b); @@ -355,7 +408,7 @@ namespace Gecode { Options::nogoods(void) const { return _nogoods.value(); } - + inline void Options::nogoods_limit(unsigned int l) { _nogoods_limit.value(l); @@ -364,9 +417,18 @@ namespace Gecode { Options::nogoods_limit(void) const { return _nogoods_limit.value(); } - - - + + inline void + Options::relax(double d) { + _relax.value(d); + } + inline double + Options::relax(void) const { + return _relax.value(); + } + + + inline void Options::interrupt(bool b) { _interrupt.value(b); @@ -375,8 +437,8 @@ namespace Gecode { Options::interrupt(void) const { return _interrupt.value(); } - - + + /* * Execution options * @@ -389,7 +451,7 @@ namespace Gecode { Options::mode(void) const { return static_cast(_mode.value()); } - + inline void Options::samples(unsigned int s) { _samples.value(s); @@ -407,7 +469,7 @@ namespace Gecode { Options::iterations(void) const { return _iterations.value(); } - + inline void Options::print_last(bool p) { _print_last.value(p); @@ -437,6 +499,16 @@ namespace Gecode { return _log_file.value(); } + inline void + Options::trace(int f) { + _trace.value(f); + } + + inline int + Options::trace(void) const { + return _trace.value(); + } + #ifdef GECODE_HAS_GIST forceinline Options::_I::_I(void) : _click(heap,1), n_click(0), @@ -489,7 +561,7 @@ namespace Gecode { SizeOptions::size(void) const { return _size; } - + /* * Options with additional string argument * @@ -498,7 +570,7 @@ namespace Gecode { InstanceOptions::instance(void) const { return _inst; } - + } // STATISTICS: driver-any diff --git a/gecode/driver/script.cpp b/gecode/driver/script.cpp index 5292b307b3..4e65a4f418 100755 --- a/gecode/driver/script.cpp +++ b/gecode/driver/script.cpp @@ -41,8 +41,8 @@ #include namespace Gecode { namespace Driver { - - void + + void stop(Support::Timer& timer, std::ostream& os) { double t = timer.stop(); unsigned int sec = static_cast(floor(t / 1000.0)); @@ -72,25 +72,25 @@ namespace Gecode { namespace Driver { << std::showpoint << std::fixed << std::setprecision(3) << t << " ms)"; } - - + + double - am(double t[], int n) { + am(double t[], unsigned int n) { if (n < 1) return 0.0; double s = 0; - for (int i=n; i--; ) + for (unsigned int i=0; istop(s,o)) ? SR_NODE : 0) | (((fs != NULL) && fs->stop(s,o)) ? SR_FAIL : 0) | (((ts != NULL) && ts->stop(s,o)) ? SR_TIME : 0) | @@ -136,44 +136,44 @@ namespace Gecode { namespace Driver { * \brief Get time since start of timer and print user friendly time * information. */ - GECODE_DRIVER_EXPORT void + GECODE_DRIVER_EXPORT void stop(Support::Timer& t, std::ostream& os); /** * \brief Compute arithmetic mean of \a n elements in \a t */ GECODE_DRIVER_EXPORT double - am(double t[], int n); - + am(double t[], unsigned int n); + /** * \brief Compute deviation of \a n elements in \a t */ GECODE_DRIVER_EXPORT double - dev(double t[], int n); - + dev(double t[], unsigned int n); + /// Create cutoff object from options template - inline Search::Cutoff* + inline Search::Cutoff* createCutoff(const Options& o) { switch (o.restart()) { - case RM_NONE: + case RM_NONE: return NULL; - case RM_CONSTANT: + case RM_CONSTANT: return Search::Cutoff::constant(o.restart_scale()); - case RM_LINEAR: + case RM_LINEAR: return Search::Cutoff::linear(o.restart_scale()); - case RM_LUBY: + case RM_LUBY: return Search::Cutoff::luby(o.restart_scale()); - case RM_GEOMETRIC: + case RM_GEOMETRIC: return Search::Cutoff::geometric(o.restart_scale(),o.restart_base()); default: GECODE_NEVER; } return NULL; } - - + + #ifdef GECODE_HAS_GIST - + /** * \brief Traits class for search engines */ @@ -184,7 +184,7 @@ namespace Gecode { namespace Driver { (void) Gist::dfs(root, opt); } }; - + /// Specialization for DFS template class GistEngine > { @@ -193,6 +193,15 @@ namespace Gecode { namespace Driver { (void) Gist::dfs(root, opt); } }; + + /// Specialization for LDS + template + class GistEngine > { + public: + static void explore(S* root, const Gist::Options& opt) { + (void) Gist::dfs(root, opt); + } + }; /// Specialization for BAB template @@ -202,18 +211,18 @@ namespace Gecode { namespace Driver { (void) Gist::bab(root, opt); } }; - + #endif template forceinline - ScriptBase::ScriptBase(const Options& opt) + ScriptBase::ScriptBase(const Options& opt) : BaseSpace(opt) {} template forceinline - ScriptBase::ScriptBase(bool share, ScriptBase& e) + ScriptBase::ScriptBase(bool share, ScriptBase& e) : BaseSpace(share,e) {} template @@ -221,20 +230,20 @@ namespace Gecode { namespace Driver { ScriptBase::print(std::ostream&) const {} template - void + void ScriptBase::compare(const Space&, std::ostream&) const {} template std::ostream& - ScriptBase::select_ostream(const char* name, std::ofstream& ofs) { - if (strcmp(name, "stdout") == 0) { + ScriptBase::select_ostream(const char* sn, std::ofstream& ofs) { + if (strcmp(sn, "stdout") == 0) { return std::cout; - } else if (strcmp(name, "stdlog") == 0) { + } else if (strcmp(sn, "stdlog") == 0) { return std::clog; - } else if (strcmp(name, "stderr") == 0) { + } else if (strcmp(sn, "stderr") == 0) { return std::cerr; } else { - ofs.open(name); + ofs.open(sn); return ofs; } } @@ -243,7 +252,7 @@ namespace Gecode { namespace Driver { /** * \brief Wrapper class to add engine template argument */ - template class E, class T> + template class E> class EngineToMeta : public E { public: EngineToMeta(T* s, const Search::Options& o) : E(s,o) {} @@ -253,16 +262,22 @@ namespace Gecode { namespace Driver { template class Engine, class Options> void ScriptBase::run(const Options& o, Script* s) { - if (o.restart()==RM_NONE) { - runMeta(o,s); - } else { + if ((o.restart() != RM_NONE) && (o.assets() > 0)) { + std::cerr << "Cannot use restarts and portfolio..." << std::endl; + exit(EXIT_FAILURE); + } + if (o.restart() != RM_NONE) { runMeta(o,s); + } else if (o.assets() > 0) { + runMeta(o,s); + } else { + runMeta(o,s); } } template template class Engine, class Options, - template class,class> class Meta> + template class> class Meta> void ScriptBase::runMeta(const Options& o, Script* s) { using namespace std; @@ -285,13 +300,13 @@ namespace Gecode { namespace Driver { opt.clone = false; opt.c_d = o.c_d(); opt.a_d = o.a_d(); - for (int i=0; o.inspect.click(i) != NULL; i++) + for (unsigned int i=0; o.inspect.click(i) != NULL; i++) opt.inspect.click(o.inspect.click(i)); - for (int i=0; o.inspect.solution(i) != NULL; i++) + for (unsigned int i=0; o.inspect.solution(i) != NULL; i++) opt.inspect.solution(o.inspect.solution(i)); - for (int i=0; o.inspect.move(i) != NULL; i++) + for (unsigned int i=0; o.inspect.move(i) != NULL; i++) opt.inspect.move(o.inspect.move(i)); - for (int i=0; o.inspect.compare(i) != NULL; i++) + for (unsigned int i=0; o.inspect.compare(i) != NULL; i++) opt.inspect.compare(o.inspect.compare(i)); if (s == NULL) s = new Script(o); @@ -304,17 +319,19 @@ namespace Gecode { namespace Driver { { l_out << o.name() << endl; Support::Timer t; - int i = o.solutions(); + int i = static_cast(o.solutions()); t.start(); if (s == NULL) s = new Script(o); - unsigned int n_p = s->propagators(); - unsigned int n_b = s->branchers(); + unsigned int n_p = PropagatorGroup::all.size(*s); + unsigned int n_b = BrancherGroup::all.size(*s); Search::Options so; so.threads = o.threads(); so.c_d = o.c_d(); so.a_d = o.a_d(); - so.stop = CombinedStop::create(o.node(),o.fail(), o.time(), + so.d_l = o.d_l(); + so.assets = o.assets(); + so.stop = CombinedStop::create(o.node(),o.fail(), o.time(), o.interrupt()); so.cutoff = createCutoff(o); so.clone = false; @@ -322,7 +339,7 @@ namespace Gecode { namespace Driver { if (o.interrupt()) CombinedStop::installCtrlHandler(true); { - Meta e(s,so); + Meta e(s,so); if (o.print_last()) { Script* px = NULL; do { @@ -397,17 +414,19 @@ namespace Gecode { namespace Driver { { l_out << o.name() << endl; Support::Timer t; - int i = o.solutions(); + int i = static_cast(o.solutions()); t.start(); if (s == NULL) s = new Script(o); - unsigned int n_p = s->propagators(); - unsigned int n_b = s->branchers(); + unsigned int n_p = PropagatorGroup::all.size(*s); + unsigned int n_b = BrancherGroup::all.size(*s); Search::Options so; so.clone = false; so.threads = o.threads(); + so.assets = o.assets(); so.c_d = o.c_d(); so.a_d = o.a_d(); + so.d_l = o.d_l(); so.stop = CombinedStop::create(o.node(),o.fail(), o.time(), o.interrupt()); so.cutoff = createCutoff(o); @@ -415,7 +434,7 @@ namespace Gecode { namespace Driver { if (o.interrupt()) CombinedStop::installCtrlHandler(true); { - Meta e(s,so); + Meta e(s,so); do { Script* ex = e.next(); if (ex == NULL) @@ -455,22 +474,24 @@ namespace Gecode { namespace Driver { Support::Timer t; double* ts = new double[o.samples()]; bool stopped = false; - for (unsigned int s = o.samples(); !stopped && s--; ) { + for (unsigned int ns = o.samples(); !stopped && ns--; ) { t.start(); for (unsigned int k = o.iterations(); !stopped && k--; ) { unsigned int i = o.solutions(); - Script* s = new Script(o); + Script* s1 = new Script(o); Search::Options so; so.clone = false; so.threads = o.threads(); + so.assets = o.assets(); so.c_d = o.c_d(); so.a_d = o.a_d(); - so.stop = CombinedStop::create(o.node(),o.fail(), o.time(), + so.d_l = o.d_l(); + so.stop = CombinedStop::create(o.node(),o.fail(), o.time(), false); so.cutoff = createCutoff(o); so.nogoods_limit = o.nogoods() ? o.nogoods_limit() : 0U; { - Meta e(s,so); + Meta e(s1,so); do { Script* ex = e.next(); if (ex == NULL) @@ -482,7 +503,7 @@ namespace Gecode { namespace Driver { } delete so.stop; } - ts[s] = t.stop() / o.iterations(); + ts[ns] = t.stop() / o.iterations(); } if (stopped) { l_out << "\tSTOPPED" << endl; diff --git a/gecode/flatzinc.hh b/gecode/flatzinc.hh index 6bd1c8dd62..71fcb702e6 100644 --- a/gecode/flatzinc.hh +++ b/gecode/flatzinc.hh @@ -110,6 +110,18 @@ namespace Gecode { namespace FlatZinc { */ class GECODE_FLATZINC_EXPORT Printer { private: + /// Names of integer variables + std::vector iv_names; + /// Names of Boolean variables + std::vector bv_names; +#ifdef GECODE_HAS_FLOAT_VARS + /// Names of float variables + std::vector fv_names; +#endif +#ifdef GECODE_HAS_SET_VARS + /// Names of set variables + std::vector sv_names; +#endif AST::Array* _output; void printElem(std::ostream& out, AST::Node* ai, @@ -172,11 +184,24 @@ namespace Gecode { namespace FlatZinc { #endif ) const; - + ~Printer(void); - + + void addIntVarName(const std::string& n); + const std::string& intVarName(int i) const { return iv_names[i]; } + void addBoolVarName(const std::string& n); + const std::string& boolVarName(int i) const { return bv_names[i]; } +#ifdef GECODE_HAS_FLOAT_VARS + void addFloatVarName(const std::string& n); + const std::string& floatVarName(int i) const { return fv_names[i]; } +#endif +#ifdef GECODE_HAS_SET_VARS + void addSetVarName(const std::string& n); + const std::string& setVarName(int i) const { return sv_names[i]; } +#endif + void shrinkElement(AST::Node* node, - std::map& iv, std::map& bv, + std::map& iv, std::map& bv, std::map& sv, std::map& fv); void shrinkArrays(Space& home, @@ -192,7 +217,7 @@ namespace Gecode { namespace FlatZinc { Gecode::FloatVarArray& fv #endif ); - + private: Printer(const Printer&); Printer& operator=(const Printer&); @@ -225,7 +250,7 @@ namespace Gecode { namespace FlatZinc { Gecode::Driver::BoolOption _interrupt; ///< Whether to catch SIGINT Gecode::Driver::DoubleOption _step; ///< Step option //@} - + /// \name Execution options //@{ Gecode::Driver::StringOption _mode; ///< Script mode to run @@ -277,7 +302,7 @@ namespace Gecode { namespace FlatZinc { add(_node); add(_fail); add(_time); add(_interrupt); add(_seed); add(_step); - add(_restart); add(_r_base); add(_r_scale); + add(_restart); add(_r_base); add(_r_scale); add(_nogoods); add(_nogoods_limit); add(_mode); add(_stat); add(_output); @@ -291,14 +316,14 @@ namespace Gecode { namespace FlatZinc { if (_stat.value()) _mode.value(Gecode::SM_STAT); } - + virtual void help(void) { std::cerr << "Gecode FlatZinc interpreter" << std::endl << " - Supported FlatZinc version: " << GECODE_FLATZINC_VERSION << std::endl << std::endl; Gecode::BaseOptions::help(); } - + int solutions(void) const { return _solutions.value(); } bool allSolutions(void) const { return _allSolutions.value(); } double threads(void) const { return _threads.value(); } @@ -337,17 +362,18 @@ namespace Gecode { namespace FlatZinc { /// Initialise for use void init(void); /// Add new brancher information - void add(const BrancherHandle& bh, + void add(BrancherGroup bg, const std::string& rel0, const std::string& rel1, const std::vector& n); /// Output branch information - void print(const BrancherHandle& bh, - int a, int i, int n, std::ostream& o) const; + void print(const Brancher& b, + unsigned int a, int i, int n, std::ostream& o) const; #ifdef GECODE_HAS_FLOAT_VARS /// Output branch information - void print(const BrancherHandle& bh, - int a, int i, const FloatNumBranch& nl, std::ostream& o) const; + void print(const Brancher& b, + unsigned int a, int i, const FloatNumBranch& nl, + std::ostream& o) const; #endif }; @@ -393,14 +419,17 @@ namespace Gecode { namespace FlatZinc { int _optVar; /// Whether variable to optimize is integer (or float) bool _optVarIsInt; - + /// Whether to solve as satisfaction or optimization problem Meth _method; /// Percentage of variables to keep in LNS (or 0 for no LNS) unsigned int _lns; - - /// Random number generator + + /// Initial solution to start the LNS (or NULL for no LNS) + IntSharedArray _lnsInitialSolution; + + /// Random number generator FznRnd* _random; /// Annotations on the solve item @@ -412,13 +441,13 @@ namespace Gecode { namespace FlatZinc { /// Run the search engine template class Engine> void - runEngine(std::ostream& out, const Printer& p, + runEngine(std::ostream& out, const Printer& p, const FlatZincOptions& opt, Gecode::Support::Timer& t_total); /// Run the meta search engine template class Engine, - template class,class> class Meta> + template class> class Meta> void - runMeta(std::ostream& out, const Printer& p, + runMeta(std::ostream& out, const Printer& p, const FlatZincOptions& opt, Gecode::Support::Timer& t_total); void branchWithPlugin(AST::Node* ann); @@ -427,7 +456,7 @@ namespace Gecode { namespace FlatZinc { Gecode::IntVarArray iv; /// The introduced integer variables Gecode::IntVarArray iv_aux; - + /// The integer variables used in LNS Gecode::IntVarArray iv_lns; @@ -463,10 +492,10 @@ namespace Gecode { namespace FlatZinc { bool needAuxVars; /// Construct empty space FlatZincSpace(FznRnd* random = NULL); - + /// Destructor ~FlatZincSpace(void); - + /// Initialize space with given number of variables void init(int intVars, int boolVars, int setVars, int floatVars); @@ -482,10 +511,10 @@ namespace Gecode { namespace FlatZinc { void newSetVar(SetVarSpec* vs); /// Create new float variable from specification void newFloatVar(FloatVarSpec* vs); - + /// Post a constraint specified by \a ce void postConstraints(std::vector& ces); - + /// Post the solve item void solve(AST::Array* annotation); /// Post that integer variable \a var should be minimized @@ -494,16 +523,16 @@ namespace Gecode { namespace FlatZinc { void maximize(int var, bool isInt, AST::Array* annotation); /// Run the search - void run(std::ostream& out, const Printer& p, + void run(std::ostream& out, const Printer& p, const FlatZincOptions& opt, Gecode::Support::Timer& t_total); - + /// Produce output on \a out using \a p void print(std::ostream& out, const Printer& p) const; - /// Compare this space with space \a s and print the differences on + /// Compare this space with space \a s and print the differences on /// \a out void compare(const Space& s, std::ostream& out) const; - /// Compare this space with space \a s and print the differences on + /// Compare this space with space \a s and print the differences on /// \a out using \a p void compare(const FlatZincSpace& s, std::ostream& out, const Printer& p) const; @@ -535,7 +564,7 @@ namespace Gecode { namespace FlatZinc { * The seed for random branchers is given by the \a seed parameter. * */ - void createBranchers(AST::Node* ann, + void createBranchers(Printer& p, AST::Node* ann, int seed, double decay, bool ignoreUnknown, std::ostream& err = std::cerr); @@ -550,9 +579,9 @@ namespace Gecode { namespace FlatZinc { virtual void constrain(const Space& s); /// Copy function virtual Gecode::Space* copy(bool share); + /// Slave function for restarts + virtual bool slave(const MetaInfo& mi); - virtual bool slave(const CRI& cri); - /// \name AST to variable and value conversion //@{ /// Convert \a arg (array of integers) to IntArgs @@ -588,8 +617,8 @@ namespace Gecode { namespace FlatZinc { /// Convert \a n to FloatVarArgs FloatVarArgs arg2floatvarargs(AST::Node* arg, int offset = 0); #endif - /// Convert \a ann to IntConLevel - IntConLevel ann2icl(AST::Node* ann); + /// Convert \a ann to integer propagation level + IntPropLevel ann2ipl(AST::Node* ann); //@} }; diff --git a/gecode/flatzinc/ast.hh b/gecode/flatzinc/ast.hh index 53513cdac8..a94e622eb0 100644 --- a/gecode/flatzinc/ast.hh +++ b/gecode/flatzinc/ast.hh @@ -49,12 +49,12 @@ */ namespace Gecode { namespace FlatZinc { namespace AST { - + class Call; class Array; class Atom; class SetLit; - + /// %Exception signaling type error class GECODE_VTABLE_EXPORT TypeError { private: @@ -64,7 +64,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { TypeError(std::string what) : _what(what) {} std::string what(void) const { return _what; } }; - + /** * \brief A node in a %FlatZinc abstract syntax tree */ @@ -72,7 +72,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { public: /// Destructor virtual ~Node(void); - + /// Append \a n to an array node void append(Node* n); @@ -104,7 +104,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { int getFloatVar(void); /// Cast this node to a set variable node int getSetVar(void); - + /// Cast this node to an integer node int getInt(void); /// Cast this node to a Boolean node @@ -113,10 +113,10 @@ namespace Gecode { namespace FlatZinc { namespace AST { double getFloat(void); /// Cast this node to a set literal node SetLit *getSet(void); - + /// Cast this node to a string node std::string getString(void); - + /// Test if node is an integer variable node bool isIntVar(void); /// Test if node is a Boolean variable node @@ -139,7 +139,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { bool isSet(void); /// Test if node is an atom node bool isAtom(void); - + /// Output string representation virtual void print(std::ostream&) = 0; }; @@ -188,7 +188,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { os << "s()"; } }; - + /// Variable node base class class GECODE_VTABLE_EXPORT Var : public Node { public: @@ -230,7 +230,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { os << "xs("<(this); @@ -395,7 +395,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { } throw TypeError("call expected"); } - + inline Array* Node::getArray(void) { if (Array* a = dynamic_cast(this)) @@ -409,7 +409,7 @@ namespace Gecode { namespace FlatZinc { namespace AST { return a; throw TypeError("atom expected"); } - + inline std::string Node::getVarName(void) { if (Var* a = dynamic_cast(this)) diff --git a/gecode/flatzinc/flatzinc.cpp b/gecode/flatzinc/flatzinc.cpp index 327c920159..410af930b5 100644 --- a/gecode/flatzinc/flatzinc.cpp +++ b/gecode/flatzinc/flatzinc.cpp @@ -56,12 +56,12 @@ namespace Gecode { namespace FlatZinc { /** * \brief Branching on the introduced variables * - * This brancher makes sure that when a solution is found for the model + * This brancher makes sure that when a solution is found for the model * variables, all introduced variables are either assigned, or the solution * can be extended to a solution of the introduced variables. * - * The advantage over simply branching over the introduced variables is that - * only one such extension will be searched for, instead of enumerating all + * The advantage over simply branching over the introduced variables is that + * only one such extension will be searched for, instead of enumerating all * possible (equivalent) extensions. * */ @@ -183,10 +183,10 @@ namespace Gecode { namespace FlatZinc { return static_cast(c).fail ? ES_FAILED : ES_OK; } /// Print explanation - virtual void print(const Space&, const Gecode::Choice& c, + virtual void print(const Space&, const Gecode::Choice& c, unsigned int, std::ostream& o) const { - o << "FlatZinc(" + o << "FlatZinc(" << (static_cast(c).fail ? "fail" : "ok") << ")"; } @@ -224,7 +224,7 @@ namespace Gecode { namespace FlatZinc { /// Delete brancher and return its size virtual size_t dispose(Space&) { return sizeof(*this); - } + } }; class BranchInformationO : public SharedHandle::Object { @@ -246,29 +246,30 @@ namespace Gecode { namespace FlatZinc { return new BranchInformationO(v); } /// Add new brancher information - void add(const BrancherHandle& bh, + void add(BrancherGroup bg, const string& rel0, const string& rel1, const vector& n) { - v.resize(std::max(static_cast(v.size()),bh.id()+1)); - v[bh.id()] = BI(rel0,rel1,n); + v.resize(std::max(static_cast(v.size()),bg.id()+1)); + v[bg.id()] = BI(rel0,rel1,n); } /// Output branch information - void print(const BrancherHandle& bh, - int a, int i, int n, ostream& o) const { - const BI& bi = v[bh.id()]; + void print(const Brancher& b, + unsigned int a, int i, int n, ostream& o) const { + const BI& bi = v[b.group().id()]; o << bi.n[i] << " " << (a==0 ? bi.r0 : bi.r1) << " " << n; } #ifdef GECODE_HAS_FLOAT_VARS - void print(const BrancherHandle& bh, - int a, int i, const FloatNumBranch& nl, ostream& o) const { - const BI& bi = v[bh.id()]; + void print(const Brancher& b, + unsigned int a, int i, const FloatNumBranch& nl, + ostream& o) const { + const BI& bi = v[b.group().id()]; o << bi.n[i] << " " << (((a == 0) == nl.l) ? "<=" : ">=") << nl.n; } #endif }; - + BranchInformation::BranchInformation(void) : SharedHandle(NULL) {} @@ -282,43 +283,43 @@ namespace Gecode { namespace FlatZinc { } void - BranchInformation::add(const BrancherHandle& bh, + BranchInformation::add(BrancherGroup bg, const std::string& rel0, const std::string& rel1, const std::vector& n) { - static_cast(object())->add(bh,rel0,rel1,n); + static_cast(object())->add(bg,rel0,rel1,n); } void - BranchInformation::print(const BrancherHandle& bh, int a, int i, + BranchInformation::print(const Brancher& b, unsigned int a, int i, int n, std::ostream& o) const { - static_cast(object())->print(bh,a,i,n,o); + static_cast(object())->print(b,a,i,n,o); } #ifdef GECODE_HAS_FLOAT_VARS void - BranchInformation::print(const BrancherHandle& bh, int a, int i, + BranchInformation::print(const Brancher& b, unsigned int a, int i, const FloatNumBranch& nl, std::ostream& o) const { - static_cast(object())->print(bh,a,i,nl,o); + static_cast(object())->print(b,a,i,nl,o); } #endif template - void varValPrint(const Space &home, const BrancherHandle& bh, + void varValPrint(const Space &home, const Brancher& b, unsigned int a, Var, int i, const int& n, std::ostream& o) { - static_cast(home).branchInfo.print(bh,a,i,n,o); + static_cast(home).branchInfo.print(b,a,i,n,o); } #ifdef GECODE_HAS_FLOAT_VARS - void varValPrintF(const Space &home, const BrancherHandle& bh, + void varValPrintF(const Space &home, const Brancher& b, unsigned int a, FloatVar, int i, const FloatNumBranch& nl, std::ostream& o) { - static_cast(home).branchInfo.print(bh,a,i,nl,o); + static_cast(home).branchInfo.print(b,a,i,nl,o); } #endif FznRnd::FznRnd(unsigned int s) : random(s) {} - + unsigned int FznRnd::operator ()(unsigned int n) { Support::Lock lock(mutex); @@ -631,11 +632,12 @@ namespace Gecode { namespace FlatZinc { _optVarIsInt = f._optVarIsInt; _method = f._method; _lns = f._lns; + _lnsInitialSolution.update(*this, share, f._lnsInitialSolution); branchInfo.update(*this, share, f.branchInfo); iv.update(*this, share, f.iv); iv_lns.update(*this, share, f.iv_lns); intVarCount = f.intVarCount; - + if (needAuxVars) { IntVarArgs iva; for (int i=0; iintroduced; @@ -849,7 +852,7 @@ namespace Gecode { namespace FlatZinc { FlatZincSpace::postConstraints(std::vector& ces) { ConExprOrder ceo; std::sort(ces.begin(), ces.end(), ceo); - + for (unsigned int i=0; i(seed)); TieBreak def_int_varsel = INT_VAR_AFC_SIZE_MAX(0.99); IntValBranch def_int_valsel = INT_VAL_MIN(); + std::string def_int_rel_left = "="; + std::string def_int_rel_right = "!="; TieBreak def_bool_varsel = INT_VAR_AFC_MAX(0.99); IntValBranch def_bool_valsel = INT_VAL_MIN(); + std::string def_bool_rel_left = "="; + std::string def_bool_rel_right = "!="; #ifdef GECODE_HAS_SET_VARS SetVarBranch def_set_varsel = SET_VAR_AFC_SIZE_MAX(0.99); SetValBranch def_set_valsel = SET_VAL_MIN_INC(); + std::string def_set_rel_left = "in"; + std::string def_set_rel_right = "not in"; #endif #ifdef GECODE_HAS_FLOAT_VARS TieBreak def_float_varsel = FLOAT_VAR_SIZE_MIN(); FloatValBranch def_float_valsel = FLOAT_VAL_SPLIT_MIN(); + std::string def_float_rel_left = "<="; + std::string def_float_rel_right = ">"; #endif std::vector iv_searched(iv.size()); @@ -928,7 +940,12 @@ namespace Gecode { namespace FlatZinc { throw FlatZinc::Error("FlatZinc", "Only one relax_and_reconstruct annotation allowed"); AST::Call *call = flatAnn[i]->getCall("relax_and_reconstruct"); - AST::Array *args = call->getArgs(2); + AST::Array* args; + if (call->args->getArray()->a.size()==2) { + args = call->getArgs(2); + } else { + args = call->getArgs(3); + } _lns = args->a[1]->getInt(); AST::Array *vars = args->a[0]->getArray(); int k=vars->a.size(); @@ -942,6 +959,12 @@ namespace Gecode { namespace FlatZinc { continue; iv_lns[k++] = iv[vars->a[i]->getIntVar()]; } + if (args->a.size()==3) { + AST::Array *initial = args->a[2]->getArray(); + _lnsInitialSolution = IntSharedArray(initial->a.size()); + for (unsigned int i=initial->a.size(); i--;) + _lnsInitialSolution[i] = initial->a[i]->getInt(); + } } else if (flatAnn[i]->isCall("gecode_search")) { AST::Call* c = flatAnn[i]->getCall(); branchWithPlugin(c->args); @@ -964,12 +987,15 @@ namespace Gecode { namespace FlatZinc { names.push_back(vars->a[i]->getVarName()); } std::string r0, r1; - BrancherHandle bh = branch(*this, va, - ann2ivarsel(args->a[1],rnd,decay), - ann2ivalsel(args->a[2],r0,r1,rnd), - NULL, - &varValPrint); - branchInfo.add(bh,r0,r1,names); + { + BrancherGroup bg; + branch(bg(*this), va, + ann2ivarsel(args->a[1],rnd,decay), + ann2ivalsel(args->a[2],r0,r1,rnd), + NULL, + &varValPrint); + branchInfo.add(bg,r0,r1,names); + } } else if (flatAnn[i]->isCall("int_assign")) { AST::Call *call = flatAnn[i]->getCall("int_assign"); AST::Array *args = call->getArgs(2); @@ -1006,25 +1032,29 @@ namespace Gecode { namespace FlatZinc { bv_searched[vars->a[i]->getBoolVar()] = true; names.push_back(vars->a[i]->getVarName()); } - + std::string r0, r1; - BrancherHandle bh = branch(*this, va, - ann2ivarsel(args->a[1],rnd,decay), - ann2ivalsel(args->a[2],r0,r1,rnd), NULL, - &varValPrint); - branchInfo.add(bh,r0,r1,names); + { + BrancherGroup bg; + branch(bg(*this), va, + ann2ivarsel(args->a[1],rnd,decay), + ann2ivalsel(args->a[2],r0,r1,rnd), NULL, + &varValPrint); + branchInfo.add(bg,r0,r1,names); + } } else if (flatAnn[i]->isCall("int_default_search")) { AST::Call *call = flatAnn[i]->getCall("int_default_search"); AST::Array *args = call->getArgs(2); def_int_varsel = ann2ivarsel(args->a[0],rnd,decay); - std::string r0; - def_int_valsel = ann2ivalsel(args->a[1],r0,r0,rnd); + def_int_valsel = ann2ivalsel(args->a[1], + def_int_rel_left,def_int_rel_right,rnd); } else if (flatAnn[i]->isCall("bool_default_search")) { AST::Call *call = flatAnn[i]->getCall("bool_default_search"); AST::Array *args = call->getArgs(2); def_bool_varsel = ann2ivarsel(args->a[0],rnd,decay); - std::string r0; - def_bool_valsel = ann2ivalsel(args->a[1],r0,r0,rnd); + def_bool_valsel = ann2ivalsel(args->a[1], + def_bool_rel_left,def_bool_rel_right, + rnd); } else if (flatAnn[i]->isCall("set_search")) { #ifdef GECODE_HAS_SET_VARS AST::Call *call = flatAnn[i]->getCall("set_search"); @@ -1045,12 +1075,15 @@ namespace Gecode { namespace FlatZinc { names.push_back(vars->a[i]->getVarName()); } std::string r0, r1; - BrancherHandle bh = branch(*this, va, - ann2svarsel(args->a[1],rnd,decay), - ann2svalsel(args->a[2],r0,r1,rnd), - NULL, - &varValPrint); - branchInfo.add(bh,r0,r1,names); + { + BrancherGroup bg; + branch(bg(*this), va, + ann2svarsel(args->a[1],rnd,decay), + ann2svalsel(args->a[2],r0,r1,rnd), + NULL, + &varValPrint); + branchInfo.add(bg,r0,r1,names); + } #else if (!ignoreUnknown) { err << "Warning, ignored search annotation: "; @@ -1063,8 +1096,8 @@ namespace Gecode { namespace FlatZinc { AST::Call *call = flatAnn[i]->getCall("set_default_search"); AST::Array *args = call->getArgs(2); def_set_varsel = ann2svarsel(args->a[0],rnd,decay); - std::string r0; - def_set_valsel = ann2svalsel(args->a[1],r0,r0,rnd); + def_set_valsel = ann2svalsel(args->a[1], + def_set_rel_left,def_set_rel_right,rnd); #else if (!ignoreUnknown) { err << "Warning, ignored search annotation: "; @@ -1077,8 +1110,8 @@ namespace Gecode { namespace FlatZinc { AST::Call *call = flatAnn[i]->getCall("float_default_search"); AST::Array *args = call->getArgs(2); def_float_varsel = ann2fvarsel(args->a[0],rnd,decay); - std::string r0; - def_float_valsel = ann2fvalsel(args->a[1],r0,r0); + def_float_valsel = ann2fvalsel(args->a[1], + def_float_rel_left,def_float_rel_right); #else if (!ignoreUnknown) { err << "Warning, ignored search annotation: "; @@ -1106,12 +1139,15 @@ namespace Gecode { namespace FlatZinc { names.push_back(vars->a[i]->getVarName()); } std::string r0, r1; - BrancherHandle bh = branch(*this, va, - ann2fvarsel(args->a[2],rnd,decay), - ann2fvalsel(args->a[3],r0,r1), - NULL, - &varValPrintF); - branchInfo.add(bh,r0,r1,names); + { + BrancherGroup bg; + branch(bg(*this), va, + ann2fvarsel(args->a[2],rnd,decay), + ann2fvalsel(args->a[3],r0,r1), + NULL, + &varValPrintF); + branchInfo.add(bg,r0,r1,names); + } #else if (!ignoreUnknown) { err << "Warning, ignored search annotation: "; @@ -1142,16 +1178,20 @@ namespace Gecode { namespace FlatZinc { } } } + std::vector iv_sol_names(iv.size()-(introduced+funcdep+searched)); IntVarArgs iv_sol(iv.size()-(introduced+funcdep+searched)); + std::vector iv_tmp_names(introduced); IntVarArgs iv_tmp(introduced); for (int i=iv.size(), j=0, k=0; i--;) { if (iv_searched[i] || (_method != SAT && _optVarIsInt && _optVar==i)) continue; if (iv_introduced[2*i]) { if (!iv_introduced[2*i+1]) { + iv_tmp_names[j] = p.intVarName(i); iv_tmp[j++] = iv[i]; } } else { + iv_sol_names[k] = p.intVarName(i); iv_sol[k++] = iv[i]; } } @@ -1170,25 +1210,36 @@ namespace Gecode { namespace FlatZinc { } } } + std::vector bv_sol_names(bv.size()-(introduced+funcdep+searched)); BoolVarArgs bv_sol(bv.size()-(introduced+funcdep+searched)); BoolVarArgs bv_tmp(introduced); + std::vector bv_tmp_names(introduced); for (int i=bv.size(), j=0, k=0; i--;) { if (bv_searched[i]) continue; if (bv_introduced[2*i]) { if (!bv_introduced[2*i+1]) { + bv_tmp_names[j] = p.boolVarName(i); bv_tmp[j++] = bv[i]; } } else { + bv_sol_names[k] = p.boolVarName(i); bv_sol[k++] = bv[i]; } } if (iv_sol.size() > 0) { - branch(*this, iv_sol, def_int_varsel, def_int_valsel); + BrancherGroup bg; + branch(bg(*this), iv_sol, def_int_varsel, def_int_valsel, + NULL, &varValPrint); + branchInfo.add(bg,def_int_rel_left,def_int_rel_right,iv_sol_names); + } + if (bv_sol.size() > 0) { + BrancherGroup bg; + branch(bg(*this), bv_sol, def_bool_varsel, def_bool_valsel, + NULL, &varValPrint); + branchInfo.add(bg,def_bool_rel_left,def_bool_rel_right,bv_sol_names); } - if (bv_sol.size() > 0) - branch(*this, bv_sol, def_bool_varsel, def_bool_valsel); #ifdef GECODE_HAS_FLOAT_VARS introduced = 0; funcdep = 0; @@ -1204,22 +1255,30 @@ namespace Gecode { namespace FlatZinc { } } } + std::vector fv_sol_names(fv.size()-(introduced+funcdep+searched)); FloatVarArgs fv_sol(fv.size()-(introduced+funcdep+searched)); FloatVarArgs fv_tmp(introduced); + std::vector fv_tmp_names(introduced); for (int i=fv.size(), j=0, k=0; i--;) { if (fv_searched[i] || (_method != SAT && !_optVarIsInt && _optVar==i)) continue; if (fv_introduced[2*i]) { if (!fv_introduced[2*i+1]) { + fv_tmp_names[j] = p.floatVarName(i); fv_tmp[j++] = fv[i]; } } else { + fv_sol_names[k] = p.floatVarName(i); fv_sol[k++] = fv[i]; } } - if (fv_sol.size() > 0) - branch(*this, fv_sol, def_float_varsel, def_float_valsel); + if (fv_sol.size() > 0) { + BrancherGroup bg; + branch(bg(*this), fv_sol, def_float_varsel, def_float_valsel, + NULL, &varValPrintF); + branchInfo.add(bg,def_float_rel_left,def_float_rel_right,fv_sol_names); + } #endif #ifdef GECODE_HAS_SET_VARS introduced = 0; @@ -1236,22 +1295,31 @@ namespace Gecode { namespace FlatZinc { } } } + std::vector sv_sol_names(sv.size()-(introduced+funcdep+searched)); SetVarArgs sv_sol(sv.size()-(introduced+funcdep+searched)); SetVarArgs sv_tmp(introduced); + std::vector sv_tmp_names(introduced); for (int i=sv.size(), j=0, k=0; i--;) { if (sv_searched[i]) continue; if (sv_introduced[2*i]) { if (!sv_introduced[2*i+1]) { + sv_tmp_names[j] = p.setVarName(i); sv_tmp[j++] = sv[i]; } } else { + sv_sol_names[k] = p.setVarName(i); sv_sol[k++] = sv[i]; } } - if (sv_sol.size() > 0) - branch(*this, sv_sol, def_set_varsel, def_set_valsel); + if (sv_sol.size() > 0) { + BrancherGroup bg; + branch(bg(*this), sv_sol, def_set_varsel, def_set_valsel, + NULL, &varValPrint); + branchInfo.add(bg,def_set_rel_left,def_set_rel_right,sv_sol_names); + + } #endif iv_aux = IntVarArray(*this, iv_tmp); bv_aux = BoolVarArray(*this, bv_tmp); @@ -1267,18 +1335,34 @@ namespace Gecode { namespace FlatZinc { if (_method == MIN) { if (_optVarIsInt) { - branch(*this, iv[_optVar], INT_VAL_MIN()); + std::vector names(1); + names[0] = p.intVarName(_optVar); + BrancherGroup bg; + branch(bg(*this), iv[_optVar], INT_VAL_MIN(), &varValPrint); + branchInfo.add(bg,"=","!=",names); } else { #ifdef GECODE_HAS_FLOAT_VARS - branch(*this, fv[_optVar], FLOAT_VAL_SPLIT_MIN()); + std::vector names(1); + names[0] = p.floatVarName(_optVar); + BrancherGroup bg; + branch(bg(*this), fv[_optVar], FLOAT_VAL_SPLIT_MIN(), &varValPrintF); + branchInfo.add(bg,"<=",">",names); #endif } } else if (_method == MAX) { if (_optVarIsInt) { - branch(*this, iv[_optVar], INT_VAL_MAX()); + std::vector names(1); + names[0] = p.intVarName(_optVar); + BrancherGroup bg; + branch(bg(*this), iv[_optVar], INT_VAL_MAX(), &varValPrint); + branchInfo.add(bg,"=","!=",names); } else { #ifdef GECODE_HAS_FLOAT_VARS - branch(*this, fv[_optVar], FLOAT_VAL_SPLIT_MAX()); + std::vector names(1); + names[0] = p.floatVarName(_optVar); + BrancherGroup bg; + branch(bg(*this), fv[_optVar], FLOAT_VAL_SPLIT_MAX(), &varValPrintF); + branchInfo.add(bg,"<=",">",names); #endif } } @@ -1295,15 +1379,35 @@ namespace Gecode { namespace FlatZinc { #endif ); } else { - branch(*this,iv_aux,def_int_varsel,def_int_valsel); - branch(*this,bv_aux,def_bool_varsel,def_bool_valsel); + { + BrancherGroup bg; + branch(bg(*this),iv_aux,def_int_varsel,def_int_valsel, + NULL, &varValPrint); + branchInfo.add(bg,def_int_rel_left,def_int_rel_right,iv_tmp_names); + } + { + BrancherGroup bg; + branch(bg(*this),bv_aux,def_bool_varsel,def_bool_valsel, + NULL, &varValPrint); + branchInfo.add(bg,def_bool_rel_left,def_bool_rel_right,bv_tmp_names); + } #ifdef GECODE_HAS_SET_VARS - branch(*this,sv_aux,def_set_varsel,def_set_valsel); + { + BrancherGroup bg; + branch(bg(*this),sv_aux,def_set_varsel,def_set_valsel, + NULL, &varValPrint); + branchInfo.add(bg,def_set_rel_left,def_set_rel_right,sv_tmp_names); + } #endif #ifdef GECODE_HAS_FLOAT_VARS - branch(*this,fv_aux,def_float_varsel,def_float_valsel); + { + BrancherGroup bg; + branch(bg(*this),fv_aux,def_float_varsel,def_float_valsel, + NULL, &varValPrintF); + branchInfo.add(bg,def_float_rel_left,def_float_rel_right,fv_tmp_names); + } #endif - + } } } @@ -1454,7 +1558,7 @@ namespace Gecode { namespace FlatZinc { } template class Engine, - template class,class> class Meta> + template class> class Meta> void FlatZincSpace::runMeta(std::ostream& out, const Printer& p, const FlatZincOptions& opt, Support::Timer& t_total) { @@ -1471,22 +1575,22 @@ namespace Gecode { namespace FlatZinc { Support::Timer t_solve; t_solve.start(); if (status(sstat) != SS_FAILED) { - n_p = propagators(); + n_p = PropagatorGroup::all.size(*this); } Search::Options o; - o.stop = Driver::CombinedStop::create(opt.node(), opt.fail(), opt.time(), + o.stop = Driver::CombinedStop::create(opt.node(), opt.fail(), opt.time(), true); o.c_d = opt.c_d(); o.a_d = opt.a_d(); -#ifdef GECODE_HAS_FLOAT_VARS +#ifdef GECODE_HAS_FLOAT_VARS step = opt.step(); #endif o.threads = opt.threads(); o.nogoods_limit = opt.nogoods() ? opt.nogoods_limit() : 0; - o.cutoff = Driver::createCutoff(opt); + o.cutoff = new Search::CutoffAppend(new Search::CutoffConstant(0), 1, Driver::createCutoff(opt)); if (opt.interrupt()) Driver::CombinedStop::installCtrlHandler(true); - Meta se(this,o); + Meta se(this,o); int noOfSolutions = opt.solutions(); if (noOfSolutions == -1) { noOfSolutions = (_method == SAT) ? 1 : 0; @@ -1530,9 +1634,9 @@ namespace Gecode { namespace FlatZinc { << "%% solvetime: "; Driver::stop(t_solve,out); out << endl - << "%% solutions: " + << "%% solutions: " << std::abs(noOfSolutions - findSol) << endl - << "%% variables: " + << "%% variables: " << (intVarCount + boolVarCount + setVarCount) << endl << "%% propagators: " << n_p << endl << "%% propagations: " << sstat.propagate+stat.propagate << endl @@ -1600,7 +1704,7 @@ namespace Gecode { namespace FlatZinc { FlatZincSpace::constrain(const Space& s) { if (_optVarIsInt) { if (_method == MIN) - rel(*this, iv[_optVar], IRT_LE, + rel(*this, iv[_optVar], IRT_LE, static_cast(&s)->iv[_optVar].val()); else if (_method == MAX) rel(*this, iv[_optVar], IRT_GR, @@ -1608,7 +1712,7 @@ namespace Gecode { namespace FlatZinc { } else { #ifdef GECODE_HAS_FLOAT_VARS if (_method == MIN) - rel(*this, fv[_optVar], FRT_LE, + rel(*this, fv[_optVar], FRT_LE, static_cast(&s)->fv[_optVar].val()-step); else if (_method == MAX) rel(*this, fv[_optVar], FRT_GR, @@ -1618,9 +1722,19 @@ namespace Gecode { namespace FlatZinc { } bool - FlatZincSpace::slave(const CRI& cri) { - if (cri.restart() != 0 && _lns > 0 && cri.last()) { - const FlatZincSpace& last = static_cast(*cri.last()); + FlatZincSpace::slave(const MetaInfo& mi) { + if ((mi.type() == MetaInfo::RESTART) && (mi.restart() != 0) && + (_lns > 0) && (mi.last()==NULL) && (_lnsInitialSolution.size()>0)) { + for (unsigned int i=iv_lns.size(); i--;) { + if ((*_random)(99) <= _lns) { + rel(*this, iv_lns[i], IRT_EQ, _lnsInitialSolution[i]); + } + } + return false; + } else if ((mi.type() == MetaInfo::RESTART) && (mi.restart() != 0) && + (_lns > 0) && mi.last()) { + const FlatZincSpace& last = + static_cast(*mi.last()); for (unsigned int i=iv_lns.size(); i--;) { if ((*_random)(99) <= _lns) { rel(*this, iv_lns[i], IRT_EQ, last.iv_lns[i]); @@ -1770,7 +1884,7 @@ namespace Gecode { namespace FlatZinc { IntSetArgs emptyIa(0); return emptyIa; } - IntSetArgs ia(a->a.size()+offset); + IntSetArgs ia(a->a.size()+offset); for (int i=offset; i--;) ia[i] = IntSet::empty; for (int i=a->a.size(); i--;) { @@ -1790,11 +1904,11 @@ namespace Gecode { namespace FlatZinc { ia[i] = IntVar(*this, 0, 0); for (int i=a->a.size(); i--;) { if (a->a[i]->isIntVar()) { - ia[i+offset] = iv[a->a[i]->getIntVar()]; + ia[i+offset] = iv[a->a[i]->getIntVar()]; } else { int value = a->a[i]->getInt(); IntVar iv(*this, value, value); - ia[i+offset] = iv; + ia[i+offset] = iv; } } return ia; @@ -1842,7 +1956,7 @@ namespace Gecode { namespace FlatZinc { if (n->isIntVar()) { x0 = iv[n->getIntVar()]; } else { - x0 = IntVar(*this, n->getInt(), n->getInt()); + x0 = IntVar(*this, n->getInt(), n->getInt()); } return x0; } @@ -1917,7 +2031,7 @@ namespace Gecode { namespace FlatZinc { fa[i] = FloatVar(*this, 0.0, 0.0); for (int i=a->a.size(); i--;) { if (a->a[i]->isFloatVar()) { - fa[i+offset] = fv[a->a[i]->getFloatVar()]; + fa[i+offset] = fv[a->a[i]->getFloatVar()]; } else { double value = a->a[i]->getFloat(); FloatVar fv(*this, value, value); @@ -1937,20 +2051,20 @@ namespace Gecode { namespace FlatZinc { return x0; } #endif - IntConLevel - FlatZincSpace::ann2icl(AST::Node* ann) { + IntPropLevel + FlatZincSpace::ann2ipl(AST::Node* ann) { if (ann) { if (ann->hasAtom("val")) - return ICL_VAL; + return IPL_VAL; if (ann->hasAtom("domain")) - return ICL_DOM; + return IPL_DOM; if (ann->hasAtom("bounds") || ann->hasAtom("boundsR") || ann->hasAtom("boundsD") || ann->hasAtom("boundsZ")) - return ICL_BND; + return IPL_BND; } - return ICL_DEF; + return IPL_DEF; } @@ -2167,7 +2281,7 @@ namespace Gecode { namespace FlatZinc { (void) fv1; (void) fv2; #endif - + #endif } @@ -2269,9 +2383,30 @@ namespace Gecode { namespace FlatZinc { } } + void + Printer::addIntVarName(const std::string& n) { + iv_names.push_back(n); + } + void + Printer::addBoolVarName(const std::string& n) { + bv_names.push_back(n); + } +#ifdef GECODE_HAS_FLOAT_VARS + void + Printer::addFloatVarName(const std::string& n) { + fv_names.push_back(n); + } +#endif +#ifdef GECODE_HAS_SET_VARS + void + Printer::addSetVarName(const std::string& n) { + sv_names.push_back(n); + } +#endif + void Printer::shrinkElement(AST::Node* node, - std::map& iv, std::map& bv, + std::map& iv, std::map& bv, std::map& sv, std::map& fv) { if (node->isIntVar()) { AST::IntVar* x = static_cast(node); @@ -2293,14 +2428,14 @@ namespace Gecode { namespace FlatZinc { int newi = sv.size(); sv[x->i] = newi; } - x->i = sv[x->i]; + x->i = sv[x->i]; } else if (node->isFloatVar()) { AST::FloatVar* x = static_cast(node); if (fv.find(x->i) == fv.end()) { int newi = fv.size(); fv[x->i] = newi; } - x->i = fv[x->i]; + x->i = fv[x->i]; } } diff --git a/gecode/flatzinc/lexer.lxx b/gecode/flatzinc/lexer.lxx index 1534efb33f..5693b0b94e 100644 --- a/gecode/flatzinc/lexer.lxx +++ b/gecode/flatzinc/lexer.lxx @@ -149,12 +149,12 @@ int yy_input_proc(char* buf, int size, yyscan_t yyscanner); _[_]*[A-Za-z][A-Za-z0-9_]* { yylval->sValue = strdup(yytext); return FZ_U_ID; } \"[^"\n]*\" { yylval->sValue = strdup(yytext+1); - yylval->sValue[strlen(yytext)-2] = 0; + yylval->sValue[strlen(yytext)-2] = 0; return FZ_STRING_LIT; } . { yyerror("Unknown character"); } %% int yy_input_proc(char* buf, int size, yyscan_t yyscanner) { - Gecode::FlatZinc::ParserState* parm = + Gecode::FlatZinc::ParserState* parm = static_cast(yyget_extra(yyscanner)); return parm->fillBuffer(buf, size); // work around warning that yyunput is unused diff --git a/gecode/flatzinc/lexer.yy.cpp b/gecode/flatzinc/lexer.yy.cpp index 7f9fce28d3..0ef6c8e341 100644 --- a/gecode/flatzinc/lexer.yy.cpp +++ b/gecode/flatzinc/lexer.yy.cpp @@ -8,8 +8,8 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 1 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -88,25 +88,13 @@ typedef unsigned int flex_uint32_t; #endif /* ! FLEXINT_H */ -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif /* Returned upon end-of-file. */ @@ -159,7 +147,15 @@ typedef void* yyscan_t; /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -230,12 +226,12 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -314,7 +310,7 @@ static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner ); +YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); void *yyalloc (yy_size_t ,yyscan_t yyscanner ); void *yyrealloc (void *,yy_size_t ,yyscan_t yyscanner ); @@ -346,7 +342,7 @@ void yyfree (void * ,yyscan_t yyscanner ); /* Begin user sect3 */ -#define yywrap(yyscanner) 1 +#define yywrap(yyscanner) (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -358,14 +354,14 @@ typedef int yy_state_type; static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); static int yy_get_next_buffer (yyscan_t yyscanner ); -static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); +static void yynoreturn yy_fatal_error (yyconst char* msg ,yyscan_t yyscanner ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yyg->yytext_ptr = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; @@ -407,7 +403,7 @@ static yyconst flex_int16_t yy_accept[221] = 41, 52, 15, 20, 52, 52, 52, 52, 50, 0 } ; -static yyconst flex_int32_t yy_ec[256] = +static yyconst YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, @@ -439,7 +435,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[41] = +static yyconst YY_CHAR yy_meta[41] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, 1, 4, 4, 5, 5, 4, 4, 4, @@ -447,7 +443,7 @@ static yyconst flex_int32_t yy_meta[41] = 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 } ; -static yyconst flex_int16_t yy_base[227] = +static yyconst flex_uint16_t yy_base[227] = { 0, 0, 0, 276, 277, 277, 277, 271, 0, 277, 31, 265, 35, 18, 260, 0, 255, 20, 241, 33, 248, @@ -505,7 +501,7 @@ static yyconst flex_int16_t yy_def[227] = 220, 220, 220, 220, 220, 220 } ; -static yyconst flex_int16_t yy_nxt[318] = +static yyconst flex_uint16_t yy_nxt[318] = { 0, 4, 5, 6, 7, 8, 9, 4, 10, 11, 12, 13, 13, 14, 15, 15, 15, 16, 17, 18, 19, @@ -668,7 +664,7 @@ bool parseInt(const char* text, int& value) { int yy_input_proc(char* buf, int size, yyscan_t yyscanner); #define YY_INPUT(buf, result, max_size) \ result = yy_input_proc(buf, max_size, yyscanner); -#line 672 "gecode/flatzinc/lexer.yy.cpp" +#line 668 "gecode/flatzinc/lexer.yy.cpp" #define INITIAL 0 @@ -697,8 +693,8 @@ struct yyguts_t size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -745,23 +741,23 @@ void yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); FILE *yyget_in (yyscan_t yyscanner ); -void yyset_in (FILE * in_str ,yyscan_t yyscanner ); +void yyset_in (FILE * _in_str ,yyscan_t yyscanner ); FILE *yyget_out (yyscan_t yyscanner ); -void yyset_out (FILE * out_str ,yyscan_t yyscanner ); +void yyset_out (FILE * _out_str ,yyscan_t yyscanner ); -yy_size_t yyget_leng (yyscan_t yyscanner ); + int yyget_leng (yyscan_t yyscanner ); char *yyget_text (yyscan_t yyscanner ); int yyget_lineno (yyscan_t yyscanner ); -void yyset_lineno (int line_number ,yyscan_t yyscanner ); +void yyset_lineno (int _line_number ,yyscan_t yyscanner ); int yyget_column (yyscan_t yyscanner ); -void yyset_column (int column_no ,yyscan_t yyscanner ); +void yyset_column (int _column_no ,yyscan_t yyscanner ); YYSTYPE * yyget_lval (yyscan_t yyscanner ); @@ -779,8 +775,12 @@ extern int yywrap (yyscan_t yyscanner ); #endif #endif +#ifndef YY_NO_UNPUT + static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner); +#endif + #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); #endif @@ -801,7 +801,12 @@ static int input (yyscan_t yyscanner ); /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -809,7 +814,7 @@ static int input (yyscan_t yyscanner ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -833,7 +838,7 @@ static int input (yyscan_t yyscanner ); else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -890,7 +895,7 @@ extern int yylex \ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif #define YY_RULE_SETUP \ @@ -900,9 +905,9 @@ extern int yylex \ */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yylval = yylval_param; @@ -937,9 +942,9 @@ YY_DECL #line 79 "./gecode/flatzinc/lexer.lxx" -#line 941 "gecode/flatzinc/lexer.yy.cpp" +#line 946 "gecode/flatzinc/lexer.yy.cpp" - while ( 1 ) /* loops until end-of-file is reached */ + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yy_cp = yyg->yy_c_buf_p; @@ -955,7 +960,7 @@ YY_DECL yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { yyg->yy_last_accepting_state = yy_current_state; @@ -967,7 +972,7 @@ YY_DECL if ( yy_current_state >= 221 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 277 ); @@ -1292,7 +1297,7 @@ YY_RULE_SETUP #line 150 "./gecode/flatzinc/lexer.lxx" { yylval->sValue = strdup(yytext+1); - yylval->sValue[strlen(yytext)-2] = 0; + yylval->sValue[strlen(yytext)-2] = 0; return FZ_STRING_LIT; } YY_BREAK case 55: @@ -1305,7 +1310,7 @@ YY_RULE_SETUP #line 155 "./gecode/flatzinc/lexer.lxx" ECHO; YY_BREAK -#line 1309 "gecode/flatzinc/lexer.yy.cpp" +#line 1314 "gecode/flatzinc/lexer.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1449,9 +1454,9 @@ case YY_STATE_EOF(INITIAL): static int yy_get_next_buffer (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = yyg->yytext_ptr; - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = yyg->yytext_ptr; + yy_size_t number_to_move, i; int ret_val; if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) @@ -1480,7 +1485,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + number_to_move = (yy_size_t) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1493,7 +1498,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -1507,7 +1512,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1520,7 +1525,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -1562,9 +1567,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((int) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); @@ -1583,15 +1588,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner) static yy_state_type yy_get_previous_state (yyscan_t yyscanner) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yy_current_state = yyg->yy_start; for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { yyg->yy_last_accepting_state = yy_current_state; @@ -1603,7 +1608,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) if ( yy_current_state >= 221 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; } return yy_current_state; @@ -1616,11 +1621,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner) */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) { - register int yy_is_jam; + int yy_is_jam; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ - register char *yy_cp = yyg->yy_c_buf_p; + char *yy_cp = yyg->yy_c_buf_p; - register YY_CHAR yy_c = 1; + YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { yyg->yy_last_accepting_state = yy_current_state; @@ -1632,16 +1637,18 @@ static int yy_get_next_buffer (yyscan_t yyscanner) if ( yy_current_state >= 221 ) yy_c = yy_meta[(unsigned int) yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c]; yy_is_jam = (yy_current_state == 220); (void)yyg; return yy_is_jam ? 0 : yy_current_state; } - static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner) +#ifndef YY_NO_UNPUT + + static void yyunput (int c, char * yy_bp , yyscan_t yyscanner) { - register char *yy_cp; + char *yy_cp; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; yy_cp = yyg->yy_c_buf_p; @@ -1652,10 +1659,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner) if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register yy_size_t number_to_move = yyg->yy_n_chars + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + int number_to_move = yyg->yy_n_chars + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = + char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -1664,7 +1671,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + yyg->yy_n_chars = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); @@ -1681,6 +1688,8 @@ static int yy_get_next_buffer (yyscan_t yyscanner) yyg->yy_c_buf_p = yy_cp; } +#endif + #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (yyscan_t yyscanner) @@ -1706,7 +1715,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch ( yy_get_next_buffer( yyscanner ) ) @@ -1730,7 +1739,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner) case EOB_ACT_END_OF_FILE: { if ( yywrap(yyscanner ) ) - return EOF; + return 0; if ( ! yyg->yy_did_buffer_switch_on_eof ) YY_NEW_FILE; @@ -1841,7 +1850,7 @@ static void yy_load_buffer_state (yyscan_t yyscanner) if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - b->yy_buf_size = size; + b->yy_buf_size = (yy_size_t)size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. @@ -1993,7 +2002,7 @@ void yypop_buffer_state (yyscan_t yyscanner) */ static void yyensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; if (!yyg->yy_buffer_stack) { @@ -2002,7 +2011,7 @@ static void yyensure_buffer_stack (yyscan_t yyscanner) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) , yyscanner); @@ -2019,7 +2028,7 @@ static void yyensure_buffer_stack (yyscan_t yyscanner) if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = yyg->yy_buffer_stack_max + grow_size; yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc @@ -2049,7 +2058,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscann base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); if ( ! b ) @@ -2058,7 +2067,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscann b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -2081,7 +2090,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscann YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) { - return yy_scan_bytes(yystr,strlen(yystr) ,yyscanner); + return yy_scan_bytes(yystr,(int) strlen(yystr) ,yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will @@ -2091,7 +2100,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner) * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner) +YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; @@ -2099,7 +2108,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len yy_size_t i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) _yybytes_len + 2; buf = (char *) yyalloc(n ,yyscanner ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); @@ -2125,9 +2134,11 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len #define YY_EXIT_FAILURE 2 #endif -static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +static void yynoreturn yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) { - (void) fprintf( stderr, "%s\n", msg ); + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -2206,7 +2217,7 @@ FILE *yyget_out (yyscan_t yyscanner) /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t yyget_leng (yyscan_t yyscanner) +int yyget_leng (yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; return yyleng; @@ -2233,10 +2244,10 @@ void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) } /** Set the current line number. - * @param line_number + * @param _line_number line number * @param yyscanner The scanner object. */ -void yyset_lineno (int line_number , yyscan_t yyscanner) +void yyset_lineno (int _line_number , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; @@ -2244,14 +2255,14 @@ void yyset_lineno (int line_number , yyscan_t yyscanner) if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "yyset_lineno called with no buffer" ); - yylineno = line_number; + yylineno = _line_number; } /** Set the current column. - * @param line_number + * @param _column_no column number * @param yyscanner The scanner object. */ -void yyset_column (int column_no , yyscan_t yyscanner) +void yyset_column (int _column_no , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; @@ -2259,25 +2270,25 @@ void yyset_column (int column_no , yyscan_t yyscanner) if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "yyset_column called with no buffer" ); - yycolumn = column_no; + yycolumn = _column_no; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * @param yyscanner The scanner object. * @see yy_switch_to_buffer */ -void yyset_in (FILE * in_str , yyscan_t yyscanner) +void yyset_in (FILE * _in_str , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yyin = in_str ; + yyin = _in_str ; } -void yyset_out (FILE * out_str , yyscan_t yyscanner) +void yyset_out (FILE * _out_str , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yyout = out_str ; + yyout = _out_str ; } int yyget_debug (yyscan_t yyscanner) @@ -2286,10 +2297,10 @@ int yyget_debug (yyscan_t yyscanner) return yy_flex_debug; } -void yyset_debug (int bdebug , yyscan_t yyscanner) +void yyset_debug (int _bdebug , yyscan_t yyscanner) { struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } /* Accessor methods for yylval and yylloc */ @@ -2377,10 +2388,10 @@ static int yy_init_globals (yyscan_t yyscanner) * This function is called from yylex_destroy(), so don't allocate here. */ - yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack = NULL; yyg->yy_buffer_stack_top = 0; yyg->yy_buffer_stack_max = 0; - yyg->yy_c_buf_p = (char *) 0; + yyg->yy_c_buf_p = NULL; yyg->yy_init = 0; yyg->yy_start = 0; @@ -2393,8 +2404,8 @@ static int yy_init_globals (yyscan_t yyscanner) yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by @@ -2440,7 +2451,10 @@ int yylex_destroy (yyscan_t yyscanner) #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) { - register int i; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2449,7 +2463,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2459,11 +2473,16 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) void *yyalloc (yy_size_t size , yyscan_t yyscanner) { - return (void *) malloc( size ); + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + return malloc(size); } void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2471,11 +2490,13 @@ void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } void yyfree (void * ptr , yyscan_t yyscanner) { + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + (void)yyg; free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } @@ -2485,7 +2506,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) int yy_input_proc(char* buf, int size, yyscan_t yyscanner) { - Gecode::FlatZinc::ParserState* parm = + Gecode::FlatZinc::ParserState* parm = static_cast(yyget_extra(yyscanner)); return parm->fillBuffer(buf, size); // work around warning that yyunput is unused diff --git a/gecode/flatzinc/mznlib/alldifferent_except_0.mzn b/gecode/flatzinc/mznlib/alldifferent_except_0.mzn new file mode 100644 index 0000000000..0e6cac7644 --- /dev/null +++ b/gecode/flatzinc/mznlib/alldifferent_except_0.mzn @@ -0,0 +1,24 @@ +include "global_cardinality_low_up_closed.mzn"; + +/** @group globals.alldifferent + Constrain the array of integers \a vs to be all different except those + elements that are assigned the value 0. +*/ +predicate alldifferent_except_0(array[int] of var int: vs) = + if length(vs)==0 then true + else + let { + int: l = lb_array(vs); + int: u = ub_array(vs); + } in + if l != -infinity /\ u != infinity then + global_cardinality_low_up_closed(vs, [i | i in l..u], + [0 | i in l..u], + [if i==0 then length(vs) else 1 endif | i in l..u] + ) + else + forall(i, j in index_set(vs) where i < j) ( + (vs[i] != 0 /\ vs[j] != 0) -> vs[i] != vs[j] + ) + endif + endif; diff --git a/gecode/flatzinc/mznlib/cumulative.mzn b/gecode/flatzinc/mznlib/cumulative.mzn index 420c17fa86..09b51a5673 100644 --- a/gecode/flatzinc/mznlib/cumulative.mzn +++ b/gecode/flatzinc/mznlib/cumulative.mzn @@ -38,7 +38,7 @@ predicate cumulative(array[int] of var int: s, array[int] of var int: d, - array[int] of var int: r, var int: b) = + array[int] of var int: r, var int: b) = assert(index_set(s) == index_set(d) /\ index_set(s) == index_set(r), "cumulative: the 3 array arguments must have identical index sets", assert(lb_array(d) >= 0 /\ lb_array(r) >= 0, diff --git a/gecode/flatzinc/mznlib/gecode.mzn b/gecode/flatzinc/mznlib/gecode.mzn index 8049f373f0..6adcc9a6f5 100644 --- a/gecode/flatzinc/mznlib/gecode.mzn +++ b/gecode/flatzinc/mznlib/gecode.mzn @@ -58,6 +58,11 @@ annotation float_default_search(ann: varsel, ann: valsel); % fixed to the previous solution is 'percentage' (out of 100). annotation relax_and_reconstruct(array[int] of var int: x, int: percentage); +% Simple LNS: upon restart, for each variable the probability of it being +% fixed to the previous solution is 'percentage' (out of 100). Start from +% an initial solution y. +annotation relax_and_reconstruct(array[int] of var int: x, int: percentage, array[int] of int: y); + % i in z <-> forall (j in x) (i in y[j]) predicate gecode_array_set_element_intersect(var set of int: x, array[int] of var set of int: y, var set of int: z); diff --git a/gecode/flatzinc/mznlib/redefinitions-2.0.mzn b/gecode/flatzinc/mznlib/redefinitions-2.0.mzn index 77da96349e..2bc9c419de 100644 --- a/gecode/flatzinc/mznlib/redefinitions-2.0.mzn +++ b/gecode/flatzinc/mznlib/redefinitions-2.0.mzn @@ -1,6 +1,10 @@ % This file contains redefinitions of standard builtins that can be overridden % by solvers. +predicate bool_clause_reif(array[int] of var bool: as, + array[int] of var bool: bs, + var bool: b); + predicate array_int_maximum(var int: m, array[int] of var int: x); predicate array_float_maximum(var float: m, array[int] of var float: x) = diff --git a/gecode/flatzinc/mznlib/roots.mzn b/gecode/flatzinc/mznlib/roots.mzn index 3f73369238..25b5d5e847 100644 --- a/gecode/flatzinc/mznlib/roots.mzn +++ b/gecode/flatzinc/mznlib/roots.mzn @@ -56,7 +56,7 @@ predicate roots(array[int] of var int: x, var set of int: s, else let { array[1..max(ub(t))] of var set of 0..max(index_set(x)): y, } in - int_set_channel(x,y) + int_set_channel(x,y) /\ gecode_array_set_element_union(t,y,s) endif diff --git a/gecode/flatzinc/parser.hh b/gecode/flatzinc/parser.hh index 03496393c8..44c788cbbc 100644 --- a/gecode/flatzinc/parser.hh +++ b/gecode/flatzinc/parser.hh @@ -196,7 +196,7 @@ namespace Gecode { namespace FlatZinc { Gecode::FlatZinc::FlatZincSpace* fg0) : buf(buf0), pos(0), length(length0), fg(fg0), hadError(false), err(err0) {} - + void* yyscanner; const char* buf; unsigned int pos, length; @@ -218,20 +218,20 @@ namespace Gecode { namespace FlatZinc { bool hadError; std::ostream& err; - + int fillBuffer(char* lexBuf, unsigned int lexBufSize) { if (pos >= length) return 0; int num = std::min(length - pos, lexBufSize); memcpy(lexBuf,buf+pos,num); pos += num; - return num; + return num; } void output(std::string x, AST::Node* n) { _output.push_back(std::pair(x,n)); } - + AST::Array* getOutput(void) { OutputOrder oo; std::sort(_output.begin(),_output.end(),oo); @@ -252,7 +252,7 @@ namespace Gecode { namespace FlatZinc { } return a; } - + }; }} diff --git a/gecode/flatzinc/parser.tab.cpp b/gecode/flatzinc/parser.tab.cpp index d8d958897f..d206cc51e9 100644 --- a/gecode/flatzinc/parser.tab.cpp +++ b/gecode/flatzinc/parser.tab.cpp @@ -1,19 +1,19 @@ -/* A Bison parser, made by GNU Bison 2.7.12-4996. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see . */ @@ -26,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.7.12-4996" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -62,8 +62,7 @@ /* Copy the first part of user declarations. */ -/* Line 371 of yacc.c */ -#line 40 "gecode/flatzinc/parser.yxx" +#line 41 "gecode/flatzinc/parser.yxx" /* yacc.c:339 */ #define YYPARSE_PARAM parm #define YYLEX_PARAM static_cast(parm)->yyscanner @@ -170,7 +169,7 @@ AST::Node* getArrayElement(ParserState* pp, string id, int offset, std::ostringstream oss; oss << id << "[" << offset << "]"; n = oss.str(); - } + } return new AST::FloatVar(pp->arrays[e.i+offset],n); } case ST_INTVALARRAY: @@ -211,7 +210,7 @@ AST::Node* getVarRefArg(ParserState* pp, string id, bool annotation = false) { default: break; } } - + if (annotation) return new AST::Atom(id); pp->err << "Error: undefined variable " << id @@ -330,7 +329,7 @@ void initfg(ParserState* pp) { } catch (Gecode::FlatZinc::Error& e) { yyerror(pp, e.toString().c_str()); } - } + } delete pp->setvars[i].second; pp->setvars[i].second = NULL; } @@ -342,29 +341,55 @@ void initfg(ParserState* pp) { } catch (Gecode::FlatZinc::Error& e) { yyerror(pp, e.toString().c_str()); } - } + } delete pp->floatvars[i].second; pp->floatvars[i].second = NULL; } - pp->fg->postConstraints(pp->domainConstraints); - pp->fg->postConstraints(pp->constraints); + if (!pp->hadError) { + pp->fg->postConstraints(pp->domainConstraints); + pp->fg->postConstraints(pp->constraints); + } } void fillPrinter(ParserState& pp, Gecode::FlatZinc::Printer& p) { p.init(pp.getOutput()); + for (unsigned int i=0; iargs->isArray()) { a = ann->args->getArray(); } else { a = new AST::Array(ann->args); } - + std::ostringstream oss; - + oss << "array" << a->a.size() << "d("; for (unsigned int i=0; ia.size(); i++) { AST::SetLit* s = a->a[i]->getSet(); @@ -410,12 +435,12 @@ namespace Gecode { namespace FlatZinc { } if (stat(filename.c_str(), &sbuf) == -1) { err << "Cannot stat file " << filename << endl; - return NULL; + return NULL; } data = (char*)mmap((caddr_t)0, sbuf.st_size, PROT_READ, MAP_SHARED, fd,0); if (data == (caddr_t)(-1)) { err << "Cannot mmap file " << filename << endl; - return NULL; + return NULL; } if (fzs == NULL) { @@ -441,7 +466,7 @@ namespace Gecode { namespace FlatZinc { // yydebug = 1; yyparse(&pp); fillPrinter(pp, p); - + if (pp.yyscanner) yylex_destroy(pp.yyscanner); return pp.hadError ? NULL : pp.fg; @@ -461,7 +486,7 @@ namespace Gecode { namespace FlatZinc { // yydebug = 1; yyparse(&pp); fillPrinter(pp, p); - + if (pp.yyscanner) yylex_destroy(pp.yyscanner); return pp.hadError ? NULL : pp.fg; @@ -470,14 +495,13 @@ namespace Gecode { namespace FlatZinc { }} -/* Line 371 of yacc.c */ -#line 475 "gecode/flatzinc/parser.tab.cpp" +#line 499 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:339 */ -# ifndef YY_NULL +# ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr +# define YY_NULLPTR nullptr # else -# define YY_NULL 0 +# define YY_NULLPTR 0 # endif # endif @@ -493,7 +517,7 @@ namespace Gecode { namespace FlatZinc { by #include "parser.tab.hpp". */ #ifndef YY_YY_GECODE_FLATZINC_PARSER_TAB_HPP_INCLUDED # define YY_YY_GECODE_FLATZINC_PARSER_TAB_HPP_INCLUDED -/* Enabling traces. */ +/* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 1 #endif @@ -501,66 +525,65 @@ namespace Gecode { namespace FlatZinc { extern int yydebug; #endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - FZ_INT_LIT = 258, - FZ_BOOL_LIT = 259, - FZ_FLOAT_LIT = 260, - FZ_ID = 261, - FZ_U_ID = 262, - FZ_STRING_LIT = 263, - FZ_VAR = 264, - FZ_PAR = 265, - FZ_ANNOTATION = 266, - FZ_ANY = 267, - FZ_ARRAY = 268, - FZ_BOOL = 269, - FZ_CASE = 270, - FZ_COLONCOLON = 271, - FZ_CONSTRAINT = 272, - FZ_DEFAULT = 273, - FZ_DOTDOT = 274, - FZ_ELSE = 275, - FZ_ELSEIF = 276, - FZ_ENDIF = 277, - FZ_ENUM = 278, - FZ_FLOAT = 279, - FZ_FUNCTION = 280, - FZ_IF = 281, - FZ_INCLUDE = 282, - FZ_INT = 283, - FZ_LET = 284, - FZ_MAXIMIZE = 285, - FZ_MINIMIZE = 286, - FZ_OF = 287, - FZ_SATISFY = 288, - FZ_OUTPUT = 289, - FZ_PREDICATE = 290, - FZ_RECORD = 291, - FZ_SET = 292, - FZ_SHOW = 293, - FZ_SHOWCOND = 294, - FZ_SOLVE = 295, - FZ_STRING = 296, - FZ_TEST = 297, - FZ_THEN = 298, - FZ_TUPLE = 299, - FZ_TYPE = 300, - FZ_VARIANT_RECORD = 301, - FZ_WHERE = 302 - }; + enum yytokentype + { + FZ_INT_LIT = 258, + FZ_BOOL_LIT = 259, + FZ_FLOAT_LIT = 260, + FZ_ID = 261, + FZ_U_ID = 262, + FZ_STRING_LIT = 263, + FZ_VAR = 264, + FZ_PAR = 265, + FZ_ANNOTATION = 266, + FZ_ANY = 267, + FZ_ARRAY = 268, + FZ_BOOL = 269, + FZ_CASE = 270, + FZ_COLONCOLON = 271, + FZ_CONSTRAINT = 272, + FZ_DEFAULT = 273, + FZ_DOTDOT = 274, + FZ_ELSE = 275, + FZ_ELSEIF = 276, + FZ_ENDIF = 277, + FZ_ENUM = 278, + FZ_FLOAT = 279, + FZ_FUNCTION = 280, + FZ_IF = 281, + FZ_INCLUDE = 282, + FZ_INT = 283, + FZ_LET = 284, + FZ_MAXIMIZE = 285, + FZ_MINIMIZE = 286, + FZ_OF = 287, + FZ_SATISFY = 288, + FZ_OUTPUT = 289, + FZ_PREDICATE = 290, + FZ_RECORD = 291, + FZ_SET = 292, + FZ_SHOW = 293, + FZ_SHOWCOND = 294, + FZ_SOLVE = 295, + FZ_STRING = 296, + FZ_TEST = 297, + FZ_THEN = 298, + FZ_TUPLE = 299, + FZ_TYPE = 300, + FZ_VARIANT_RECORD = 301, + FZ_WHERE = 302 + }; #endif - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { -/* Line 387 of yacc.c */ -#line 447 "gecode/flatzinc/parser.yxx" +#line 474 "gecode/flatzinc/parser.yxx" /* yacc.c:355 */ int iValue; char* sValue; bool bValue; double dValue; std::vector* setValue; Gecode::FlatZinc::AST::SetLit* setLit; @@ -576,35 +599,23 @@ typedef union YYSTYPE Gecode::FlatZinc::AST::Array* argVec; -/* Line 387 of yacc.c */ -#line 581 "gecode/flatzinc/parser.tab.cpp" -} YYSTYPE; +#line 603 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:355 */ +}; + +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus + int yyparse (void *parm); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ #endif /* !YY_YY_GECODE_FLATZINC_PARSER_TAB_HPP_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 390 of yacc.c */ -#line 608 "gecode/flatzinc/parser.tab.cpp" +#line 619 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:358 */ #ifdef short # undef short @@ -618,11 +629,8 @@ typedef unsigned char yytype_uint8; #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; #else -typedef short int yytype_int8; +typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 @@ -642,8 +650,7 @@ typedef short int yytype_int16; # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -665,11 +672,30 @@ typedef short int yytype_int16; # endif #endif -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if (! defined __GNUC__ || __GNUC__ < 2 \ - || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) -# define __attribute__(Spec) /* empty */ +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif @@ -680,24 +706,25 @@ typedef short int yytype_int16; # define YYUSE(E) /* empty */ #endif - -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(N) (N) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int yyi) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -static int -YYID (yyi) - int yyi; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return yyi; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined yyoverflow || YYERROR_VERBOSE @@ -716,8 +743,7 @@ YYID (yyi) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS @@ -729,8 +755,8 @@ YYID (yyi) # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -746,7 +772,7 @@ YYID (yyi) # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 @@ -754,15 +780,13 @@ YYID (yyi) # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -772,7 +796,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -797,16 +821,16 @@ union yyalloc elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) #endif @@ -825,7 +849,7 @@ union yyalloc for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ - while (YYID (0)) + while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ @@ -841,17 +865,19 @@ union yyalloc #define YYNNTS 68 /* YYNRULES -- Number of rules. */ #define YYNRULES 162 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 347 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 302 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -888,114 +914,26 @@ static const yytype_uint8 yytranslate[] = }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 9, 10, 12, 15, 19, 20, 22, - 25, 29, 30, 32, 35, 39, 45, 46, 49, 51, - 55, 59, 66, 74, 77, 79, 81, 85, 87, 89, - 91, 95, 97, 101, 103, 105, 112, 119, 126, 135, - 142, 149, 156, 165, 179, 193, 207, 223, 239, 255, - 271, 289, 291, 293, 298, 299, 302, 304, 308, 309, - 311, 315, 317, 319, 324, 325, 328, 330, 334, 338, - 340, 342, 347, 348, 351, 353, 357, 361, 363, 365, - 370, 371, 374, 376, 380, 384, 385, 388, 389, 392, - 393, 396, 397, 400, 407, 411, 416, 418, 422, 426, - 428, 433, 435, 439, 443, 447, 448, 451, 453, 457, - 458, 461, 463, 467, 468, 471, 473, 477, 478, 481, - 483, 487, 489, 493, 495, 499, 500, 503, 505, 507, - 509, 511, 513, 518, 519, 522, 524, 528, 530, 532, - 534, 539, 541, 543, 544, 546, 549, 553, 558, 560, - 562, 566, 568, 571, 576, 577, 579, 581, 583, 585, - 587, 589, 594 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int8 yyrhs[] = -{ - 59, 0, -1, 60, 62, 64, 98, 48, -1, -1, - 61, -1, 66, 48, -1, 61, 66, 48, -1, -1, - 63, -1, 75, 48, -1, 63, 75, 48, -1, -1, - 65, -1, 97, 48, -1, 65, 97, 48, -1, 35, - 6, 49, 67, 50, -1, -1, 68, 79, -1, 69, - -1, 68, 51, 69, -1, 70, 52, 6, -1, 13, - 53, 72, 54, 32, 71, -1, 13, 53, 72, 54, - 32, 9, 71, -1, 9, 71, -1, 71, -1, 99, - -1, 37, 32, 99, -1, 14, -1, 24, -1, 73, - -1, 72, 51, 73, -1, 28, -1, 3, 19, 3, - -1, 6, -1, 7, -1, 9, 99, 52, 74, 119, - 113, -1, 9, 100, 52, 74, 119, 113, -1, 9, - 101, 52, 74, 119, 113, -1, 9, 37, 32, 99, - 52, 74, 119, 113, -1, 28, 52, 74, 119, 55, - 114, -1, 24, 52, 74, 119, 55, 114, -1, 14, - 52, 74, 119, 55, 114, -1, 37, 32, 28, 52, - 74, 119, 55, 114, -1, 13, 53, 3, 19, 3, - 54, 32, 9, 99, 52, 74, 119, 93, -1, 13, - 53, 3, 19, 3, 54, 32, 9, 100, 52, 74, - 119, 94, -1, 13, 53, 3, 19, 3, 54, 32, - 9, 101, 52, 74, 119, 95, -1, 13, 53, 3, - 19, 3, 54, 32, 9, 37, 32, 99, 52, 74, - 119, 96, -1, 13, 53, 3, 19, 3, 54, 32, - 28, 52, 74, 119, 55, 53, 103, 54, -1, 13, - 53, 3, 19, 3, 54, 32, 14, 52, 74, 119, - 55, 53, 105, 54, -1, 13, 53, 3, 19, 3, - 54, 32, 24, 52, 74, 119, 55, 53, 107, 54, - -1, 13, 53, 3, 19, 3, 54, 32, 37, 32, - 28, 52, 74, 119, 55, 53, 109, 54, -1, 3, - -1, 74, -1, 74, 53, 3, 54, -1, -1, 78, - 79, -1, 76, -1, 78, 51, 76, -1, -1, 51, - -1, 53, 77, 54, -1, 5, -1, 74, -1, 74, - 53, 3, 54, -1, -1, 83, 79, -1, 81, -1, - 83, 51, 81, -1, 53, 82, 54, -1, 4, -1, - 74, -1, 74, 53, 3, 54, -1, -1, 87, 79, - -1, 85, -1, 87, 51, 85, -1, 53, 86, 54, - -1, 102, -1, 74, -1, 74, 53, 3, 54, -1, - -1, 91, 79, -1, 89, -1, 91, 51, 89, -1, - 53, 90, 54, -1, -1, 55, 80, -1, -1, 55, - 88, -1, -1, 55, 84, -1, -1, 55, 92, -1, - 17, 6, 49, 111, 50, 119, -1, 40, 119, 33, - -1, 40, 119, 118, 117, -1, 28, -1, 56, 103, - 57, -1, 3, 19, 3, -1, 14, -1, 56, 106, - 79, 57, -1, 24, -1, 5, 19, 5, -1, 56, - 103, 57, -1, 3, 19, 3, -1, -1, 104, 79, - -1, 3, -1, 104, 51, 3, -1, -1, 106, 79, - -1, 4, -1, 106, 51, 4, -1, -1, 108, 79, - -1, 5, -1, 108, 51, 5, -1, -1, 110, 79, - -1, 102, -1, 110, 51, 102, -1, 112, -1, 111, - 51, 112, -1, 114, -1, 53, 115, 54, -1, -1, - 55, 114, -1, 4, -1, 3, -1, 5, -1, 102, - -1, 74, -1, 74, 53, 114, 54, -1, -1, 116, - 79, -1, 114, -1, 116, 51, 114, -1, 74, -1, - 3, -1, 5, -1, 74, 53, 3, 54, -1, 31, - -1, 30, -1, -1, 120, -1, 16, 121, -1, 120, - 16, 121, -1, 6, 49, 122, 50, -1, 123, -1, - 121, -1, 122, 51, 121, -1, 125, -1, 53, 54, - -1, 53, 122, 124, 54, -1, -1, 51, -1, 4, - -1, 3, -1, 5, -1, 102, -1, 74, -1, 74, - 53, 125, 54, -1, 8, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 549, 549, 551, 553, 556, 557, 559, 561, 564, - 565, 567, 569, 572, 573, 580, 583, 585, 588, 589, - 592, 596, 597, 598, 599, 602, 604, 606, 607, 610, - 611, 614, 615, 621, 621, 624, 659, 694, 736, 772, - 781, 791, 800, 812, 882, 948, 1019, 1087, 1108, 1128, - 1148, 1171, 1175, 1190, 1214, 1215, 1219, 1221, 1224, 1224, - 1226, 1230, 1232, 1247, 1270, 1271, 1275, 1277, 1281, 1285, - 1287, 1302, 1325, 1326, 1330, 1332, 1335, 1338, 1340, 1355, - 1378, 1379, 1383, 1385, 1388, 1393, 1394, 1399, 1400, 1405, - 1406, 1411, 1412, 1416, 1511, 1525, 1550, 1552, 1554, 1560, - 1562, 1575, 1577, 1586, 1588, 1595, 1596, 1600, 1602, 1607, - 1608, 1612, 1614, 1619, 1620, 1624, 1626, 1631, 1632, 1636, - 1638, 1646, 1648, 1652, 1654, 1659, 1660, 1664, 1666, 1668, - 1670, 1672, 1768, 1783, 1784, 1788, 1790, 1798, 1832, 1839, - 1846, 1872, 1873, 1881, 1882, 1886, 1888, 1892, 1896, 1900, - 1902, 1906, 1908, 1910, 1913, 1913, 1916, 1918, 1920, 1922, - 1924, 2030, 2041 + 0, 576, 576, 578, 580, 583, 584, 586, 588, 591, + 592, 594, 596, 599, 600, 607, 610, 612, 615, 616, + 619, 623, 624, 625, 626, 629, 631, 633, 634, 637, + 638, 641, 642, 648, 648, 651, 683, 715, 754, 787, + 796, 806, 815, 827, 897, 963, 1034, 1102, 1123, 1143, + 1163, 1186, 1190, 1205, 1229, 1230, 1234, 1236, 1239, 1239, + 1241, 1245, 1247, 1262, 1285, 1286, 1290, 1292, 1296, 1300, + 1302, 1317, 1340, 1341, 1345, 1347, 1350, 1353, 1355, 1370, + 1393, 1394, 1398, 1400, 1403, 1408, 1409, 1414, 1415, 1420, + 1421, 1426, 1427, 1431, 1542, 1556, 1581, 1583, 1585, 1591, + 1593, 1606, 1608, 1617, 1619, 1626, 1627, 1631, 1633, 1638, + 1639, 1643, 1645, 1650, 1651, 1655, 1657, 1662, 1663, 1667, + 1669, 1677, 1679, 1683, 1685, 1690, 1691, 1695, 1697, 1699, + 1701, 1703, 1799, 1814, 1815, 1819, 1821, 1829, 1863, 1870, + 1877, 1903, 1904, 1912, 1913, 1917, 1919, 1923, 1927, 1931, + 1933, 1937, 1939, 1941, 1944, 1944, 1947, 1949, 1951, 1953, + 1955, 2061, 2072 }; #endif @@ -1034,13 +972,13 @@ static const char *const yytname[] = "non_array_expr_opt", "non_array_expr", "non_array_expr_list", "non_array_expr_list_head", "solve_expr", "minmax", "annotations", "annotations_head", "annotation", "annotation_list", "annotation_expr", - "annotation_list_tail", "ann_non_array_expr", YY_NULL + "annotation_list_tail", "ann_non_array_expr", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, @@ -1052,107 +990,18 @@ static const yytype_uint16 yytoknum[] = }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 58, 59, 60, 60, 61, 61, 62, 62, 63, - 63, 64, 64, 65, 65, 66, 67, 67, 68, 68, - 69, 70, 70, 70, 70, 71, 71, 71, 71, 72, - 72, 73, 73, 74, 74, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 76, 76, 76, 77, 77, 78, 78, 79, 79, - 80, 81, 81, 81, 82, 82, 83, 83, 84, 85, - 85, 85, 86, 86, 87, 87, 88, 89, 89, 89, - 90, 90, 91, 91, 92, 93, 93, 94, 94, 95, - 95, 96, 96, 97, 98, 98, 99, 99, 99, 100, - 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, - 105, 106, 106, 107, 107, 108, 108, 109, 109, 110, - 110, 111, 111, 112, 112, 113, 113, 114, 114, 114, - 114, 114, 114, 115, 115, 116, 116, 117, 117, 117, - 117, 118, 118, 119, 119, 120, 120, 121, 121, 122, - 122, 123, 123, 123, 124, 124, 125, 125, 125, 125, - 125, 125, 125 -}; +#define YYPACT_NINF -123 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 5, 0, 1, 2, 3, 0, 1, 2, - 3, 0, 1, 2, 3, 5, 0, 2, 1, 3, - 3, 6, 7, 2, 1, 1, 3, 1, 1, 1, - 3, 1, 3, 1, 1, 6, 6, 6, 8, 6, - 6, 6, 8, 13, 13, 13, 15, 15, 15, 15, - 17, 1, 1, 4, 0, 2, 1, 3, 0, 1, - 3, 1, 1, 4, 0, 2, 1, 3, 3, 1, - 1, 4, 0, 2, 1, 3, 3, 1, 1, 4, - 0, 2, 1, 3, 3, 0, 2, 0, 2, 0, - 2, 0, 2, 6, 3, 4, 1, 3, 3, 1, - 4, 1, 3, 3, 3, 0, 2, 1, 3, 0, - 2, 1, 3, 0, 2, 1, 3, 0, 2, 1, - 3, 1, 3, 1, 3, 0, 2, 1, 1, 1, - 1, 1, 4, 0, 2, 1, 3, 1, 1, 1, - 4, 1, 1, 0, 1, 2, 3, 4, 1, 1, - 3, 1, 2, 4, 0, 1, 1, 1, 1, 1, - 1, 4, 1 -}; +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-123))) -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 3, 0, 0, 7, 4, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 11, 8, 0, 0, 5, 16, - 0, 0, 99, 101, 96, 0, 105, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, - 9, 6, 0, 0, 27, 28, 0, 105, 0, 58, - 18, 0, 24, 25, 0, 0, 0, 107, 111, 0, - 58, 58, 0, 0, 0, 0, 33, 34, 143, 143, - 143, 0, 0, 143, 0, 0, 13, 10, 23, 0, - 0, 15, 59, 17, 0, 98, 102, 0, 97, 59, - 106, 59, 0, 143, 143, 143, 0, 0, 0, 144, - 0, 0, 0, 0, 0, 2, 14, 0, 31, 0, - 29, 26, 19, 20, 0, 108, 112, 100, 125, 125, - 125, 0, 157, 156, 158, 33, 162, 0, 105, 160, - 159, 145, 148, 151, 0, 0, 0, 0, 143, 128, - 127, 129, 133, 131, 130, 0, 121, 123, 142, 141, - 94, 0, 0, 0, 0, 143, 0, 35, 36, 37, - 0, 0, 0, 152, 149, 154, 0, 0, 41, 146, - 40, 39, 0, 135, 0, 58, 0, 143, 0, 138, - 139, 137, 95, 32, 30, 0, 125, 126, 0, 104, - 0, 155, 0, 103, 0, 0, 124, 59, 134, 0, - 93, 122, 0, 0, 21, 38, 0, 0, 0, 0, - 0, 147, 0, 150, 153, 161, 42, 136, 132, 0, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 140, - 0, 0, 0, 0, 143, 143, 143, 0, 0, 143, - 143, 143, 0, 0, 0, 0, 0, 85, 87, 89, - 0, 0, 0, 143, 143, 0, 43, 0, 44, 0, - 45, 109, 113, 105, 0, 91, 54, 86, 72, 88, - 64, 90, 0, 58, 115, 0, 58, 0, 0, 0, - 46, 51, 52, 56, 0, 58, 69, 70, 74, 0, - 58, 61, 62, 66, 0, 58, 48, 110, 49, 59, - 114, 47, 117, 80, 92, 0, 60, 59, 55, 0, - 76, 59, 73, 0, 68, 59, 65, 116, 0, 119, - 0, 58, 78, 82, 0, 58, 77, 0, 57, 0, - 75, 0, 67, 50, 59, 118, 0, 84, 59, 81, - 53, 71, 63, 120, 0, 83, 79 -}; +#define YYTABLE_NINF -1 -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int16 yydefgoto[] = -{ - -1, 2, 3, 4, 14, 15, 36, 37, 5, 48, - 49, 50, 51, 52, 109, 110, 143, 16, 283, 284, - 285, 83, 267, 293, 294, 295, 271, 288, 289, 290, - 269, 323, 324, 325, 304, 256, 258, 260, 280, 38, - 74, 53, 28, 29, 144, 59, 60, 272, 61, 275, - 276, 320, 321, 145, 146, 157, 147, 174, 175, 182, - 151, 98, 99, 164, 165, 132, 192, 133 -}; +#define yytable_value_is_error(Yytable_value) \ + 0 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -123 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { -25, 13, 30, 253, -25, -20, -13, -123, 102, -7, @@ -1192,7 +1041,49 @@ static const yytype_int16 yypact[] = -123, -123, -123, -123, 294, -123, -123 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 3, 0, 0, 7, 4, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 11, 8, 0, 0, 5, 16, + 0, 0, 99, 101, 96, 0, 105, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, + 9, 6, 0, 0, 27, 28, 0, 105, 0, 58, + 18, 0, 24, 25, 0, 0, 0, 107, 111, 0, + 58, 58, 0, 0, 0, 0, 33, 34, 143, 143, + 143, 0, 0, 143, 0, 0, 13, 10, 23, 0, + 0, 15, 59, 17, 0, 98, 102, 0, 97, 59, + 106, 59, 0, 143, 143, 143, 0, 0, 0, 144, + 0, 0, 0, 0, 0, 2, 14, 0, 31, 0, + 29, 26, 19, 20, 0, 108, 112, 100, 125, 125, + 125, 0, 157, 156, 158, 33, 162, 0, 105, 160, + 159, 145, 148, 151, 0, 0, 0, 0, 143, 128, + 127, 129, 133, 131, 130, 0, 121, 123, 142, 141, + 94, 0, 0, 0, 0, 143, 0, 35, 36, 37, + 0, 0, 0, 152, 149, 154, 0, 0, 41, 146, + 40, 39, 0, 135, 0, 58, 0, 143, 0, 138, + 139, 137, 95, 32, 30, 0, 125, 126, 0, 104, + 0, 155, 0, 103, 0, 0, 124, 59, 134, 0, + 93, 122, 0, 0, 21, 38, 0, 0, 0, 0, + 0, 147, 0, 150, 153, 161, 42, 136, 132, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 140, + 0, 0, 0, 0, 143, 143, 143, 0, 0, 143, + 143, 143, 0, 0, 0, 0, 0, 85, 87, 89, + 0, 0, 0, 143, 143, 0, 43, 0, 44, 0, + 45, 109, 113, 105, 0, 91, 54, 86, 72, 88, + 64, 90, 0, 58, 115, 0, 58, 0, 0, 0, + 46, 51, 52, 56, 0, 58, 69, 70, 74, 0, + 58, 61, 62, 66, 0, 58, 48, 110, 49, 59, + 114, 47, 117, 80, 92, 0, 60, 59, 55, 0, + 76, 59, 73, 0, 68, 59, 65, 116, 0, 119, + 0, 58, 78, 82, 0, 58, 77, 0, 57, 0, + 75, 0, 67, 50, 59, 118, 0, 84, 59, 81, + 53, 71, 63, 120, 0, 83, 79 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -123, -123, -123, -123, -123, -123, -123, -123, 321, -123, @@ -1204,10 +1095,21 @@ static const yytype_int16 yypgoto[] = -123, 16, -123, -88, 195, -123, -123, 193 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ + -1, 2, 3, 4, 14, 15, 36, 37, 5, 48, + 49, 50, 51, 52, 109, 110, 143, 16, 283, 284, + 285, 83, 267, 293, 294, 295, 271, 288, 289, 290, + 269, 323, 324, 325, 304, 256, 258, 260, 280, 38, + 74, 53, 28, 29, 144, 59, 60, 272, 61, 275, + 276, 320, 321, 145, 146, 157, 147, 174, 175, 182, + 151, 98, 99, 164, 165, 132, 192, 133 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint16 yytable[] = { 68, 69, 70, 90, 92, 78, 166, 130, 27, 131, @@ -1249,12 +1151,6 @@ static const yytype_uint16 yytable[] = 194 }; -#define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-123))) - -#define yytable_value_is_error(Yytable_value) \ - YYID (0) - static const yytype_int16 yycheck[] = { 31, 32, 33, 60, 61, 42, 128, 97, 8, 97, @@ -1296,8 +1192,8 @@ static const yytype_int16 yycheck[] = 167 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 35, 59, 60, 61, 66, 6, 0, 9, 13, @@ -1337,30 +1233,60 @@ static const yytype_uint8 yystos[] = 54, 54, 54, 102, 3, 89, 54 }; -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ - -#define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 58, 59, 60, 60, 61, 61, 62, 62, 63, + 63, 64, 64, 65, 65, 66, 67, 67, 68, 68, + 69, 70, 70, 70, 70, 71, 71, 71, 71, 72, + 72, 73, 73, 74, 74, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 76, 76, 76, 77, 77, 78, 78, 79, 79, + 80, 81, 81, 81, 82, 82, 83, 83, 84, 85, + 85, 85, 86, 86, 87, 87, 88, 89, 89, 89, + 90, 90, 91, 91, 92, 93, 93, 94, 94, 95, + 95, 96, 96, 97, 98, 98, 99, 99, 99, 100, + 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, + 105, 106, 106, 107, 107, 108, 108, 109, 109, 110, + 110, 111, 111, 112, 112, 113, 113, 114, 114, 114, + 114, 114, 114, 115, 115, 116, 116, 117, 117, 117, + 117, 118, 118, 119, 119, 120, 120, 121, 121, 122, + 122, 123, 123, 123, 124, 124, 125, 125, 125, 125, + 125, 125, 125 +}; + + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 5, 0, 1, 2, 3, 0, 1, 2, + 3, 0, 1, 2, 3, 5, 0, 2, 1, 3, + 3, 6, 7, 2, 1, 1, 3, 1, 1, 1, + 3, 1, 3, 1, 1, 6, 6, 6, 8, 6, + 6, 6, 8, 13, 13, 13, 15, 15, 15, 15, + 17, 1, 1, 4, 0, 2, 1, 3, 0, 1, + 3, 1, 1, 4, 0, 2, 1, 3, 3, 1, + 1, 4, 0, 2, 1, 3, 3, 1, 1, 4, + 0, 2, 1, 3, 3, 0, 2, 0, 2, 0, + 2, 0, 2, 6, 3, 4, 1, 3, 3, 1, + 4, 1, 3, 3, 3, 0, 2, 1, 3, 0, + 2, 1, 3, 0, 2, 1, 3, 0, 2, 1, + 3, 1, 3, 1, 3, 0, 2, 1, 1, 1, + 1, 1, 4, 0, 2, 1, 3, 1, 1, 1, + 4, 1, 1, 0, 1, 2, 3, 4, 1, 1, + 3, 1, 2, 4, 0, 1, 1, 1, 1, 1, + 1, 4, 1 +}; + + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + #define YYRECOVERING() (!!yyerrstatus) @@ -1377,27 +1303,15 @@ do \ else \ { \ yyerror (parm, YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) /* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 +#define YYTERROR 1 +#define YYERRCODE 256 -/* This macro is provided for backward compatibility. */ -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX yylex (&yylval, YYLEX_PARAM) -#else -# define YYLEX yylex (&yylval) -#endif /* Enable debugging if requested. */ #if YYDEBUG @@ -1407,52 +1321,45 @@ while (YYID (0)) # define YYFPRINTF fprintf # endif -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value, parm); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value, parm); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *parm) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep, parm) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; - void *parm; -#endif { FILE *yyo = yyoutput; YYUSE (yyo); + YYUSE (parm); if (!yyvaluep) return; - YYUSE (parm); # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); # endif YYUSE (yytype); } @@ -1462,23 +1369,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep, parm) | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void *parm) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep, parm) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; - void *parm; -#endif { - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, parm); YYFPRINTF (yyoutput, ")"); @@ -1489,16 +1384,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep, parm) | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) -#else -static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; -#endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) @@ -1509,50 +1396,42 @@ yy_stack_print (yybottom, yytop) YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule, void *parm) -#else -static void -yy_reduce_print (yyvsp, yyrule, parm) - YYSTYPE *yyvsp; - int yyrule; - void *parm; -#endif +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, void *parm) { + unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; - unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); + yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - , parm); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + , parm); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule, parm); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule, parm); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -1566,7 +1445,7 @@ int yydebug; /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -1589,15 +1468,8 @@ int yydebug; # define yystrlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) @@ -1613,16 +1485,8 @@ yystrlen (yystr) # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif { char *yyd = yydest; const char *yys = yysrc; @@ -1652,27 +1516,27 @@ yytnamerr (char *yyres, const char *yystr) char const *yyp = yystr; for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; + + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; + + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } do_not_strip_quotes: ; } @@ -1695,11 +1559,11 @@ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { - YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *yyformat = YY_NULL; + const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1707,10 +1571,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, int yycount = 0; /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected @@ -1760,7 +1620,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, } yyarg[yycount++] = yytname[yyx]; { - YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; @@ -1827,28 +1687,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void *parm) -#else -static void -yydestruct (yymsg, yytype, yyvaluep, parm) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; - void *parm; -#endif { YYUSE (yyvaluep); YYUSE (parm); - if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END } @@ -1858,56 +1708,18 @@ yydestruct (yymsg, yytype, yyvaluep, parm) | yyparse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int yyparse (void *parm) -#else -int -yyparse (parm) - void *parm; -#endif -#endif { /* The lookahead symbol. */ int yychar; -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ -/* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ - _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") -# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ - _Pragma ("GCC diagnostic pop") -#else +/* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ -static YYSTYPE yyval_default; -# define YY_INITIAL_VALUE(Value) = Value -#endif -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ -#endif - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); +YY_INITIAL_VALUE (static YYSTYPE yyval_default;) +YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; @@ -1917,8 +1729,8 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); int yyerrstatus; /* The stacks and their tools: - `yyss': related to states. - `yyvs': related to semantic values. + 'yyss': related to states. + 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ @@ -1986,23 +1798,23 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); #ifdef yyoverflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE @@ -2010,22 +1822,22 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; + yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ @@ -2034,10 +1846,10 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -2066,7 +1878,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + yychar = yylex (&yylval, YYLEX_PARAM); } if (yychar <= YYEOF) @@ -2131,7 +1943,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -2145,177 +1957,164 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); switch (yyn) { case 15: -/* Line 1787 of yacc.c */ -#line 581 "gecode/flatzinc/parser.yxx" - { free((yyvsp[(2) - (5)].sValue)); } +#line 608 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { free((yyvsp[-3].sValue)); } +#line 1963 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 20: -/* Line 1787 of yacc.c */ -#line 593 "gecode/flatzinc/parser.yxx" - { free((yyvsp[(3) - (3)].sValue)); } +#line 620 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { free((yyvsp[0].sValue)); } +#line 1969 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 25: -/* Line 1787 of yacc.c */ -#line 603 "gecode/flatzinc/parser.yxx" - { if ((yyvsp[(1) - (1)].oSet)()) delete (yyvsp[(1) - (1)].oSet).some(); } +#line 630 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { if ((yyvsp[0].oSet)()) delete (yyvsp[0].oSet).some(); } +#line 1975 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 26: -/* Line 1787 of yacc.c */ -#line 605 "gecode/flatzinc/parser.yxx" - { if ((yyvsp[(3) - (3)].oSet)()) delete (yyvsp[(3) - (3)].oSet).some(); } +#line 632 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { if ((yyvsp[0].oSet)()) delete (yyvsp[0].oSet).some(); } +#line 1981 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 35: -/* Line 1787 of yacc.c */ -#line 625 "gecode/flatzinc/parser.yxx" +#line 652 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - bool print = (yyvsp[(5) - (6)].argVec)->hasAtom("output_var"); - bool introduced = (yyvsp[(5) - (6)].argVec)->hasAtom("var_is_introduced"); - bool funcDep = (yyvsp[(5) - (6)].argVec)->hasAtom("is_defined_var"); + bool print = (yyvsp[-1].argVec)->hasAtom("output_var"); + bool funcDep = (yyvsp[-1].argVec)->hasAtom("is_defined_var"); yyassert(pp, - pp->symbols.put((yyvsp[(4) - (6)].sValue), se_iv(pp->intvars.size())), + pp->symbols.put((yyvsp[-2].sValue), se_iv(pp->intvars.size())), "Duplicate symbol"); if (print) { - pp->output(std::string((yyvsp[(4) - (6)].sValue)), new AST::IntVar(pp->intvars.size())); - } else { - introduced = true; + pp->output(std::string((yyvsp[-2].sValue)), new AST::IntVar(pp->intvars.size())); } - if ((yyvsp[(6) - (6)].oArg)()) { - AST::Node* arg = (yyvsp[(6) - (6)].oArg).some(); + if ((yyvsp[0].oArg)()) { + AST::Node* arg = (yyvsp[0].oArg).some(); if (arg->isInt()) { - pp->intvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new IntVarSpec(arg->getInt(),introduced,funcDep))); + pp->intvars.push_back(varspec((yyvsp[-2].sValue), + new IntVarSpec(arg->getInt(),!print,funcDep))); } else if (arg->isIntVar()) { - pp->intvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new IntVarSpec(Alias(arg->getIntVar()),introduced,funcDep))); + pp->intvars.push_back(varspec((yyvsp[-2].sValue), + new IntVarSpec(Alias(arg->getIntVar()),!print,funcDep))); } else { yyassert(pp, false, "Invalid var int initializer"); } if (!pp->hadError) addDomainConstraint(pp, "int_in", - new AST::IntVar(pp->intvars.size()-1), (yyvsp[(2) - (6)].oSet)); + new AST::IntVar(pp->intvars.size()-1), (yyvsp[-4].oSet)); delete arg; } else { - pp->intvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new IntVarSpec((yyvsp[(2) - (6)].oSet),introduced,funcDep))); + pp->intvars.push_back(varspec((yyvsp[-2].sValue), + new IntVarSpec((yyvsp[-4].oSet),!print,funcDep))); } - delete (yyvsp[(5) - (6)].argVec); free((yyvsp[(4) - (6)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2017 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 36: -/* Line 1787 of yacc.c */ -#line 660 "gecode/flatzinc/parser.yxx" +#line 684 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - bool print = (yyvsp[(5) - (6)].argVec)->hasAtom("output_var"); - bool introduced = (yyvsp[(5) - (6)].argVec)->hasAtom("var_is_introduced"); - bool funcDep = (yyvsp[(5) - (6)].argVec)->hasAtom("is_defined_var"); + bool print = (yyvsp[-1].argVec)->hasAtom("output_var"); + bool funcDep = (yyvsp[-1].argVec)->hasAtom("is_defined_var"); yyassert(pp, - pp->symbols.put((yyvsp[(4) - (6)].sValue), se_bv(pp->boolvars.size())), + pp->symbols.put((yyvsp[-2].sValue), se_bv(pp->boolvars.size())), "Duplicate symbol"); if (print) { - pp->output(std::string((yyvsp[(4) - (6)].sValue)), new AST::BoolVar(pp->boolvars.size())); - } else { - introduced = true; + pp->output(std::string((yyvsp[-2].sValue)), new AST::BoolVar(pp->boolvars.size())); } - if ((yyvsp[(6) - (6)].oArg)()) { - AST::Node* arg = (yyvsp[(6) - (6)].oArg).some(); + if ((yyvsp[0].oArg)()) { + AST::Node* arg = (yyvsp[0].oArg).some(); if (arg->isBool()) { - pp->boolvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new BoolVarSpec(arg->getBool(),introduced,funcDep))); + pp->boolvars.push_back(varspec((yyvsp[-2].sValue), + new BoolVarSpec(arg->getBool(),!print,funcDep))); } else if (arg->isBoolVar()) { - pp->boolvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new BoolVarSpec(Alias(arg->getBoolVar()),introduced,funcDep))); + pp->boolvars.push_back(varspec((yyvsp[-2].sValue), + new BoolVarSpec(Alias(arg->getBoolVar()),!print,funcDep))); } else { yyassert(pp, false, "Invalid var bool initializer"); } if (!pp->hadError) addDomainConstraint(pp, "int_in", - new AST::BoolVar(pp->boolvars.size()-1), (yyvsp[(2) - (6)].oSet)); + new AST::BoolVar(pp->boolvars.size()-1), (yyvsp[-4].oSet)); delete arg; } else { - pp->boolvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new BoolVarSpec((yyvsp[(2) - (6)].oSet),introduced,funcDep))); + pp->boolvars.push_back(varspec((yyvsp[-2].sValue), + new BoolVarSpec((yyvsp[-4].oSet),!print,funcDep))); } - delete (yyvsp[(5) - (6)].argVec); free((yyvsp[(4) - (6)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2053 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 37: -/* Line 1787 of yacc.c */ -#line 695 "gecode/flatzinc/parser.yxx" +#line 716 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - bool print = (yyvsp[(5) - (6)].argVec)->hasAtom("output_var"); - bool introduced = (yyvsp[(5) - (6)].argVec)->hasAtom("var_is_introduced"); - bool funcDep = (yyvsp[(5) - (6)].argVec)->hasAtom("is_defined_var"); + bool print = (yyvsp[-1].argVec)->hasAtom("output_var"); + bool funcDep = (yyvsp[-1].argVec)->hasAtom("is_defined_var"); yyassert(pp, - pp->symbols.put((yyvsp[(4) - (6)].sValue), se_fv(pp->floatvars.size())), + pp->symbols.put((yyvsp[-2].sValue), se_fv(pp->floatvars.size())), "Duplicate symbol"); if (print) { - pp->output(std::string((yyvsp[(4) - (6)].sValue)), + pp->output(std::string((yyvsp[-2].sValue)), new AST::FloatVar(pp->floatvars.size())); - } else { - introduced = true; } - if ((yyvsp[(6) - (6)].oArg)()) { - AST::Node* arg = (yyvsp[(6) - (6)].oArg).some(); + if ((yyvsp[0].oArg)()) { + AST::Node* arg = (yyvsp[0].oArg).some(); if (arg->isFloat()) { - pp->floatvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new FloatVarSpec(arg->getFloat(),introduced,funcDep))); + pp->floatvars.push_back(varspec((yyvsp[-2].sValue), + new FloatVarSpec(arg->getFloat(),!print,funcDep))); } else if (arg->isFloatVar()) { - pp->floatvars.push_back(varspec((yyvsp[(4) - (6)].sValue), + pp->floatvars.push_back(varspec((yyvsp[-2].sValue), new FloatVarSpec( - Alias(arg->getFloatVar()),introduced,funcDep))); + Alias(arg->getFloatVar()),!print,funcDep))); } else { yyassert(pp, false, "Invalid var float initializer"); } - if (!pp->hadError && (yyvsp[(2) - (6)].oPFloat)()) { + if (!pp->hadError && (yyvsp[-4].oPFloat)()) { AST::FloatVar* fv = new AST::FloatVar(pp->floatvars.size()-1); - addDomainConstraint(pp, fv, (yyvsp[(2) - (6)].oPFloat)); + addDomainConstraint(pp, fv, (yyvsp[-4].oPFloat)); } delete arg; } else { Option > dom = - (yyvsp[(2) - (6)].oPFloat)() ? Option >::some(*(yyvsp[(2) - (6)].oPFloat).some()) + (yyvsp[-4].oPFloat)() ? Option >::some(*(yyvsp[-4].oPFloat).some()) : Option >::none(); - if ((yyvsp[(2) - (6)].oPFloat)()) delete (yyvsp[(2) - (6)].oPFloat).some(); - pp->floatvars.push_back(varspec((yyvsp[(4) - (6)].sValue), - new FloatVarSpec(dom,introduced,funcDep))); + if ((yyvsp[-4].oPFloat)()) delete (yyvsp[-4].oPFloat).some(); + pp->floatvars.push_back(varspec((yyvsp[-2].sValue), + new FloatVarSpec(dom,!print,funcDep))); } - delete (yyvsp[(5) - (6)].argVec); free((yyvsp[(4) - (6)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2096 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 38: -/* Line 1787 of yacc.c */ -#line 737 "gecode/flatzinc/parser.yxx" - { +#line 755 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); - bool print = (yyvsp[(7) - (8)].argVec)->hasAtom("output_var"); - bool introduced = (yyvsp[(7) - (8)].argVec)->hasAtom("var_is_introduced"); - bool funcDep = (yyvsp[(7) - (8)].argVec)->hasAtom("is_defined_var"); + bool print = (yyvsp[-1].argVec)->hasAtom("output_var"); + bool funcDep = (yyvsp[-1].argVec)->hasAtom("is_defined_var"); yyassert(pp, - pp->symbols.put((yyvsp[(6) - (8)].sValue), se_sv(pp->setvars.size())), + pp->symbols.put((yyvsp[-2].sValue), se_sv(pp->setvars.size())), "Duplicate symbol"); if (print) { - pp->output(std::string((yyvsp[(6) - (8)].sValue)), new AST::SetVar(pp->setvars.size())); - } else { - introduced = true; + pp->output(std::string((yyvsp[-2].sValue)), new AST::SetVar(pp->setvars.size())); } - if ((yyvsp[(8) - (8)].oArg)()) { - AST::Node* arg = (yyvsp[(8) - (8)].oArg).some(); + if ((yyvsp[0].oArg)()) { + AST::Node* arg = (yyvsp[0].oArg).some(); if (arg->isSet()) { - pp->setvars.push_back(varspec((yyvsp[(6) - (8)].sValue), - new SetVarSpec(arg->getSet(),introduced,funcDep))); + pp->setvars.push_back(varspec((yyvsp[-2].sValue), + new SetVarSpec(arg->getSet(),!print,funcDep))); } else if (arg->isSetVar()) { - pp->setvars.push_back(varspec((yyvsp[(6) - (8)].sValue), - new SetVarSpec(Alias(arg->getSetVar()),introduced,funcDep))); + pp->setvars.push_back(varspec((yyvsp[-2].sValue), + new SetVarSpec(Alias(arg->getSetVar()),!print,funcDep))); delete arg; } else { yyassert(pp, false, "Invalid var set initializer"); @@ -2323,87 +2122,87 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); } if (!pp->hadError) addDomainConstraint(pp, "set_subset", - new AST::SetVar(pp->setvars.size()-1), (yyvsp[(4) - (8)].oSet)); + new AST::SetVar(pp->setvars.size()-1), (yyvsp[-4].oSet)); } else { - pp->setvars.push_back(varspec((yyvsp[(6) - (8)].sValue), - new SetVarSpec((yyvsp[(4) - (8)].oSet),introduced,funcDep))); + pp->setvars.push_back(varspec((yyvsp[-2].sValue), + new SetVarSpec((yyvsp[-4].oSet),!print,funcDep))); } - delete (yyvsp[(7) - (8)].argVec); free((yyvsp[(6) - (8)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2133 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 39: -/* Line 1787 of yacc.c */ -#line 773 "gecode/flatzinc/parser.yxx" +#line 788 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(6) - (6)].arg)->isInt(), "Invalid int initializer"); + yyassert(pp, (yyvsp[0].arg)->isInt(), "Invalid int initializer"); yyassert(pp, - pp->symbols.put((yyvsp[(3) - (6)].sValue), se_i((yyvsp[(6) - (6)].arg)->getInt())), + pp->symbols.put((yyvsp[-3].sValue), se_i((yyvsp[0].arg)->getInt())), "Duplicate symbol"); - delete (yyvsp[(4) - (6)].argVec); free((yyvsp[(3) - (6)].sValue)); + delete (yyvsp[-2].argVec); free((yyvsp[-3].sValue)); } +#line 2146 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 40: -/* Line 1787 of yacc.c */ -#line 782 "gecode/flatzinc/parser.yxx" +#line 797 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(6) - (6)].arg)->isFloat(), "Invalid float initializer"); - pp->floatvals.push_back((yyvsp[(6) - (6)].arg)->getFloat()); + yyassert(pp, (yyvsp[0].arg)->isFloat(), "Invalid float initializer"); + pp->floatvals.push_back((yyvsp[0].arg)->getFloat()); yyassert(pp, - pp->symbols.put((yyvsp[(3) - (6)].sValue), se_f(pp->floatvals.size()-1)), + pp->symbols.put((yyvsp[-3].sValue), se_f(pp->floatvals.size()-1)), "Duplicate symbol"); - delete (yyvsp[(4) - (6)].argVec); free((yyvsp[(3) - (6)].sValue)); + delete (yyvsp[-2].argVec); free((yyvsp[-3].sValue)); } +#line 2160 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 41: -/* Line 1787 of yacc.c */ -#line 792 "gecode/flatzinc/parser.yxx" +#line 807 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(6) - (6)].arg)->isBool(), "Invalid bool initializer"); + yyassert(pp, (yyvsp[0].arg)->isBool(), "Invalid bool initializer"); yyassert(pp, - pp->symbols.put((yyvsp[(3) - (6)].sValue), se_b((yyvsp[(6) - (6)].arg)->getBool())), + pp->symbols.put((yyvsp[-3].sValue), se_b((yyvsp[0].arg)->getBool())), "Duplicate symbol"); - delete (yyvsp[(4) - (6)].argVec); free((yyvsp[(3) - (6)].sValue)); + delete (yyvsp[-2].argVec); free((yyvsp[-3].sValue)); } +#line 2173 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 42: -/* Line 1787 of yacc.c */ -#line 801 "gecode/flatzinc/parser.yxx" +#line 816 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(8) - (8)].arg)->isSet(), "Invalid set initializer"); - AST::SetLit* set = (yyvsp[(8) - (8)].arg)->getSet(); + yyassert(pp, (yyvsp[0].arg)->isSet(), "Invalid set initializer"); + AST::SetLit* set = (yyvsp[0].arg)->getSet(); pp->setvals.push_back(*set); yyassert(pp, - pp->symbols.put((yyvsp[(5) - (8)].sValue), se_s(pp->setvals.size()-1)), + pp->symbols.put((yyvsp[-3].sValue), se_s(pp->setvals.size()-1)), "Duplicate symbol"); delete set; - delete (yyvsp[(6) - (8)].argVec); free((yyvsp[(5) - (8)].sValue)); + delete (yyvsp[-2].argVec); free((yyvsp[-3].sValue)); } +#line 2189 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 43: -/* Line 1787 of yacc.c */ -#line 814 "gecode/flatzinc/parser.yxx" +#line 829 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(3) - (13)].iValue)==1, "Arrays must start at 1"); + yyassert(pp, (yyvsp[-10].iValue)==1, "Arrays must start at 1"); if (!pp->hadError) { - bool print = (yyvsp[(12) - (13)].argVec)->hasCall("output_array"); - vector vars((yyvsp[(5) - (13)].iValue)); + bool print = (yyvsp[-1].argVec)->hasCall("output_array"); + vector vars((yyvsp[-8].iValue)); if (!pp->hadError) { - if ((yyvsp[(13) - (13)].oVarSpecVec)()) { - vector* vsv = (yyvsp[(13) - (13)].oVarSpecVec).some(); - yyassert(pp, vsv->size() == static_cast((yyvsp[(5) - (13)].iValue)), + if ((yyvsp[0].oVarSpecVec)()) { + vector* vsv = (yyvsp[0].oVarSpecVec).some(); + yyassert(pp, vsv->size() == static_cast((yyvsp[-8].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) { + for (int i=0; i<(yyvsp[-8].iValue); i++) { IntVarSpec* ivsv = static_cast((*vsv)[i]); if (ivsv->alias) { if (print) @@ -2413,11 +2212,11 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (print) ivsv->introduced = false; vars[i] = pp->intvars.size(); - pp->intvars.push_back(varspec((yyvsp[(11) - (13)].sValue), ivsv)); + pp->intvars.push_back(varspec((yyvsp[-2].sValue), ivsv)); } - if (!pp->hadError && (yyvsp[(9) - (13)].oSet)()) { + if (!pp->hadError && (yyvsp[-4].oSet)()) { Option opt = - Option::some(new AST::SetLit(*(yyvsp[(9) - (13)].oSet).some())); + Option::some(new AST::SetLit(*(yyvsp[-4].oSet).some())); addDomainConstraint(pp, "int_in", new AST::IntVar(vars[i]), opt); @@ -2426,56 +2225,56 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); } delete vsv; } else { - if ((yyvsp[(5) - (13)].iValue)>0) { - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) { + if ((yyvsp[-8].iValue)>0) { + for (int i=0; i<(yyvsp[-8].iValue); i++) { Option dom = - (yyvsp[(9) - (13)].oSet)() ? Option::some(new AST::SetLit((yyvsp[(9) - (13)].oSet).some())) + (yyvsp[-4].oSet)() ? Option::some(new AST::SetLit((yyvsp[-4].oSet).some())) : Option::none(); IntVarSpec* ispec = new IntVarSpec(dom,!print,false); vars[i] = pp->intvars.size(); - pp->intvars.push_back(varspec((yyvsp[(11) - (13)].sValue), ispec)); + pp->intvars.push_back(varspec((yyvsp[-2].sValue), ispec)); } } - if ((yyvsp[(9) - (13)].oSet)()) delete (yyvsp[(9) - (13)].oSet).some(); + if ((yyvsp[-4].oSet)()) delete (yyvsp[-4].oSet).some(); } } if (print) { AST::Array* a = new AST::Array(); - a->a.push_back(arrayOutput((yyvsp[(12) - (13)].argVec)->getCall("output_array"))); + a->a.push_back(arrayOutput((yyvsp[-1].argVec)->getCall("output_array"))); AST::Array* output = new AST::Array(); - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) + for (int i=0; i<(yyvsp[-8].iValue); i++) output->a.push_back(new AST::IntVar(vars[i])); a->a.push_back(output); a->a.push_back(new AST::String(")")); - pp->output(std::string((yyvsp[(11) - (13)].sValue)), a); + pp->output(std::string((yyvsp[-2].sValue)), a); } int iva = pp->arrays.size(); pp->arrays.push_back(vars.size()); for (unsigned int i=0; iarrays.push_back(vars[i]); yyassert(pp, - pp->symbols.put((yyvsp[(11) - (13)].sValue), se_iva(iva)), + pp->symbols.put((yyvsp[-2].sValue), se_iva(iva)), "Duplicate symbol"); } - delete (yyvsp[(12) - (13)].argVec); free((yyvsp[(11) - (13)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2262 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 44: -/* Line 1787 of yacc.c */ -#line 884 "gecode/flatzinc/parser.yxx" +#line 899 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - bool print = (yyvsp[(12) - (13)].argVec)->hasCall("output_array"); - yyassert(pp, (yyvsp[(3) - (13)].iValue)==1, "Arrays must start at 1"); + bool print = (yyvsp[-1].argVec)->hasCall("output_array"); + yyassert(pp, (yyvsp[-10].iValue)==1, "Arrays must start at 1"); if (!pp->hadError) { - vector vars((yyvsp[(5) - (13)].iValue)); - if ((yyvsp[(13) - (13)].oVarSpecVec)()) { - vector* vsv = (yyvsp[(13) - (13)].oVarSpecVec).some(); - yyassert(pp, vsv->size() == static_cast((yyvsp[(5) - (13)].iValue)), + vector vars((yyvsp[-8].iValue)); + if ((yyvsp[0].oVarSpecVec)()) { + vector* vsv = (yyvsp[0].oVarSpecVec).some(); + yyassert(pp, vsv->size() == static_cast((yyvsp[-8].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) { + for (int i=0; i<(yyvsp[-8].iValue); i++) { BoolVarSpec* bvsv = static_cast((*vsv)[i]); if (bvsv->alias) { if (print) @@ -2485,11 +2284,11 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (print) bvsv->introduced = false; vars[i] = pp->boolvars.size(); - pp->boolvars.push_back(varspec((yyvsp[(11) - (13)].sValue), (*vsv)[i])); + pp->boolvars.push_back(varspec((yyvsp[-2].sValue), (*vsv)[i])); } - if (!pp->hadError && (yyvsp[(9) - (13)].oSet)()) { + if (!pp->hadError && (yyvsp[-4].oSet)()) { Option opt = - Option::some(new AST::SetLit(*(yyvsp[(9) - (13)].oSet).some())); + Option::some(new AST::SetLit(*(yyvsp[-4].oSet).some())); addDomainConstraint(pp, "int_in", new AST::BoolVar(vars[i]), opt); @@ -2498,54 +2297,54 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); } delete vsv; } else { - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) { + for (int i=0; i<(yyvsp[-8].iValue); i++) { Option dom = - (yyvsp[(9) - (13)].oSet)() ? Option::some(new AST::SetLit((yyvsp[(9) - (13)].oSet).some())) + (yyvsp[-4].oSet)() ? Option::some(new AST::SetLit((yyvsp[-4].oSet).some())) : Option::none(); vars[i] = pp->boolvars.size(); - pp->boolvars.push_back(varspec((yyvsp[(11) - (13)].sValue), + pp->boolvars.push_back(varspec((yyvsp[-2].sValue), new BoolVarSpec(dom,!print,false))); } - if ((yyvsp[(9) - (13)].oSet)()) delete (yyvsp[(9) - (13)].oSet).some(); + if ((yyvsp[-4].oSet)()) delete (yyvsp[-4].oSet).some(); } if (print) { AST::Array* a = new AST::Array(); - a->a.push_back(arrayOutput((yyvsp[(12) - (13)].argVec)->getCall("output_array"))); + a->a.push_back(arrayOutput((yyvsp[-1].argVec)->getCall("output_array"))); AST::Array* output = new AST::Array(); - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) + for (int i=0; i<(yyvsp[-8].iValue); i++) output->a.push_back(new AST::BoolVar(vars[i])); a->a.push_back(output); a->a.push_back(new AST::String(")")); - pp->output(std::string((yyvsp[(11) - (13)].sValue)), a); + pp->output(std::string((yyvsp[-2].sValue)), a); } int bva = pp->arrays.size(); pp->arrays.push_back(vars.size()); for (unsigned int i=0; iarrays.push_back(vars[i]); yyassert(pp, - pp->symbols.put((yyvsp[(11) - (13)].sValue), se_bva(bva)), + pp->symbols.put((yyvsp[-2].sValue), se_bva(bva)), "Duplicate symbol"); } - delete (yyvsp[(12) - (13)].argVec); free((yyvsp[(11) - (13)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2331 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 45: -/* Line 1787 of yacc.c */ -#line 951 "gecode/flatzinc/parser.yxx" - { +#line 966 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(3) - (13)].iValue)==1, "Arrays must start at 1"); + yyassert(pp, (yyvsp[-10].iValue)==1, "Arrays must start at 1"); if (!pp->hadError) { - bool print = (yyvsp[(12) - (13)].argVec)->hasCall("output_array"); - vector vars((yyvsp[(5) - (13)].iValue)); + bool print = (yyvsp[-1].argVec)->hasCall("output_array"); + vector vars((yyvsp[-8].iValue)); if (!pp->hadError) { - if ((yyvsp[(13) - (13)].oVarSpecVec)()) { - vector* vsv = (yyvsp[(13) - (13)].oVarSpecVec).some(); - yyassert(pp, vsv->size() == static_cast((yyvsp[(5) - (13)].iValue)), + if ((yyvsp[0].oVarSpecVec)()) { + vector* vsv = (yyvsp[0].oVarSpecVec).some(); + yyassert(pp, vsv->size() == static_cast((yyvsp[-8].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) { + for (int i=0; i<(yyvsp[-8].iValue); i++) { FloatVarSpec* ivsv = static_cast((*vsv)[i]); if (ivsv->alias) { if (print) @@ -2555,12 +2354,12 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (print) ivsv->introduced = false; vars[i] = pp->floatvars.size(); - pp->floatvars.push_back(varspec((yyvsp[(11) - (13)].sValue), ivsv)); + pp->floatvars.push_back(varspec((yyvsp[-2].sValue), ivsv)); } - if (!pp->hadError && (yyvsp[(9) - (13)].oPFloat)()) { + if (!pp->hadError && (yyvsp[-4].oPFloat)()) { Option*> opt = Option*>::some( - new std::pair(*(yyvsp[(9) - (13)].oPFloat).some())); + new std::pair(*(yyvsp[-4].oPFloat).some())); addDomainConstraint(pp, new AST::FloatVar(vars[i]), opt); } @@ -2568,56 +2367,56 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); } delete vsv; } else { - if ((yyvsp[(5) - (13)].iValue)>0) { + if ((yyvsp[-8].iValue)>0) { Option > dom = - (yyvsp[(9) - (13)].oPFloat)() ? Option >::some(*(yyvsp[(9) - (13)].oPFloat).some()) + (yyvsp[-4].oPFloat)() ? Option >::some(*(yyvsp[-4].oPFloat).some()) : Option >::none(); - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) { + for (int i=0; i<(yyvsp[-8].iValue); i++) { FloatVarSpec* ispec = new FloatVarSpec(dom,!print,false); vars[i] = pp->floatvars.size(); - pp->floatvars.push_back(varspec((yyvsp[(11) - (13)].sValue), ispec)); + pp->floatvars.push_back(varspec((yyvsp[-2].sValue), ispec)); } } } } if (print) { AST::Array* a = new AST::Array(); - a->a.push_back(arrayOutput((yyvsp[(12) - (13)].argVec)->getCall("output_array"))); + a->a.push_back(arrayOutput((yyvsp[-1].argVec)->getCall("output_array"))); AST::Array* output = new AST::Array(); - for (int i=0; i<(yyvsp[(5) - (13)].iValue); i++) + for (int i=0; i<(yyvsp[-8].iValue); i++) output->a.push_back(new AST::FloatVar(vars[i])); a->a.push_back(output); a->a.push_back(new AST::String(")")); - pp->output(std::string((yyvsp[(11) - (13)].sValue)), a); + pp->output(std::string((yyvsp[-2].sValue)), a); } int fva = pp->arrays.size(); pp->arrays.push_back(vars.size()); for (unsigned int i=0; iarrays.push_back(vars[i]); yyassert(pp, - pp->symbols.put((yyvsp[(11) - (13)].sValue), se_fva(fva)), + pp->symbols.put((yyvsp[-2].sValue), se_fva(fva)), "Duplicate symbol"); } - if ((yyvsp[(9) - (13)].oPFloat)()) delete (yyvsp[(9) - (13)].oPFloat).some(); - delete (yyvsp[(12) - (13)].argVec); free((yyvsp[(11) - (13)].sValue)); + if ((yyvsp[-4].oPFloat)()) delete (yyvsp[-4].oPFloat).some(); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2404 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 46: -/* Line 1787 of yacc.c */ -#line 1021 "gecode/flatzinc/parser.yxx" - { +#line 1036 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); - bool print = (yyvsp[(14) - (15)].argVec)->hasCall("output_array"); - yyassert(pp, (yyvsp[(3) - (15)].iValue)==1, "Arrays must start at 1"); + bool print = (yyvsp[-1].argVec)->hasCall("output_array"); + yyassert(pp, (yyvsp[-12].iValue)==1, "Arrays must start at 1"); if (!pp->hadError) { - vector vars((yyvsp[(5) - (15)].iValue)); - if ((yyvsp[(15) - (15)].oVarSpecVec)()) { - vector* vsv = (yyvsp[(15) - (15)].oVarSpecVec).some(); - yyassert(pp, vsv->size() == static_cast((yyvsp[(5) - (15)].iValue)), + vector vars((yyvsp[-10].iValue)); + if ((yyvsp[0].oVarSpecVec)()) { + vector* vsv = (yyvsp[0].oVarSpecVec).some(); + yyassert(pp, vsv->size() == static_cast((yyvsp[-10].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { - for (int i=0; i<(yyvsp[(5) - (15)].iValue); i++) { + for (int i=0; i<(yyvsp[-10].iValue); i++) { SetVarSpec* svsv = static_cast((*vsv)[i]); if (svsv->alias) { if (print) @@ -2627,11 +2426,11 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (print) svsv->introduced = false; vars[i] = pp->setvars.size(); - pp->setvars.push_back(varspec((yyvsp[(13) - (15)].sValue), (*vsv)[i])); + pp->setvars.push_back(varspec((yyvsp[-2].sValue), (*vsv)[i])); } - if (!pp->hadError && (yyvsp[(11) - (15)].oSet)()) { + if (!pp->hadError && (yyvsp[-4].oSet)()) { Option opt = - Option::some(new AST::SetLit(*(yyvsp[(11) - (15)].oSet).some())); + Option::some(new AST::SetLit(*(yyvsp[-4].oSet).some())); addDomainConstraint(pp, "set_subset", new AST::SetVar(vars[i]), opt); @@ -2640,511 +2439,511 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); } delete vsv; } else { - if ((yyvsp[(5) - (15)].iValue)>0) { - for (int i=0; i<(yyvsp[(5) - (15)].iValue); i++) { + if ((yyvsp[-10].iValue)>0) { + for (int i=0; i<(yyvsp[-10].iValue); i++) { Option dom = - (yyvsp[(11) - (15)].oSet)() ? Option::some(new AST::SetLit((yyvsp[(11) - (15)].oSet).some())) + (yyvsp[-4].oSet)() ? Option::some(new AST::SetLit((yyvsp[-4].oSet).some())) : Option::none(); SetVarSpec* ispec = new SetVarSpec(dom,!print,false); vars[i] = pp->setvars.size(); - pp->setvars.push_back(varspec((yyvsp[(13) - (15)].sValue), ispec)); + pp->setvars.push_back(varspec((yyvsp[-2].sValue), ispec)); } - if ((yyvsp[(11) - (15)].oSet)()) delete (yyvsp[(11) - (15)].oSet).some(); + if ((yyvsp[-4].oSet)()) delete (yyvsp[-4].oSet).some(); } } if (print) { AST::Array* a = new AST::Array(); - a->a.push_back(arrayOutput((yyvsp[(14) - (15)].argVec)->getCall("output_array"))); + a->a.push_back(arrayOutput((yyvsp[-1].argVec)->getCall("output_array"))); AST::Array* output = new AST::Array(); - for (int i=0; i<(yyvsp[(5) - (15)].iValue); i++) + for (int i=0; i<(yyvsp[-10].iValue); i++) output->a.push_back(new AST::SetVar(vars[i])); a->a.push_back(output); a->a.push_back(new AST::String(")")); - pp->output(std::string((yyvsp[(13) - (15)].sValue)), a); + pp->output(std::string((yyvsp[-2].sValue)), a); } int sva = pp->arrays.size(); pp->arrays.push_back(vars.size()); for (unsigned int i=0; iarrays.push_back(vars[i]); yyassert(pp, - pp->symbols.put((yyvsp[(13) - (15)].sValue), se_sva(sva)), + pp->symbols.put((yyvsp[-2].sValue), se_sva(sva)), "Duplicate symbol"); } - delete (yyvsp[(14) - (15)].argVec); free((yyvsp[(13) - (15)].sValue)); + delete (yyvsp[-1].argVec); free((yyvsp[-2].sValue)); } +#line 2475 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 47: -/* Line 1787 of yacc.c */ -#line 1089 "gecode/flatzinc/parser.yxx" +#line 1104 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(3) - (15)].iValue)==1, "Arrays must start at 1"); - yyassert(pp, (yyvsp[(14) - (15)].setValue)->size() == static_cast((yyvsp[(5) - (15)].iValue)), + yyassert(pp, (yyvsp[-12].iValue)==1, "Arrays must start at 1"); + yyassert(pp, (yyvsp[-1].setValue)->size() == static_cast((yyvsp[-10].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { int ia = pp->arrays.size(); - pp->arrays.push_back((yyvsp[(14) - (15)].setValue)->size()); - for (unsigned int i=0; i<(yyvsp[(14) - (15)].setValue)->size(); i++) - pp->arrays.push_back((*(yyvsp[(14) - (15)].setValue))[i]); + pp->arrays.push_back((yyvsp[-1].setValue)->size()); + for (unsigned int i=0; i<(yyvsp[-1].setValue)->size(); i++) + pp->arrays.push_back((*(yyvsp[-1].setValue))[i]); yyassert(pp, - pp->symbols.put((yyvsp[(10) - (15)].sValue), se_ia(ia)), + pp->symbols.put((yyvsp[-5].sValue), se_ia(ia)), "Duplicate symbol"); } - delete (yyvsp[(14) - (15)].setValue); - free((yyvsp[(10) - (15)].sValue)); - delete (yyvsp[(11) - (15)].argVec); + delete (yyvsp[-1].setValue); + free((yyvsp[-5].sValue)); + delete (yyvsp[-4].argVec); } +#line 2499 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 48: -/* Line 1787 of yacc.c */ -#line 1110 "gecode/flatzinc/parser.yxx" +#line 1125 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(3) - (15)].iValue)==1, "Arrays must start at 1"); - yyassert(pp, (yyvsp[(14) - (15)].setValue)->size() == static_cast((yyvsp[(5) - (15)].iValue)), + yyassert(pp, (yyvsp[-12].iValue)==1, "Arrays must start at 1"); + yyassert(pp, (yyvsp[-1].setValue)->size() == static_cast((yyvsp[-10].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { int ia = pp->arrays.size(); - pp->arrays.push_back((yyvsp[(14) - (15)].setValue)->size()); - for (unsigned int i=0; i<(yyvsp[(14) - (15)].setValue)->size(); i++) - pp->arrays.push_back((*(yyvsp[(14) - (15)].setValue))[i]); + pp->arrays.push_back((yyvsp[-1].setValue)->size()); + for (unsigned int i=0; i<(yyvsp[-1].setValue)->size(); i++) + pp->arrays.push_back((*(yyvsp[-1].setValue))[i]); yyassert(pp, - pp->symbols.put((yyvsp[(10) - (15)].sValue), se_ba(ia)), + pp->symbols.put((yyvsp[-5].sValue), se_ba(ia)), "Duplicate symbol"); } - delete (yyvsp[(14) - (15)].setValue); - free((yyvsp[(10) - (15)].sValue)); - delete (yyvsp[(11) - (15)].argVec); + delete (yyvsp[-1].setValue); + free((yyvsp[-5].sValue)); + delete (yyvsp[-4].argVec); } +#line 2522 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 49: -/* Line 1787 of yacc.c */ -#line 1130 "gecode/flatzinc/parser.yxx" +#line 1145 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(3) - (15)].iValue)==1, "Arrays must start at 1"); - yyassert(pp, (yyvsp[(14) - (15)].floatSetValue)->size() == static_cast((yyvsp[(5) - (15)].iValue)), + yyassert(pp, (yyvsp[-12].iValue)==1, "Arrays must start at 1"); + yyassert(pp, (yyvsp[-1].floatSetValue)->size() == static_cast((yyvsp[-10].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { int fa = pp->arrays.size(); - pp->arrays.push_back((yyvsp[(14) - (15)].floatSetValue)->size()); + pp->arrays.push_back((yyvsp[-1].floatSetValue)->size()); pp->arrays.push_back(pp->floatvals.size()); - for (unsigned int i=0; i<(yyvsp[(14) - (15)].floatSetValue)->size(); i++) - pp->floatvals.push_back((*(yyvsp[(14) - (15)].floatSetValue))[i]); + for (unsigned int i=0; i<(yyvsp[-1].floatSetValue)->size(); i++) + pp->floatvals.push_back((*(yyvsp[-1].floatSetValue))[i]); yyassert(pp, - pp->symbols.put((yyvsp[(10) - (15)].sValue), se_fa(fa)), + pp->symbols.put((yyvsp[-5].sValue), se_fa(fa)), "Duplicate symbol"); } - delete (yyvsp[(14) - (15)].floatSetValue); - delete (yyvsp[(11) - (15)].argVec); free((yyvsp[(10) - (15)].sValue)); + delete (yyvsp[-1].floatSetValue); + delete (yyvsp[-4].argVec); free((yyvsp[-5].sValue)); } +#line 2545 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 50: -/* Line 1787 of yacc.c */ -#line 1150 "gecode/flatzinc/parser.yxx" +#line 1165 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState* pp = static_cast(parm); - yyassert(pp, (yyvsp[(3) - (17)].iValue)==1, "Arrays must start at 1"); - yyassert(pp, (yyvsp[(16) - (17)].setValueList)->size() == static_cast((yyvsp[(5) - (17)].iValue)), + yyassert(pp, (yyvsp[-14].iValue)==1, "Arrays must start at 1"); + yyassert(pp, (yyvsp[-1].setValueList)->size() == static_cast((yyvsp[-12].iValue)), "Initializer size does not match array dimension"); if (!pp->hadError) { int sa = pp->arrays.size(); - pp->arrays.push_back((yyvsp[(16) - (17)].setValueList)->size()); + pp->arrays.push_back((yyvsp[-1].setValueList)->size()); pp->arrays.push_back(pp->setvals.size()); - for (unsigned int i=0; i<(yyvsp[(16) - (17)].setValueList)->size(); i++) - pp->setvals.push_back((*(yyvsp[(16) - (17)].setValueList))[i]); + for (unsigned int i=0; i<(yyvsp[-1].setValueList)->size(); i++) + pp->setvals.push_back((*(yyvsp[-1].setValueList))[i]); yyassert(pp, - pp->symbols.put((yyvsp[(12) - (17)].sValue), se_sa(sa)), + pp->symbols.put((yyvsp[-5].sValue), se_sa(sa)), "Duplicate symbol"); } - delete (yyvsp[(16) - (17)].setValueList); - delete (yyvsp[(13) - (17)].argVec); free((yyvsp[(12) - (17)].sValue)); + delete (yyvsp[-1].setValueList); + delete (yyvsp[-4].argVec); free((yyvsp[-5].sValue)); } +#line 2569 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 51: -/* Line 1787 of yacc.c */ -#line 1172 "gecode/flatzinc/parser.yxx" - { - (yyval.varSpec) = new IntVarSpec((yyvsp[(1) - (1)].iValue),false,false); +#line 1187 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { + (yyval.varSpec) = new IntVarSpec((yyvsp[0].iValue),false,false); } +#line 2577 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 52: -/* Line 1787 of yacc.c */ -#line 1176 "gecode/flatzinc/parser.yxx" - { +#line 1191 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (1)].sValue), e) && e.t == ST_INTVAR) + if (pp->symbols.get((yyvsp[0].sValue), e) && e.t == ST_INTVAR) (yyval.varSpec) = new IntVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: undefined identifier for type int " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new IntVarSpec(0,false,false); // keep things consistent } - free((yyvsp[(1) - (1)].sValue)); + free((yyvsp[0].sValue)); } +#line 2596 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 53: -/* Line 1787 of yacc.c */ -#line 1191 "gecode/flatzinc/parser.yxx" - { +#line 1206 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { vector v; SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (4)].sValue), e) && e.t == ST_INTVARARRAY) { - yyassert(pp,(yyvsp[(3) - (4)].iValue) > 0 && (yyvsp[(3) - (4)].iValue) <= pp->arrays[e.i], + if (pp->symbols.get((yyvsp[-3].sValue), e) && e.t == ST_INTVARARRAY) { + yyassert(pp,(yyvsp[-1].iValue) > 0 && (yyvsp[-1].iValue) <= pp->arrays[e.i], "array access out of bounds"); if (!pp->hadError) - (yyval.varSpec) = new IntVarSpec(Alias(pp->arrays[e.i+(yyvsp[(3) - (4)].iValue)]),false,false); + (yyval.varSpec) = new IntVarSpec(Alias(pp->arrays[e.i+(yyvsp[-1].iValue)]),false,false); else (yyval.varSpec) = new IntVarSpec(0,false,false); // keep things consistent } else { - pp->err << "Error: undefined array identifier " << (yyvsp[(1) - (4)].sValue) + pp->err << "Error: undefined array identifier for type int " << (yyvsp[-3].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new IntVarSpec(0,false,false); // keep things consistent } - free((yyvsp[(1) - (4)].sValue)); + free((yyvsp[-3].sValue)); } +#line 2621 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 54: -/* Line 1787 of yacc.c */ -#line 1214 "gecode/flatzinc/parser.yxx" +#line 1229 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.varSpecVec) = new vector(0); } +#line 2627 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 55: -/* Line 1787 of yacc.c */ -#line 1216 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (2)].varSpecVec); } +#line 1231 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2633 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 56: -/* Line 1787 of yacc.c */ -#line 1220 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[(1) - (1)].varSpec); } +#line 1235 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[0].varSpec); } +#line 2639 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 57: -/* Line 1787 of yacc.c */ -#line 1222 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (3)].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[(3) - (3)].varSpec)); } +#line 1237 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-2].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[0].varSpec)); } +#line 2645 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 60: -/* Line 1787 of yacc.c */ -#line 1227 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(2) - (3)].varSpecVec); } +#line 1242 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2651 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 61: -/* Line 1787 of yacc.c */ -#line 1231 "gecode/flatzinc/parser.yxx" - { (yyval.varSpec) = new FloatVarSpec((yyvsp[(1) - (1)].dValue),false,false); } +#line 1246 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpec) = new FloatVarSpec((yyvsp[0].dValue),false,false); } +#line 2657 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 62: -/* Line 1787 of yacc.c */ -#line 1233 "gecode/flatzinc/parser.yxx" - { +#line 1248 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (1)].sValue), e) && e.t == ST_FLOATVAR) + if (pp->symbols.get((yyvsp[0].sValue), e) && e.t == ST_FLOATVAR) (yyval.varSpec) = new FloatVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: undefined identifier for type float " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new FloatVarSpec(0.0,false,false); } - free((yyvsp[(1) - (1)].sValue)); + free((yyvsp[0].sValue)); } +#line 2676 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 63: -/* Line 1787 of yacc.c */ -#line 1248 "gecode/flatzinc/parser.yxx" - { +#line 1263 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (4)].sValue), e) && e.t == ST_FLOATVARARRAY) { - yyassert(pp,(yyvsp[(3) - (4)].iValue) > 0 && (yyvsp[(3) - (4)].iValue) <= pp->arrays[e.i], + if (pp->symbols.get((yyvsp[-3].sValue), e) && e.t == ST_FLOATVARARRAY) { + yyassert(pp,(yyvsp[-1].iValue) > 0 && (yyvsp[-1].iValue) <= pp->arrays[e.i], "array access out of bounds"); if (!pp->hadError) - (yyval.varSpec) = new FloatVarSpec(Alias(pp->arrays[e.i+(yyvsp[(3) - (4)].iValue)]),false,false); + (yyval.varSpec) = new FloatVarSpec(Alias(pp->arrays[e.i+(yyvsp[-1].iValue)]),false,false); else (yyval.varSpec) = new FloatVarSpec(0.0,false,false); } else { - pp->err << "Error: undefined array identifier " << (yyvsp[(1) - (4)].sValue) + pp->err << "Error: undefined array identifier for type float " << (yyvsp[-3].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new FloatVarSpec(0.0,false,false); } - free((yyvsp[(1) - (4)].sValue)); + free((yyvsp[-3].sValue)); } +#line 2700 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 64: -/* Line 1787 of yacc.c */ -#line 1270 "gecode/flatzinc/parser.yxx" +#line 1285 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.varSpecVec) = new vector(0); } +#line 2706 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 65: -/* Line 1787 of yacc.c */ -#line 1272 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (2)].varSpecVec); } +#line 1287 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2712 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 66: -/* Line 1787 of yacc.c */ -#line 1276 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[(1) - (1)].varSpec); } +#line 1291 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[0].varSpec); } +#line 2718 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 67: -/* Line 1787 of yacc.c */ -#line 1278 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (3)].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[(3) - (3)].varSpec)); } +#line 1293 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-2].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[0].varSpec)); } +#line 2724 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 68: -/* Line 1787 of yacc.c */ -#line 1282 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(2) - (3)].varSpecVec); } +#line 1297 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2730 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 69: -/* Line 1787 of yacc.c */ -#line 1286 "gecode/flatzinc/parser.yxx" - { (yyval.varSpec) = new BoolVarSpec((yyvsp[(1) - (1)].iValue),false,false); } +#line 1301 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpec) = new BoolVarSpec((yyvsp[0].iValue),false,false); } +#line 2736 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 70: -/* Line 1787 of yacc.c */ -#line 1288 "gecode/flatzinc/parser.yxx" - { +#line 1303 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (1)].sValue), e) && e.t == ST_BOOLVAR) + if (pp->symbols.get((yyvsp[0].sValue), e) && e.t == ST_BOOLVAR) (yyval.varSpec) = new BoolVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: undefined identifier for type bool " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new BoolVarSpec(false,false,false); } - free((yyvsp[(1) - (1)].sValue)); + free((yyvsp[0].sValue)); } +#line 2755 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 71: -/* Line 1787 of yacc.c */ -#line 1303 "gecode/flatzinc/parser.yxx" - { +#line 1318 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (4)].sValue), e) && e.t == ST_BOOLVARARRAY) { - yyassert(pp,(yyvsp[(3) - (4)].iValue) > 0 && (yyvsp[(3) - (4)].iValue) <= pp->arrays[e.i], + if (pp->symbols.get((yyvsp[-3].sValue), e) && e.t == ST_BOOLVARARRAY) { + yyassert(pp,(yyvsp[-1].iValue) > 0 && (yyvsp[-1].iValue) <= pp->arrays[e.i], "array access out of bounds"); if (!pp->hadError) - (yyval.varSpec) = new BoolVarSpec(Alias(pp->arrays[e.i+(yyvsp[(3) - (4)].iValue)]),false,false); + (yyval.varSpec) = new BoolVarSpec(Alias(pp->arrays[e.i+(yyvsp[-1].iValue)]),false,false); else (yyval.varSpec) = new BoolVarSpec(false,false,false); } else { - pp->err << "Error: undefined array identifier " << (yyvsp[(1) - (4)].sValue) + pp->err << "Error: undefined array identifier for type bool " << (yyvsp[-3].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new BoolVarSpec(false,false,false); } - free((yyvsp[(1) - (4)].sValue)); + free((yyvsp[-3].sValue)); } +#line 2779 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 72: -/* Line 1787 of yacc.c */ -#line 1325 "gecode/flatzinc/parser.yxx" +#line 1340 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.varSpecVec) = new vector(0); } +#line 2785 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 73: -/* Line 1787 of yacc.c */ -#line 1327 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (2)].varSpecVec); } +#line 1342 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2791 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 74: -/* Line 1787 of yacc.c */ -#line 1331 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[(1) - (1)].varSpec); } +#line 1346 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[0].varSpec); } +#line 2797 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 75: -/* Line 1787 of yacc.c */ -#line 1333 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (3)].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[(3) - (3)].varSpec)); } +#line 1348 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-2].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[0].varSpec)); } +#line 2803 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 76: -/* Line 1787 of yacc.c */ -#line 1335 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(2) - (3)].varSpecVec); } +#line 1350 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2809 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 77: -/* Line 1787 of yacc.c */ -#line 1339 "gecode/flatzinc/parser.yxx" - { (yyval.varSpec) = new SetVarSpec((yyvsp[(1) - (1)].setLit),false,false); } +#line 1354 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpec) = new SetVarSpec((yyvsp[0].setLit),false,false); } +#line 2815 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 78: -/* Line 1787 of yacc.c */ -#line 1341 "gecode/flatzinc/parser.yxx" - { +#line 1356 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); SymbolEntry e; - if (pp->symbols.get((yyvsp[(1) - (1)].sValue), e) && e.t == ST_SETVAR) + if (pp->symbols.get((yyvsp[0].sValue), e) && e.t == ST_SETVAR) (yyval.varSpec) = new SetVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: undefined identifier for type set " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new SetVarSpec(Alias(0),false,false); } - free((yyvsp[(1) - (1)].sValue)); + free((yyvsp[0].sValue)); } +#line 2834 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 79: -/* Line 1787 of yacc.c */ -#line 1356 "gecode/flatzinc/parser.yxx" - { +#line 1371 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { SymbolEntry e; ParserState* pp = static_cast(parm); - if (pp->symbols.get((yyvsp[(1) - (4)].sValue), e) && e.t == ST_SETVARARRAY) { - yyassert(pp,(yyvsp[(3) - (4)].iValue) > 0 && (yyvsp[(3) - (4)].iValue) <= pp->arrays[e.i], + if (pp->symbols.get((yyvsp[-3].sValue), e) && e.t == ST_SETVARARRAY) { + yyassert(pp,(yyvsp[-1].iValue) > 0 && (yyvsp[-1].iValue) <= pp->arrays[e.i], "array access out of bounds"); if (!pp->hadError) - (yyval.varSpec) = new SetVarSpec(Alias(pp->arrays[e.i+(yyvsp[(3) - (4)].iValue)]),false,false); + (yyval.varSpec) = new SetVarSpec(Alias(pp->arrays[e.i+(yyvsp[-1].iValue)]),false,false); else (yyval.varSpec) = new SetVarSpec(Alias(0),false,false); } else { - pp->err << "Error: undefined array identifier " << (yyvsp[(1) - (4)].sValue) + pp->err << "Error: undefined array identifier for type set " << (yyvsp[-3].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.varSpec) = new SetVarSpec(Alias(0),false,false); } - free((yyvsp[(1) - (4)].sValue)); + free((yyvsp[-3].sValue)); } +#line 2858 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 80: -/* Line 1787 of yacc.c */ -#line 1378 "gecode/flatzinc/parser.yxx" +#line 1393 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.varSpecVec) = new vector(0); } +#line 2864 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 81: -/* Line 1787 of yacc.c */ -#line 1380 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (2)].varSpecVec); } +#line 1395 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2870 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 82: -/* Line 1787 of yacc.c */ -#line 1384 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[(1) - (1)].varSpec); } +#line 1399 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = new vector(1); (*(yyval.varSpecVec))[0] = (yyvsp[0].varSpec); } +#line 2876 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 83: -/* Line 1787 of yacc.c */ -#line 1386 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(1) - (3)].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[(3) - (3)].varSpec)); } +#line 1401 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-2].varSpecVec); (yyval.varSpecVec)->push_back((yyvsp[0].varSpec)); } +#line 2882 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 84: -/* Line 1787 of yacc.c */ -#line 1389 "gecode/flatzinc/parser.yxx" - { (yyval.varSpecVec) = (yyvsp[(2) - (3)].varSpecVec); } +#line 1404 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.varSpecVec) = (yyvsp[-1].varSpecVec); } +#line 2888 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 85: -/* Line 1787 of yacc.c */ -#line 1393 "gecode/flatzinc/parser.yxx" +#line 1408 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oVarSpecVec) = Option* >::none(); } +#line 2894 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 86: -/* Line 1787 of yacc.c */ -#line 1395 "gecode/flatzinc/parser.yxx" - { (yyval.oVarSpecVec) = Option* >::some((yyvsp[(2) - (2)].varSpecVec)); } +#line 1410 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.oVarSpecVec) = Option* >::some((yyvsp[0].varSpecVec)); } +#line 2900 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 87: -/* Line 1787 of yacc.c */ -#line 1399 "gecode/flatzinc/parser.yxx" +#line 1414 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oVarSpecVec) = Option* >::none(); } +#line 2906 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 88: -/* Line 1787 of yacc.c */ -#line 1401 "gecode/flatzinc/parser.yxx" - { (yyval.oVarSpecVec) = Option* >::some((yyvsp[(2) - (2)].varSpecVec)); } +#line 1416 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.oVarSpecVec) = Option* >::some((yyvsp[0].varSpecVec)); } +#line 2912 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 89: -/* Line 1787 of yacc.c */ -#line 1405 "gecode/flatzinc/parser.yxx" +#line 1420 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oVarSpecVec) = Option* >::none(); } +#line 2918 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 90: -/* Line 1787 of yacc.c */ -#line 1407 "gecode/flatzinc/parser.yxx" - { (yyval.oVarSpecVec) = Option* >::some((yyvsp[(2) - (2)].varSpecVec)); } +#line 1422 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.oVarSpecVec) = Option* >::some((yyvsp[0].varSpecVec)); } +#line 2924 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 91: -/* Line 1787 of yacc.c */ -#line 1411 "gecode/flatzinc/parser.yxx" +#line 1426 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oVarSpecVec) = Option* >::none(); } +#line 2930 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 92: -/* Line 1787 of yacc.c */ -#line 1413 "gecode/flatzinc/parser.yxx" - { (yyval.oVarSpecVec) = Option* >::some((yyvsp[(2) - (2)].varSpecVec)); } +#line 1428 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.oVarSpecVec) = Option* >::some((yyvsp[0].varSpecVec)); } +#line 2936 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 93: -/* Line 1787 of yacc.c */ -#line 1417 "gecode/flatzinc/parser.yxx" - { +#line 1432 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState *pp = static_cast(parm); if (!pp->hadError) { - std::string cid((yyvsp[(2) - (6)].sValue)); - if (cid=="int_eq" && (yyvsp[(4) - (6)].argVec)->a[0]->isIntVar() && (yyvsp[(4) - (6)].argVec)->a[1]->isIntVar()) { - int base0 = getBaseIntVar(pp,(yyvsp[(4) - (6)].argVec)->a[0]->getIntVar()); - int base1 = getBaseIntVar(pp,(yyvsp[(4) - (6)].argVec)->a[1]->getIntVar()); + std::string cid((yyvsp[-4].sValue)); + if (cid=="int_eq" && (yyvsp[-2].argVec)->a[0]->isIntVar() && (yyvsp[-2].argVec)->a[1]->isIntVar()) { + int base0 = getBaseIntVar(pp,(yyvsp[-2].argVec)->a[0]->getIntVar()); + int base1 = getBaseIntVar(pp,(yyvsp[-2].argVec)->a[1]->getIntVar()); if (base0 > base1) { std::swap(base0, base1); } @@ -3152,19 +2951,24 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); // do nothing, already aliased } else { IntVarSpec* ivs1 = static_cast(pp->intvars[base1].second); - ivs1->alias = true; - ivs1->i = base0; - if (ivs1->domain()) { - AST::SetLit* sl = new AST::SetLit(ivs1->domain.some()->getSet()); + AST::SetLit* sl = NULL; + if (ivs1->assigned) { + sl = new AST::SetLit(ivs1->i,ivs1->i); + } else if (ivs1->domain()) { + sl = new AST::SetLit(ivs1->domain.some()->getSet()); + } + if (sl) { Option newdom = Option::some(sl); addDomainConstraint(pp, "int_in", new AST::IntVar(base0), newdom); ivs1->domain = Option::none(); } + ivs1->alias = true; + ivs1->i = base0; } - } else if (cid=="bool_eq" && (yyvsp[(4) - (6)].argVec)->a[0]->isBoolVar() && (yyvsp[(4) - (6)].argVec)->a[1]->isBoolVar()) { - int base0 = getBaseBoolVar(pp,(yyvsp[(4) - (6)].argVec)->a[0]->getBoolVar()); - int base1 = getBaseBoolVar(pp,(yyvsp[(4) - (6)].argVec)->a[1]->getBoolVar()); + } else if (cid=="bool_eq" && (yyvsp[-2].argVec)->a[0]->isBoolVar() && (yyvsp[-2].argVec)->a[1]->isBoolVar()) { + int base0 = getBaseBoolVar(pp,(yyvsp[-2].argVec)->a[0]->getBoolVar()); + int base1 = getBaseBoolVar(pp,(yyvsp[-2].argVec)->a[1]->getBoolVar()); if (base0 > base1) { std::swap(base0, base1); } @@ -3172,19 +2976,24 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); // do nothing, already aliased } else { BoolVarSpec* ivs1 = static_cast(pp->boolvars[base1].second); - ivs1->alias = true; - ivs1->i = base0; - if (ivs1->domain()) { - AST::SetLit* sl = new AST::SetLit(ivs1->domain.some()->getSet()); + AST::SetLit* sl = NULL; + if (ivs1->assigned) { + sl = new AST::SetLit(ivs1->i,ivs1->i); + } else if (ivs1->domain()) { + sl = new AST::SetLit(ivs1->domain.some()->getSet()); + } + if (sl) { Option newdom = Option::some(sl); - addDomainConstraint(pp, "bool_in", + addDomainConstraint(pp, "int_in", new AST::BoolVar(base0), newdom); ivs1->domain = Option::none(); } + ivs1->alias = true; + ivs1->i = base0; } - } else if (cid=="float_eq" && (yyvsp[(4) - (6)].argVec)->a[0]->isFloatVar() && (yyvsp[(4) - (6)].argVec)->a[1]->isFloatVar()) { - int base0 = getBaseFloatVar(pp,(yyvsp[(4) - (6)].argVec)->a[0]->getFloatVar()); - int base1 = getBaseFloatVar(pp,(yyvsp[(4) - (6)].argVec)->a[1]->getFloatVar()); + } else if (cid=="float_eq" && (yyvsp[-2].argVec)->a[0]->isFloatVar() && (yyvsp[-2].argVec)->a[1]->isFloatVar()) { + int base0 = getBaseFloatVar(pp,(yyvsp[-2].argVec)->a[0]->getFloatVar()); + int base1 = getBaseFloatVar(pp,(yyvsp[-2].argVec)->a[1]->getFloatVar()); if (base0 > base1) { std::swap(base0, base1); } @@ -3195,13 +3004,14 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); ivs1->alias = true; ivs1->i = base0; if (ivs1->domain()) { - addDomainConstraint(pp, new AST::FloatVar(base0), Option* >::some(&ivs1->domain.some())); + std::pair* dom = new std::pair(ivs1->domain.some()); + addDomainConstraint(pp, new AST::FloatVar(base0), Option* >::some(dom)); ivs1->domain = Option >::none(); } } - } else if (cid=="set_eq" && (yyvsp[(4) - (6)].argVec)->a[0]->isSetVar() && (yyvsp[(4) - (6)].argVec)->a[1]->isSetVar()) { - int base0 = getBaseSetVar(pp,(yyvsp[(4) - (6)].argVec)->a[0]->getSetVar()); - int base1 = getBaseSetVar(pp,(yyvsp[(4) - (6)].argVec)->a[1]->getSetVar()); + } else if (cid=="set_eq" && (yyvsp[-2].argVec)->a[0]->isSetVar() && (yyvsp[-2].argVec)->a[1]->isSetVar()) { + int base0 = getBaseSetVar(pp,(yyvsp[-2].argVec)->a[0]->getSetVar()); + int base1 = getBaseSetVar(pp,(yyvsp[-2].argVec)->a[1]->getSetVar()); if (base0 > base1) { std::swap(base0, base1); } @@ -3214,295 +3024,300 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (ivs1->upperBound()) { AST::SetLit* sl = new AST::SetLit(ivs1->upperBound.some()->getSet()); Option newdom = Option::some(sl); - addDomainConstraint(pp, "set_subset", - new AST::SetVar(base0), newdom); + if (ivs1->assigned) { + addDomainConstraint(pp, "set_eq", + new AST::SetVar(base0), newdom); + } else { + addDomainConstraint(pp, "set_subset", + new AST::SetVar(base0), newdom); + } ivs1->upperBound = Option::none(); } } } else if ( (cid=="int_le" || cid=="int_lt" || cid=="int_ge" || cid=="int_gt" || cid=="int_eq" || cid=="int_ne") && - ((yyvsp[(4) - (6)].argVec)->a[0]->isInt() || (yyvsp[(4) - (6)].argVec)->a[1]->isInt()) ) { - pp->domainConstraints.push_back(new ConExpr((yyvsp[(2) - (6)].sValue), (yyvsp[(4) - (6)].argVec), (yyvsp[(6) - (6)].argVec))); - } else if ( cid=="set_in" && ((yyvsp[(4) - (6)].argVec)->a[0]->isSet() || (yyvsp[(4) - (6)].argVec)->a[1]->isSet()) ) { - pp->domainConstraints.push_back(new ConExpr((yyvsp[(2) - (6)].sValue), (yyvsp[(4) - (6)].argVec), (yyvsp[(6) - (6)].argVec))); + ((yyvsp[-2].argVec)->a[0]->isInt() || (yyvsp[-2].argVec)->a[1]->isInt()) ) { + pp->domainConstraints.push_back(new ConExpr((yyvsp[-4].sValue), (yyvsp[-2].argVec), (yyvsp[0].argVec))); + } else if ( cid=="set_in" && ((yyvsp[-2].argVec)->a[0]->isSet() || (yyvsp[-2].argVec)->a[1]->isSet()) ) { + pp->domainConstraints.push_back(new ConExpr((yyvsp[-4].sValue), (yyvsp[-2].argVec), (yyvsp[0].argVec))); } else { - pp->constraints.push_back(new ConExpr((yyvsp[(2) - (6)].sValue), (yyvsp[(4) - (6)].argVec), (yyvsp[(6) - (6)].argVec))); + pp->constraints.push_back(new ConExpr((yyvsp[-4].sValue), (yyvsp[-2].argVec), (yyvsp[0].argVec))); } } - free((yyvsp[(2) - (6)].sValue)); + free((yyvsp[-4].sValue)); } +#line 3050 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 94: -/* Line 1787 of yacc.c */ -#line 1512 "gecode/flatzinc/parser.yxx" - { +#line 1543 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState *pp = static_cast(parm); initfg(pp); if (!pp->hadError) { try { - pp->fg->solve((yyvsp[(2) - (3)].argVec)); + pp->fg->solve((yyvsp[-1].argVec)); } catch (Gecode::FlatZinc::Error& e) { yyerror(pp, e.toString().c_str()); } } else { - delete (yyvsp[(2) - (3)].argVec); + delete (yyvsp[-1].argVec); } } +#line 3068 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 95: -/* Line 1787 of yacc.c */ -#line 1526 "gecode/flatzinc/parser.yxx" - { +#line 1557 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState *pp = static_cast(parm); initfg(pp); if (!pp->hadError) { try { - int v = (yyvsp[(4) - (4)].iValue) < 0 ? (-(yyvsp[(4) - (4)].iValue)-1) : (yyvsp[(4) - (4)].iValue); - bool vi = (yyvsp[(4) - (4)].iValue) >= 0; - if ((yyvsp[(3) - (4)].bValue)) - pp->fg->minimize(v,vi,(yyvsp[(2) - (4)].argVec)); + int v = (yyvsp[0].iValue) < 0 ? (-(yyvsp[0].iValue)-1) : (yyvsp[0].iValue); + bool vi = (yyvsp[0].iValue) >= 0; + if ((yyvsp[-1].bValue)) + pp->fg->minimize(v,vi,(yyvsp[-2].argVec)); else - pp->fg->maximize(v,vi,(yyvsp[(2) - (4)].argVec)); + pp->fg->maximize(v,vi,(yyvsp[-2].argVec)); } catch (Gecode::FlatZinc::Error& e) { yyerror(pp, e.toString().c_str()); } } else { - delete (yyvsp[(2) - (4)].argVec); + delete (yyvsp[-2].argVec); } } +#line 3091 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 96: -/* Line 1787 of yacc.c */ -#line 1551 "gecode/flatzinc/parser.yxx" +#line 1582 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oSet) = Option::none(); } +#line 3097 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 97: -/* Line 1787 of yacc.c */ -#line 1553 "gecode/flatzinc/parser.yxx" - { (yyval.oSet) = Option::some(new AST::SetLit(*(yyvsp[(2) - (3)].setValue))); } +#line 1584 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.oSet) = Option::some(new AST::SetLit(*(yyvsp[-1].setValue))); } +#line 3103 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 98: -/* Line 1787 of yacc.c */ -#line 1555 "gecode/flatzinc/parser.yxx" - { - (yyval.oSet) = Option::some(new AST::SetLit((yyvsp[(1) - (3)].iValue), (yyvsp[(3) - (3)].iValue))); +#line 1586 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { + (yyval.oSet) = Option::some(new AST::SetLit((yyvsp[-2].iValue), (yyvsp[0].iValue))); } +#line 3111 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 99: -/* Line 1787 of yacc.c */ -#line 1561 "gecode/flatzinc/parser.yxx" +#line 1592 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oSet) = Option::none(); } +#line 3117 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 100: -/* Line 1787 of yacc.c */ -#line 1563 "gecode/flatzinc/parser.yxx" +#line 1594 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { bool haveTrue = false; bool haveFalse = false; - for (int i=(yyvsp[(2) - (4)].setValue)->size(); i--;) { - haveTrue |= ((*(yyvsp[(2) - (4)].setValue))[i] == 1); - haveFalse |= ((*(yyvsp[(2) - (4)].setValue))[i] == 0); + for (int i=(yyvsp[-2].setValue)->size(); i--;) { + haveTrue |= ((*(yyvsp[-2].setValue))[i] == 1); + haveFalse |= ((*(yyvsp[-2].setValue))[i] == 0); } - delete (yyvsp[(2) - (4)].setValue); + delete (yyvsp[-2].setValue); (yyval.oSet) = Option::some( new AST::SetLit(!haveFalse,haveTrue)); } +#line 3132 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 101: -/* Line 1787 of yacc.c */ -#line 1576 "gecode/flatzinc/parser.yxx" +#line 1607 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oPFloat) = Option* >::none(); } +#line 3138 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 102: -/* Line 1787 of yacc.c */ -#line 1578 "gecode/flatzinc/parser.yxx" - { std::pair* dom = new std::pair((yyvsp[(1) - (3)].dValue),(yyvsp[(3) - (3)].dValue)); +#line 1609 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { std::pair* dom = new std::pair((yyvsp[-2].dValue),(yyvsp[0].dValue)); (yyval.oPFloat) = Option* >::some(dom); } +#line 3145 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 103: -/* Line 1787 of yacc.c */ -#line 1587 "gecode/flatzinc/parser.yxx" - { (yyval.setLit) = new AST::SetLit(*(yyvsp[(2) - (3)].setValue)); } +#line 1618 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setLit) = new AST::SetLit(*(yyvsp[-1].setValue)); } +#line 3151 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 104: -/* Line 1787 of yacc.c */ -#line 1589 "gecode/flatzinc/parser.yxx" - { (yyval.setLit) = new AST::SetLit((yyvsp[(1) - (3)].iValue), (yyvsp[(3) - (3)].iValue)); } +#line 1620 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setLit) = new AST::SetLit((yyvsp[-2].iValue), (yyvsp[0].iValue)); } +#line 3157 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 105: -/* Line 1787 of yacc.c */ -#line 1595 "gecode/flatzinc/parser.yxx" +#line 1626 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.setValue) = new vector(0); } +#line 3163 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 106: -/* Line 1787 of yacc.c */ -#line 1597 "gecode/flatzinc/parser.yxx" - { (yyval.setValue) = (yyvsp[(1) - (2)].setValue); } +#line 1628 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValue) = (yyvsp[-1].setValue); } +#line 3169 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 107: -/* Line 1787 of yacc.c */ -#line 1601 "gecode/flatzinc/parser.yxx" - { (yyval.setValue) = new vector(1); (*(yyval.setValue))[0] = (yyvsp[(1) - (1)].iValue); } +#line 1632 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValue) = new vector(1); (*(yyval.setValue))[0] = (yyvsp[0].iValue); } +#line 3175 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 108: -/* Line 1787 of yacc.c */ -#line 1603 "gecode/flatzinc/parser.yxx" - { (yyval.setValue) = (yyvsp[(1) - (3)].setValue); (yyval.setValue)->push_back((yyvsp[(3) - (3)].iValue)); } +#line 1634 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValue) = (yyvsp[-2].setValue); (yyval.setValue)->push_back((yyvsp[0].iValue)); } +#line 3181 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 109: -/* Line 1787 of yacc.c */ -#line 1607 "gecode/flatzinc/parser.yxx" +#line 1638 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.setValue) = new vector(0); } +#line 3187 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 110: -/* Line 1787 of yacc.c */ -#line 1609 "gecode/flatzinc/parser.yxx" - { (yyval.setValue) = (yyvsp[(1) - (2)].setValue); } +#line 1640 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValue) = (yyvsp[-1].setValue); } +#line 3193 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 111: -/* Line 1787 of yacc.c */ -#line 1613 "gecode/flatzinc/parser.yxx" - { (yyval.setValue) = new vector(1); (*(yyval.setValue))[0] = (yyvsp[(1) - (1)].iValue); } +#line 1644 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValue) = new vector(1); (*(yyval.setValue))[0] = (yyvsp[0].iValue); } +#line 3199 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 112: -/* Line 1787 of yacc.c */ -#line 1615 "gecode/flatzinc/parser.yxx" - { (yyval.setValue) = (yyvsp[(1) - (3)].setValue); (yyval.setValue)->push_back((yyvsp[(3) - (3)].iValue)); } +#line 1646 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValue) = (yyvsp[-2].setValue); (yyval.setValue)->push_back((yyvsp[0].iValue)); } +#line 3205 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 113: -/* Line 1787 of yacc.c */ -#line 1619 "gecode/flatzinc/parser.yxx" +#line 1650 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.floatSetValue) = new vector(0); } +#line 3211 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 114: -/* Line 1787 of yacc.c */ -#line 1621 "gecode/flatzinc/parser.yxx" - { (yyval.floatSetValue) = (yyvsp[(1) - (2)].floatSetValue); } +#line 1652 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.floatSetValue) = (yyvsp[-1].floatSetValue); } +#line 3217 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 115: -/* Line 1787 of yacc.c */ -#line 1625 "gecode/flatzinc/parser.yxx" - { (yyval.floatSetValue) = new vector(1); (*(yyval.floatSetValue))[0] = (yyvsp[(1) - (1)].dValue); } +#line 1656 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.floatSetValue) = new vector(1); (*(yyval.floatSetValue))[0] = (yyvsp[0].dValue); } +#line 3223 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 116: -/* Line 1787 of yacc.c */ -#line 1627 "gecode/flatzinc/parser.yxx" - { (yyval.floatSetValue) = (yyvsp[(1) - (3)].floatSetValue); (yyval.floatSetValue)->push_back((yyvsp[(3) - (3)].dValue)); } +#line 1658 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.floatSetValue) = (yyvsp[-2].floatSetValue); (yyval.floatSetValue)->push_back((yyvsp[0].dValue)); } +#line 3229 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 117: -/* Line 1787 of yacc.c */ -#line 1631 "gecode/flatzinc/parser.yxx" +#line 1662 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.setValueList) = new vector(0); } +#line 3235 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 118: -/* Line 1787 of yacc.c */ -#line 1633 "gecode/flatzinc/parser.yxx" - { (yyval.setValueList) = (yyvsp[(1) - (2)].setValueList); } +#line 1664 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValueList) = (yyvsp[-1].setValueList); } +#line 3241 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 119: -/* Line 1787 of yacc.c */ -#line 1637 "gecode/flatzinc/parser.yxx" - { (yyval.setValueList) = new vector(1); (*(yyval.setValueList))[0] = *(yyvsp[(1) - (1)].setLit); delete (yyvsp[(1) - (1)].setLit); } +#line 1668 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValueList) = new vector(1); (*(yyval.setValueList))[0] = *(yyvsp[0].setLit); delete (yyvsp[0].setLit); } +#line 3247 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 120: -/* Line 1787 of yacc.c */ -#line 1639 "gecode/flatzinc/parser.yxx" - { (yyval.setValueList) = (yyvsp[(1) - (3)].setValueList); (yyval.setValueList)->push_back(*(yyvsp[(3) - (3)].setLit)); delete (yyvsp[(3) - (3)].setLit); } +#line 1670 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.setValueList) = (yyvsp[-2].setValueList); (yyval.setValueList)->push_back(*(yyvsp[0].setLit)); delete (yyvsp[0].setLit); } +#line 3253 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 121: -/* Line 1787 of yacc.c */ -#line 1647 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = new AST::Array((yyvsp[(1) - (1)].arg)); } +#line 1678 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = new AST::Array((yyvsp[0].arg)); } +#line 3259 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 122: -/* Line 1787 of yacc.c */ -#line 1649 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = (yyvsp[(1) - (3)].argVec); (yyval.argVec)->append((yyvsp[(3) - (3)].arg)); } +#line 1680 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = (yyvsp[-2].argVec); (yyval.argVec)->append((yyvsp[0].arg)); } +#line 3265 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 123: -/* Line 1787 of yacc.c */ -#line 1653 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(1) - (1)].arg); } +#line 1684 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[0].arg); } +#line 3271 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 124: -/* Line 1787 of yacc.c */ -#line 1655 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(2) - (3)].argVec); } +#line 1686 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[-1].argVec); } +#line 3277 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 125: -/* Line 1787 of yacc.c */ -#line 1659 "gecode/flatzinc/parser.yxx" +#line 1690 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.oArg) = Option::none(); } +#line 3283 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 126: -/* Line 1787 of yacc.c */ -#line 1661 "gecode/flatzinc/parser.yxx" - { (yyval.oArg) = Option::some((yyvsp[(2) - (2)].arg)); } +#line 1692 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.oArg) = Option::some((yyvsp[0].arg)); } +#line 3289 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 127: -/* Line 1787 of yacc.c */ -#line 1665 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::BoolLit((yyvsp[(1) - (1)].iValue)); } +#line 1696 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::BoolLit((yyvsp[0].iValue)); } +#line 3295 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 128: -/* Line 1787 of yacc.c */ -#line 1667 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::IntLit((yyvsp[(1) - (1)].iValue)); } +#line 1698 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::IntLit((yyvsp[0].iValue)); } +#line 3301 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 129: -/* Line 1787 of yacc.c */ -#line 1669 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::FloatLit((yyvsp[(1) - (1)].dValue)); } +#line 1700 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::FloatLit((yyvsp[0].dValue)); } +#line 3307 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 130: -/* Line 1787 of yacc.c */ -#line 1671 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(1) - (1)].setLit); } +#line 1702 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[0].setLit); } +#line 3313 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 131: -/* Line 1787 of yacc.c */ -#line 1673 "gecode/flatzinc/parser.yxx" - { +#line 1704 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); SymbolEntry e; - if (pp->symbols.get((yyvsp[(1) - (1)].sValue), e)) { + if (pp->symbols.get((yyvsp[0].sValue), e)) { switch (e.t) { case ST_INTVARARRAY: { @@ -3583,66 +3398,66 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); (yyval.arg) = new AST::SetLit(pp->setvals[e.i]); break; default: - (yyval.arg) = getVarRefArg(pp,(yyvsp[(1) - (1)].sValue)); + (yyval.arg) = getVarRefArg(pp,(yyvsp[0].sValue)); } } else { - pp->err << "Error: undefined identifier " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: undefined identifier " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; (yyval.arg) = NULL; } - free((yyvsp[(1) - (1)].sValue)); + free((yyvsp[0].sValue)); } +#line 3413 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 132: -/* Line 1787 of yacc.c */ -#line 1769 "gecode/flatzinc/parser.yxx" - { +#line 1800 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); int i = -1; - yyassert(pp, (yyvsp[(3) - (4)].arg)->isInt(i), "Non-integer array index"); + yyassert(pp, (yyvsp[-1].arg)->isInt(i), "Non-integer array index"); if (!pp->hadError) - (yyval.arg) = getArrayElement(static_cast(parm),(yyvsp[(1) - (4)].sValue),i,false); + (yyval.arg) = getArrayElement(static_cast(parm),(yyvsp[-3].sValue),i,false); else (yyval.arg) = new AST::IntLit(0); // keep things consistent - delete (yyvsp[(3) - (4)].arg); - free((yyvsp[(1) - (4)].sValue)); + delete (yyvsp[-1].arg); + free((yyvsp[-3].sValue)); } +#line 3429 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 133: -/* Line 1787 of yacc.c */ -#line 1783 "gecode/flatzinc/parser.yxx" +#line 1814 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.argVec) = new AST::Array(0); } +#line 3435 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 134: -/* Line 1787 of yacc.c */ -#line 1785 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = (yyvsp[(1) - (2)].argVec); } +#line 1816 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = (yyvsp[-1].argVec); } +#line 3441 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 135: -/* Line 1787 of yacc.c */ -#line 1789 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = new AST::Array((yyvsp[(1) - (1)].arg)); } +#line 1820 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = new AST::Array((yyvsp[0].arg)); } +#line 3447 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 136: -/* Line 1787 of yacc.c */ -#line 1791 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = (yyvsp[(1) - (3)].argVec); (yyval.argVec)->append((yyvsp[(3) - (3)].arg)); } +#line 1822 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = (yyvsp[-2].argVec); (yyval.argVec)->append((yyvsp[0].arg)); } +#line 3453 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 137: -/* Line 1787 of yacc.c */ -#line 1799 "gecode/flatzinc/parser.yxx" - { +#line 1830 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState *pp = static_cast(parm); SymbolEntry e; - bool haveSym = pp->symbols.get((yyvsp[(1) - (1)].sValue),e); + bool haveSym = pp->symbols.get((yyvsp[0].sValue),e); if (haveSym) { switch (e.t) { case ST_INTVAR: @@ -3658,172 +3473,172 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); (yyval.iValue) = pp->intvars.size()-1; break; default: - pp->err << "Error: unknown int or float variable " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: unknown int or float variable " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; break; } } else { - pp->err << "Error: unknown int or float variable " << (yyvsp[(1) - (1)].sValue) + pp->err << "Error: unknown int or float variable " << (yyvsp[0].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; } - free((yyvsp[(1) - (1)].sValue)); + free((yyvsp[0].sValue)); } +#line 3491 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 138: -/* Line 1787 of yacc.c */ -#line 1833 "gecode/flatzinc/parser.yxx" +#line 1864 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState *pp = static_cast(parm); pp->intvars.push_back(varspec("OBJ_CONST_INTRODUCED", new IntVarSpec(0,true,false))); (yyval.iValue) = pp->intvars.size()-1; } +#line 3502 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 139: -/* Line 1787 of yacc.c */ -#line 1840 "gecode/flatzinc/parser.yxx" +#line 1871 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { ParserState *pp = static_cast(parm); pp->intvars.push_back(varspec("OBJ_CONST_INTRODUCED", new IntVarSpec(0,true,false))); (yyval.iValue) = pp->intvars.size()-1; } +#line 3513 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 140: -/* Line 1787 of yacc.c */ -#line 1847 "gecode/flatzinc/parser.yxx" +#line 1878 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { SymbolEntry e; ParserState *pp = static_cast(parm); - if ( (!pp->symbols.get((yyvsp[(1) - (4)].sValue), e)) || + if ( (!pp->symbols.get((yyvsp[-3].sValue), e)) || (e.t != ST_INTVARARRAY && e.t != ST_FLOATVARARRAY)) { - pp->err << "Error: unknown int or float variable array " << (yyvsp[(1) - (4)].sValue) + pp->err << "Error: unknown int or float variable array " << (yyvsp[-3].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; } - if ((yyvsp[(3) - (4)].iValue) == 0 || (yyvsp[(3) - (4)].iValue) > pp->arrays[e.i]) { - pp->err << "Error: array index out of bounds for array " << (yyvsp[(1) - (4)].sValue) + if ((yyvsp[-1].iValue) == 0 || (yyvsp[-1].iValue) > pp->arrays[e.i]) { + pp->err << "Error: array index out of bounds for array " << (yyvsp[-3].sValue) << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; } else { if (e.t == ST_INTVARARRAY) - (yyval.iValue) = pp->arrays[e.i+(yyvsp[(3) - (4)].iValue)]; + (yyval.iValue) = pp->arrays[e.i+(yyvsp[-1].iValue)]; else - (yyval.iValue) = -pp->arrays[e.i+(yyvsp[(3) - (4)].iValue)]-1; + (yyval.iValue) = -pp->arrays[e.i+(yyvsp[-1].iValue)]-1; } - free((yyvsp[(1) - (4)].sValue)); + free((yyvsp[-3].sValue)); } +#line 3541 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 143: -/* Line 1787 of yacc.c */ -#line 1881 "gecode/flatzinc/parser.yxx" +#line 1912 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.argVec) = NULL; } +#line 3547 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 144: -/* Line 1787 of yacc.c */ -#line 1883 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = (yyvsp[(1) - (1)].argVec); } +#line 1914 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = (yyvsp[0].argVec); } +#line 3553 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 145: -/* Line 1787 of yacc.c */ -#line 1887 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = new AST::Array((yyvsp[(2) - (2)].arg)); } +#line 1918 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = new AST::Array((yyvsp[0].arg)); } +#line 3559 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 146: -/* Line 1787 of yacc.c */ -#line 1889 "gecode/flatzinc/parser.yxx" - { (yyval.argVec) = (yyvsp[(1) - (3)].argVec); (yyval.argVec)->append((yyvsp[(3) - (3)].arg)); } +#line 1920 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.argVec) = (yyvsp[-2].argVec); (yyval.argVec)->append((yyvsp[0].arg)); } +#line 3565 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 147: -/* Line 1787 of yacc.c */ -#line 1893 "gecode/flatzinc/parser.yxx" - { - (yyval.arg) = new AST::Call((yyvsp[(1) - (4)].sValue), AST::extractSingleton((yyvsp[(3) - (4)].arg))); free((yyvsp[(1) - (4)].sValue)); +#line 1924 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { + (yyval.arg) = new AST::Call((yyvsp[-3].sValue), AST::extractSingleton((yyvsp[-1].arg))); free((yyvsp[-3].sValue)); } +#line 3573 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 148: -/* Line 1787 of yacc.c */ -#line 1897 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(1) - (1)].arg); } +#line 1928 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[0].arg); } +#line 3579 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 149: -/* Line 1787 of yacc.c */ -#line 1901 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::Array((yyvsp[(1) - (1)].arg)); } +#line 1932 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::Array((yyvsp[0].arg)); } +#line 3585 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 150: -/* Line 1787 of yacc.c */ -#line 1903 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(1) - (3)].arg); (yyval.arg)->append((yyvsp[(3) - (3)].arg)); } +#line 1934 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[-2].arg); (yyval.arg)->append((yyvsp[0].arg)); } +#line 3591 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 151: -/* Line 1787 of yacc.c */ -#line 1907 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(1) - (1)].arg); } +#line 1938 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[0].arg); } +#line 3597 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 152: -/* Line 1787 of yacc.c */ -#line 1909 "gecode/flatzinc/parser.yxx" +#line 1940 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { (yyval.arg) = new AST::Array(); } +#line 3603 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 153: -/* Line 1787 of yacc.c */ -#line 1911 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(2) - (4)].arg); } +#line 1942 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[-2].arg); } +#line 3609 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 156: -/* Line 1787 of yacc.c */ -#line 1917 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::BoolLit((yyvsp[(1) - (1)].iValue)); } +#line 1948 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::BoolLit((yyvsp[0].iValue)); } +#line 3615 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 157: -/* Line 1787 of yacc.c */ -#line 1919 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::IntLit((yyvsp[(1) - (1)].iValue)); } +#line 1950 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::IntLit((yyvsp[0].iValue)); } +#line 3621 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 158: -/* Line 1787 of yacc.c */ -#line 1921 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = new AST::FloatLit((yyvsp[(1) - (1)].dValue)); } +#line 1952 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = new AST::FloatLit((yyvsp[0].dValue)); } +#line 3627 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 159: -/* Line 1787 of yacc.c */ -#line 1923 "gecode/flatzinc/parser.yxx" - { (yyval.arg) = (yyvsp[(1) - (1)].setLit); } +#line 1954 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { (yyval.arg) = (yyvsp[0].setLit); } +#line 3633 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 160: -/* Line 1787 of yacc.c */ -#line 1925 "gecode/flatzinc/parser.yxx" - { +#line 1956 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); SymbolEntry e; bool gotSymbol = false; - if (pp->symbols.get((yyvsp[(1) - (1)].sValue), e)) { + if (pp->symbols.get((yyvsp[0].sValue), e)) { gotSymbol = true; switch (e.t) { case ST_INTVARARRAY: @@ -3831,7 +3646,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); AST::Array *v = new AST::Array(pp->arrays[e.i]); for (int i=pp->arrays[e.i]; i--;) { std::ostringstream oss; - oss << (yyvsp[(1) - (1)].sValue) << "["<<(i+1)<<"]"; + oss << (yyvsp[0].sValue) << "["<<(i+1)<<"]"; v->a[i] = new AST::IntVar(pp->arrays[e.i+i+1], oss.str()); } (yyval.arg) = v; @@ -3842,7 +3657,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); AST::Array *v = new AST::Array(pp->arrays[e.i]); for (int i=pp->arrays[e.i]; i--;) { std::ostringstream oss; - oss << (yyvsp[(1) - (1)].sValue) << "["<<(i+1)<<"]"; + oss << (yyvsp[0].sValue) << "["<<(i+1)<<"]"; v->a[i] = new AST::BoolVar(pp->arrays[e.i+i+1], oss.str()); } (yyval.arg) = v; @@ -3853,7 +3668,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); AST::Array *v = new AST::Array(pp->arrays[e.i]); for (int i=pp->arrays[e.i]; i--;) { std::ostringstream oss; - oss << (yyvsp[(1) - (1)].sValue) << "["<<(i+1)<<"]"; + oss << (yyvsp[0].sValue) << "["<<(i+1)<<"]"; v->a[i] = new AST::FloatVar(pp->arrays[e.i+i+1], oss.str()); } (yyval.arg) = v; @@ -3864,7 +3679,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); AST::Array *v = new AST::Array(pp->arrays[e.i]); for (int i=pp->arrays[e.i]; i--;) { std::ostringstream oss; - oss << (yyvsp[(1) - (1)].sValue) << "["<<(i+1)<<"]"; + oss << (yyvsp[0].sValue) << "["<<(i+1)<<"]"; v->a[i] = new AST::SetVar(pp->arrays[e.i+i+1], oss.str()); } (yyval.arg) = v; @@ -3921,38 +3736,38 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); } } if (!gotSymbol) - (yyval.arg) = getVarRefArg(pp,(yyvsp[(1) - (1)].sValue),true); - free((yyvsp[(1) - (1)].sValue)); + (yyval.arg) = getVarRefArg(pp,(yyvsp[0].sValue),true); + free((yyvsp[0].sValue)); } +#line 3743 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 161: -/* Line 1787 of yacc.c */ -#line 2031 "gecode/flatzinc/parser.yxx" - { +#line 2062 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ + { ParserState* pp = static_cast(parm); int i = -1; - yyassert(pp, (yyvsp[(3) - (4)].arg)->isInt(i), "Non-integer array index"); + yyassert(pp, (yyvsp[-1].arg)->isInt(i), "Non-integer array index"); if (!pp->hadError) - (yyval.arg) = getArrayElement(static_cast(parm),(yyvsp[(1) - (4)].sValue),i,true); + (yyval.arg) = getArrayElement(static_cast(parm),(yyvsp[-3].sValue),i,true); else (yyval.arg) = new AST::IntLit(0); // keep things consistent - free((yyvsp[(1) - (4)].sValue)); + free((yyvsp[-3].sValue)); } +#line 3758 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; case 162: -/* Line 1787 of yacc.c */ -#line 2042 "gecode/flatzinc/parser.yxx" +#line 2073 "gecode/flatzinc/parser.yxx" /* yacc.c:1646 */ { - (yyval.arg) = new AST::String((yyvsp[(1) - (1)].sValue)); - free((yyvsp[(1) - (1)].sValue)); + (yyval.arg) = new AST::String((yyvsp[0].sValue)); + free((yyvsp[0].sValue)); } +#line 3767 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ break; -/* Line 1787 of yacc.c */ -#line 3956 "gecode/flatzinc/parser.tab.cpp" +#line 3771 "gecode/flatzinc/parser.tab.cpp" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3974,7 +3789,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -3989,9 +3804,9 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); goto yynewstate; -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ @@ -4042,20 +3857,20 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } else - { - yydestruct ("Error: discarding", - yytoken, &yylval, parm); - yychar = YYEMPTY; - } + { + yydestruct ("Error: discarding", + yytoken, &yylval, parm); + yychar = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -4074,7 +3889,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (/*CONSTCOND*/ 0) goto yyerrorlab; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; @@ -4087,29 +3902,29 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ + yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) - YYABORT; + YYABORT; yydestruct ("Error: popping", - yystos[yystate], yyvsp, parm); + yystos[yystate], yyvsp, parm); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); @@ -4160,14 +3975,14 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, parm); } - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp, parm); + yystos[*yyssp], yyvsp, parm); YYPOPSTACK (1); } #ifndef yyoverflow @@ -4178,8 +3993,5 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif - /* Make sure YYID is used. */ - return YYID (yyresult); + return yyresult; } - - diff --git a/gecode/flatzinc/parser.tab.hh b/gecode/flatzinc/parser.tab.hh index 65f6b77d10..af7148a959 100644 --- a/gecode/flatzinc/parser.tab.hh +++ b/gecode/flatzinc/parser.tab.hh @@ -1,14 +1,13 @@ -/* A Bison parser, made by GNU Bison 2.3. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ -/* Skeleton interface for Bison's Yacc-like parsers in C +/* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -16,9 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -33,113 +30,76 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -/* Tokens. */ +#ifndef YY_YY_GECODE_FLATZINC_PARSER_TAB_HPP_INCLUDED +# define YY_YY_GECODE_FLATZINC_PARSER_TAB_HPP_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int yydebug; +#endif + +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - FZ_INT_LIT = 258, - FZ_BOOL_LIT = 259, - FZ_FLOAT_LIT = 260, - FZ_ID = 261, - FZ_U_ID = 262, - FZ_STRING_LIT = 263, - FZ_VAR = 264, - FZ_PAR = 265, - FZ_ANNOTATION = 266, - FZ_ANY = 267, - FZ_ARRAY = 268, - FZ_BOOL = 269, - FZ_CASE = 270, - FZ_COLONCOLON = 271, - FZ_CONSTRAINT = 272, - FZ_DEFAULT = 273, - FZ_DOTDOT = 274, - FZ_ELSE = 275, - FZ_ELSEIF = 276, - FZ_ENDIF = 277, - FZ_ENUM = 278, - FZ_FLOAT = 279, - FZ_FUNCTION = 280, - FZ_IF = 281, - FZ_INCLUDE = 282, - FZ_INT = 283, - FZ_LET = 284, - FZ_MAXIMIZE = 285, - FZ_MINIMIZE = 286, - FZ_OF = 287, - FZ_SATISFY = 288, - FZ_OUTPUT = 289, - FZ_PREDICATE = 290, - FZ_RECORD = 291, - FZ_SET = 292, - FZ_SHOW = 293, - FZ_SHOWCOND = 294, - FZ_SOLVE = 295, - FZ_STRING = 296, - FZ_TEST = 297, - FZ_THEN = 298, - FZ_TUPLE = 299, - FZ_TYPE = 300, - FZ_VARIANT_RECORD = 301, - FZ_WHERE = 302 - }; + enum yytokentype + { + FZ_INT_LIT = 258, + FZ_BOOL_LIT = 259, + FZ_FLOAT_LIT = 260, + FZ_ID = 261, + FZ_U_ID = 262, + FZ_STRING_LIT = 263, + FZ_VAR = 264, + FZ_PAR = 265, + FZ_ANNOTATION = 266, + FZ_ANY = 267, + FZ_ARRAY = 268, + FZ_BOOL = 269, + FZ_CASE = 270, + FZ_COLONCOLON = 271, + FZ_CONSTRAINT = 272, + FZ_DEFAULT = 273, + FZ_DOTDOT = 274, + FZ_ELSE = 275, + FZ_ELSEIF = 276, + FZ_ENDIF = 277, + FZ_ENUM = 278, + FZ_FLOAT = 279, + FZ_FUNCTION = 280, + FZ_IF = 281, + FZ_INCLUDE = 282, + FZ_INT = 283, + FZ_LET = 284, + FZ_MAXIMIZE = 285, + FZ_MINIMIZE = 286, + FZ_OF = 287, + FZ_SATISFY = 288, + FZ_OUTPUT = 289, + FZ_PREDICATE = 290, + FZ_RECORD = 291, + FZ_SET = 292, + FZ_SHOW = 293, + FZ_SHOWCOND = 294, + FZ_SOLVE = 295, + FZ_STRING = 296, + FZ_TEST = 297, + FZ_THEN = 298, + FZ_TUPLE = 299, + FZ_TYPE = 300, + FZ_VARIANT_RECORD = 301, + FZ_WHERE = 302 + }; #endif -/* Tokens. */ -#define FZ_INT_LIT 258 -#define FZ_BOOL_LIT 259 -#define FZ_FLOAT_LIT 260 -#define FZ_ID 261 -#define FZ_U_ID 262 -#define FZ_STRING_LIT 263 -#define FZ_VAR 264 -#define FZ_PAR 265 -#define FZ_ANNOTATION 266 -#define FZ_ANY 267 -#define FZ_ARRAY 268 -#define FZ_BOOL 269 -#define FZ_CASE 270 -#define FZ_COLONCOLON 271 -#define FZ_CONSTRAINT 272 -#define FZ_DEFAULT 273 -#define FZ_DOTDOT 274 -#define FZ_ELSE 275 -#define FZ_ELSEIF 276 -#define FZ_ENDIF 277 -#define FZ_ENUM 278 -#define FZ_FLOAT 279 -#define FZ_FUNCTION 280 -#define FZ_IF 281 -#define FZ_INCLUDE 282 -#define FZ_INT 283 -#define FZ_LET 284 -#define FZ_MAXIMIZE 285 -#define FZ_MINIMIZE 286 -#define FZ_OF 287 -#define FZ_SATISFY 288 -#define FZ_OUTPUT 289 -#define FZ_PREDICATE 290 -#define FZ_RECORD 291 -#define FZ_SET 292 -#define FZ_SHOW 293 -#define FZ_SHOWCOND 294 -#define FZ_SOLVE 295 -#define FZ_STRING 296 -#define FZ_TEST 297 -#define FZ_THEN 298 -#define FZ_TUPLE 299 -#define FZ_TYPE 300 -#define FZ_VARIANT_RECORD 301 -#define FZ_WHERE 302 - - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 447 "gecode/flatzinc/parser.yxx" -{ int iValue; char* sValue; bool bValue; double dValue; + +union YYSTYPE +{ +#line 474 "gecode/flatzinc/parser.yxx" /* yacc.c:1909 */ + int iValue; char* sValue; bool bValue; double dValue; std::vector* setValue; Gecode::FlatZinc::AST::SetLit* setLit; std::vector* floatSetValue; @@ -152,14 +112,18 @@ typedef union YYSTYPE Gecode::FlatZinc::Option* > oVarSpecVec; Gecode::FlatZinc::AST::Node* arg; Gecode::FlatZinc::AST::Array* argVec; - } -/* Line 1529 of yacc.c. */ -#line 158 "gecode/flatzinc/parser.tab.hpp" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 + + +#line 118 "gecode/flatzinc/parser.tab.hpp" /* yacc.c:1909 */ +}; + +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 +# define YYSTYPE_IS_DECLARED 1 #endif +int yyparse (void *parm); + +#endif /* !YY_YY_GECODE_FLATZINC_PARSER_TAB_HPP_INCLUDED */ diff --git a/gecode/flatzinc/parser.yxx b/gecode/flatzinc/parser.yxx index 7563291f7f..a4ce87bc4c 100644 --- a/gecode/flatzinc/parser.yxx +++ b/gecode/flatzinc/parser.yxx @@ -37,6 +37,7 @@ %pure-parser %parse-param {void *parm} +%lex-param {void *YYLEX_PARAM} %{ #define YYPARSE_PARAM parm #define YYLEX_PARAM static_cast(parm)->yyscanner @@ -143,7 +144,7 @@ AST::Node* getArrayElement(ParserState* pp, string id, int offset, std::ostringstream oss; oss << id << "[" << offset << "]"; n = oss.str(); - } + } return new AST::FloatVar(pp->arrays[e.i+offset],n); } case ST_INTVALARRAY: @@ -184,7 +185,7 @@ AST::Node* getVarRefArg(ParserState* pp, string id, bool annotation = false) { default: break; } } - + if (annotation) return new AST::Atom(id); pp->err << "Error: undefined variable " << id @@ -303,7 +304,7 @@ void initfg(ParserState* pp) { } catch (Gecode::FlatZinc::Error& e) { yyerror(pp, e.toString().c_str()); } - } + } delete pp->setvars[i].second; pp->setvars[i].second = NULL; } @@ -315,29 +316,55 @@ void initfg(ParserState* pp) { } catch (Gecode::FlatZinc::Error& e) { yyerror(pp, e.toString().c_str()); } - } + } delete pp->floatvars[i].second; pp->floatvars[i].second = NULL; } - pp->fg->postConstraints(pp->domainConstraints); - pp->fg->postConstraints(pp->constraints); + if (!pp->hadError) { + pp->fg->postConstraints(pp->domainConstraints); + pp->fg->postConstraints(pp->constraints); + } } void fillPrinter(ParserState& pp, Gecode::FlatZinc::Printer& p) { p.init(pp.getOutput()); + for (unsigned int i=0; iargs->isArray()) { a = ann->args->getArray(); } else { a = new AST::Array(ann->args); } - + std::ostringstream oss; - + oss << "array" << a->a.size() << "d("; for (unsigned int i=0; ia.size(); i++) { AST::SetLit* s = a->a[i]->getSet(); @@ -383,12 +410,12 @@ namespace Gecode { namespace FlatZinc { } if (stat(filename.c_str(), &sbuf) == -1) { err << "Cannot stat file " << filename << endl; - return NULL; + return NULL; } data = (char*)mmap((caddr_t)0, sbuf.st_size, PROT_READ, MAP_SHARED, fd,0); if (data == (caddr_t)(-1)) { err << "Cannot mmap file " << filename << endl; - return NULL; + return NULL; } if (fzs == NULL) { @@ -414,7 +441,7 @@ namespace Gecode { namespace FlatZinc { // yydebug = 1; yyparse(&pp); fillPrinter(pp, p); - + if (pp.yyscanner) yylex_destroy(pp.yyscanner); return pp.hadError ? NULL : pp.fg; @@ -434,7 +461,7 @@ namespace Gecode { namespace FlatZinc { // yydebug = 1; yyparse(&pp); fillPrinter(pp, p); - + if (pp.yyscanner) yylex_destroy(pp.yyscanner); return pp.hadError ? NULL : pp.fg; @@ -474,7 +501,7 @@ namespace Gecode { namespace FlatZinc { %token FZ_CASE %token FZ_COLONCOLON %token FZ_CONSTRAINT -%token FZ_DEFAULT +%token FZ_DEFAULT %token FZ_DOTDOT %token FZ_ELSE %token FZ_ELSEIF @@ -516,10 +543,10 @@ namespace Gecode { namespace FlatZinc { %type vardecl_bool_var_array_init %type vardecl_float_var_array_init %type vardecl_set_var_array_init -%type int_var_array_literal -%type bool_var_array_literal -%type float_var_array_literal -%type set_var_array_literal +%type int_var_array_literal +%type bool_var_array_literal +%type float_var_array_literal +%type set_var_array_literal %type int_init_list int_init_list_head %type bool_init_list bool_init_list_head %type float_init_list float_init_list_head @@ -556,7 +583,7 @@ preddecl_items_head: preddecl_item ';' | preddecl_items_head preddecl_item ';' -vardecl_items: +vardecl_items: /* emtpy */ | vardecl_items_head @@ -625,24 +652,21 @@ vardecl_item: { ParserState* pp = static_cast(parm); bool print = $5->hasAtom("output_var"); - bool introduced = $5->hasAtom("var_is_introduced"); bool funcDep = $5->hasAtom("is_defined_var"); yyassert(pp, pp->symbols.put($4, se_iv(pp->intvars.size())), "Duplicate symbol"); if (print) { pp->output(std::string($4), new AST::IntVar(pp->intvars.size())); - } else { - introduced = true; } if ($6()) { AST::Node* arg = $6.some(); if (arg->isInt()) { pp->intvars.push_back(varspec($4, - new IntVarSpec(arg->getInt(),introduced,funcDep))); + new IntVarSpec(arg->getInt(),!print,funcDep))); } else if (arg->isIntVar()) { pp->intvars.push_back(varspec($4, - new IntVarSpec(Alias(arg->getIntVar()),introduced,funcDep))); + new IntVarSpec(Alias(arg->getIntVar()),!print,funcDep))); } else { yyassert(pp, false, "Invalid var int initializer"); } @@ -652,7 +676,7 @@ vardecl_item: delete arg; } else { pp->intvars.push_back(varspec($4, - new IntVarSpec($2,introduced,funcDep))); + new IntVarSpec($2,!print,funcDep))); } delete $5; free($4); } @@ -660,24 +684,21 @@ vardecl_item: { ParserState* pp = static_cast(parm); bool print = $5->hasAtom("output_var"); - bool introduced = $5->hasAtom("var_is_introduced"); bool funcDep = $5->hasAtom("is_defined_var"); yyassert(pp, pp->symbols.put($4, se_bv(pp->boolvars.size())), "Duplicate symbol"); if (print) { pp->output(std::string($4), new AST::BoolVar(pp->boolvars.size())); - } else { - introduced = true; } if ($6()) { AST::Node* arg = $6.some(); if (arg->isBool()) { pp->boolvars.push_back(varspec($4, - new BoolVarSpec(arg->getBool(),introduced,funcDep))); + new BoolVarSpec(arg->getBool(),!print,funcDep))); } else if (arg->isBoolVar()) { pp->boolvars.push_back(varspec($4, - new BoolVarSpec(Alias(arg->getBoolVar()),introduced,funcDep))); + new BoolVarSpec(Alias(arg->getBoolVar()),!print,funcDep))); } else { yyassert(pp, false, "Invalid var bool initializer"); } @@ -687,7 +708,7 @@ vardecl_item: delete arg; } else { pp->boolvars.push_back(varspec($4, - new BoolVarSpec($2,introduced,funcDep))); + new BoolVarSpec($2,!print,funcDep))); } delete $5; free($4); } @@ -695,7 +716,6 @@ vardecl_item: { ParserState* pp = static_cast(parm); bool print = $5->hasAtom("output_var"); - bool introduced = $5->hasAtom("var_is_introduced"); bool funcDep = $5->hasAtom("is_defined_var"); yyassert(pp, pp->symbols.put($4, se_fv(pp->floatvars.size())), @@ -703,18 +723,16 @@ vardecl_item: if (print) { pp->output(std::string($4), new AST::FloatVar(pp->floatvars.size())); - } else { - introduced = true; } if ($6()) { AST::Node* arg = $6.some(); if (arg->isFloat()) { pp->floatvars.push_back(varspec($4, - new FloatVarSpec(arg->getFloat(),introduced,funcDep))); + new FloatVarSpec(arg->getFloat(),!print,funcDep))); } else if (arg->isFloatVar()) { pp->floatvars.push_back(varspec($4, new FloatVarSpec( - Alias(arg->getFloatVar()),introduced,funcDep))); + Alias(arg->getFloatVar()),!print,funcDep))); } else { yyassert(pp, false, "Invalid var float initializer"); } @@ -729,32 +747,29 @@ vardecl_item: : Option >::none(); if ($2()) delete $2.some(); pp->floatvars.push_back(varspec($4, - new FloatVarSpec(dom,introduced,funcDep))); + new FloatVarSpec(dom,!print,funcDep))); } delete $5; free($4); } | FZ_VAR FZ_SET FZ_OF int_ti_expr_tail ':' var_par_id annotations non_array_expr_opt - { + { ParserState* pp = static_cast(parm); bool print = $7->hasAtom("output_var"); - bool introduced = $7->hasAtom("var_is_introduced"); bool funcDep = $7->hasAtom("is_defined_var"); yyassert(pp, pp->symbols.put($6, se_sv(pp->setvars.size())), "Duplicate symbol"); if (print) { pp->output(std::string($6), new AST::SetVar(pp->setvars.size())); - } else { - introduced = true; } if ($8()) { AST::Node* arg = $8.some(); if (arg->isSet()) { pp->setvars.push_back(varspec($6, - new SetVarSpec(arg->getSet(),introduced,funcDep))); + new SetVarSpec(arg->getSet(),!print,funcDep))); } else if (arg->isSetVar()) { pp->setvars.push_back(varspec($6, - new SetVarSpec(Alias(arg->getSetVar()),introduced,funcDep))); + new SetVarSpec(Alias(arg->getSetVar()),!print,funcDep))); delete arg; } else { yyassert(pp, false, "Invalid var set initializer"); @@ -765,7 +780,7 @@ vardecl_item: new AST::SetVar(pp->setvars.size()-1), $4); } else { pp->setvars.push_back(varspec($6, - new SetVarSpec($4,introduced,funcDep))); + new SetVarSpec($4,!print,funcDep))); } delete $7; free($6); } @@ -776,7 +791,7 @@ vardecl_item: yyassert(pp, pp->symbols.put($3, se_i($6->getInt())), "Duplicate symbol"); - delete $4; free($3); + delete $4; free($3); } | FZ_FLOAT ':' var_par_id annotations '=' non_array_expr { @@ -786,7 +801,7 @@ vardecl_item: yyassert(pp, pp->symbols.put($3, se_f(pp->floatvals.size()-1)), "Duplicate symbol"); - delete $4; free($3); + delete $4; free($3); } | FZ_BOOL ':' var_par_id annotations '=' non_array_expr { @@ -795,8 +810,8 @@ vardecl_item: yyassert(pp, pp->symbols.put($3, se_b($6->getBool())), "Duplicate symbol"); - delete $4; free($3); - } + delete $4; free($3); + } | FZ_SET FZ_OF FZ_INT ':' var_par_id annotations '=' non_array_expr { ParserState* pp = static_cast(parm); @@ -807,9 +822,9 @@ vardecl_item: pp->symbols.put($5, se_s(pp->setvals.size()-1)), "Duplicate symbol"); delete set; - delete $6; free($5); + delete $6; free($5); } - | FZ_ARRAY '[' FZ_INT_LIT FZ_DOTDOT FZ_INT_LIT ']' FZ_OF FZ_VAR int_ti_expr_tail ':' + | FZ_ARRAY '[' FZ_INT_LIT FZ_DOTDOT FZ_INT_LIT ']' FZ_OF FZ_VAR int_ti_expr_tail ':' var_par_id annotations vardecl_int_var_array_init { ParserState* pp = static_cast(parm); @@ -837,7 +852,7 @@ vardecl_item: } if (!pp->hadError && $9()) { Option opt = - Option::some(new AST::SetLit(*$9.some())); + Option::some(new AST::SetLit(*$9.some())); addDomainConstraint(pp, "int_in", new AST::IntVar(vars[i]), opt); @@ -906,7 +921,7 @@ vardecl_item: } if (!pp->hadError && $9()) { Option opt = - Option::some(new AST::SetLit(*$9.some())); + Option::some(new AST::SetLit(*$9.some())); addDomainConstraint(pp, "int_in", new AST::BoolVar(vars[i]), opt); @@ -945,10 +960,10 @@ vardecl_item: } delete $12; free($11); } - | FZ_ARRAY '[' FZ_INT_LIT FZ_DOTDOT FZ_INT_LIT ']' FZ_OF FZ_VAR - float_ti_expr_tail ':' var_par_id annotations + | FZ_ARRAY '[' FZ_INT_LIT FZ_DOTDOT FZ_INT_LIT ']' FZ_OF FZ_VAR + float_ti_expr_tail ':' var_par_id annotations vardecl_float_var_array_init - { + { ParserState* pp = static_cast(parm); yyassert(pp, $3==1, "Arrays must start at 1"); if (!pp->hadError) { @@ -1018,7 +1033,7 @@ vardecl_item: } | FZ_ARRAY '[' FZ_INT_LIT FZ_DOTDOT FZ_INT_LIT ']' FZ_OF FZ_VAR FZ_SET FZ_OF int_ti_expr_tail ':' var_par_id annotations vardecl_set_var_array_init - { + { ParserState* pp = static_cast(parm); bool print = $14->hasCall("output_array"); yyassert(pp, $3==1, "Arrays must start at 1"); @@ -1043,7 +1058,7 @@ vardecl_item: } if (!pp->hadError && $11()) { Option opt = - Option::some(new AST::SetLit(*$11.some())); + Option::some(new AST::SetLit(*$11.some())); addDomainConstraint(pp, "set_subset", new AST::SetVar(vars[i]), opt); @@ -1169,17 +1184,17 @@ vardecl_item: int_init : FZ_INT_LIT - { + { $$ = new IntVarSpec($1,false,false); } | var_par_id - { + { SymbolEntry e; ParserState* pp = static_cast(parm); if (pp->symbols.get($1, e) && e.t == ST_INTVAR) $$ = new IntVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << $1 + pp->err << "Error: undefined identifier for type int " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1188,7 +1203,7 @@ int_init : free($1); } | var_par_id '[' FZ_INT_LIT ']' - { + { vector v; SymbolEntry e; ParserState* pp = static_cast(parm); @@ -1200,7 +1215,7 @@ int_init : else $$ = new IntVarSpec(0,false,false); // keep things consistent } else { - pp->err << "Error: undefined array identifier " << $1 + pp->err << "Error: undefined array identifier for type int " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1230,13 +1245,13 @@ float_init : FZ_FLOAT_LIT { $$ = new FloatVarSpec($1,false,false); } | var_par_id - { + { SymbolEntry e; ParserState* pp = static_cast(parm); if (pp->symbols.get($1, e) && e.t == ST_FLOATVAR) $$ = new FloatVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << $1 + pp->err << "Error: undefined identifier for type float " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1245,7 +1260,7 @@ float_init : free($1); } | var_par_id '[' FZ_INT_LIT ']' - { + { SymbolEntry e; ParserState* pp = static_cast(parm); if (pp->symbols.get($1, e) && e.t == ST_FLOATVARARRAY) { @@ -1256,7 +1271,7 @@ float_init : else $$ = new FloatVarSpec(0.0,false,false); } else { - pp->err << "Error: undefined array identifier " << $1 + pp->err << "Error: undefined array identifier for type float " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1285,13 +1300,13 @@ bool_init : FZ_BOOL_LIT { $$ = new BoolVarSpec($1,false,false); } | var_par_id - { + { SymbolEntry e; ParserState* pp = static_cast(parm); if (pp->symbols.get($1, e) && e.t == ST_BOOLVAR) $$ = new BoolVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << $1 + pp->err << "Error: undefined identifier for type bool " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1300,7 +1315,7 @@ bool_init : free($1); } | var_par_id '[' FZ_INT_LIT ']' - { + { SymbolEntry e; ParserState* pp = static_cast(parm); if (pp->symbols.get($1, e) && e.t == ST_BOOLVARARRAY) { @@ -1311,7 +1326,7 @@ bool_init : else $$ = new BoolVarSpec(false,false,false); } else { - pp->err << "Error: undefined array identifier " << $1 + pp->err << "Error: undefined array identifier for type bool " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1338,13 +1353,13 @@ set_init : set_literal { $$ = new SetVarSpec($1,false,false); } | var_par_id - { + { ParserState* pp = static_cast(parm); SymbolEntry e; if (pp->symbols.get($1, e) && e.t == ST_SETVAR) $$ = new SetVarSpec(Alias(e.i),false,false); else { - pp->err << "Error: undefined identifier " << $1 + pp->err << "Error: undefined identifier for type set " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1353,7 +1368,7 @@ set_init : free($1); } | var_par_id '[' FZ_INT_LIT ']' - { + { SymbolEntry e; ParserState* pp = static_cast(parm); if (pp->symbols.get($1, e) && e.t == ST_SETVARARRAY) { @@ -1364,7 +1379,7 @@ set_init : else $$ = new SetVarSpec(Alias(0),false,false); } else { - pp->err << "Error: undefined array identifier " << $1 + pp->err << "Error: undefined array identifier for type set " << $1 << " in line no. " << yyget_lineno(pp->yyscanner) << std::endl; pp->hadError = true; @@ -1372,7 +1387,7 @@ set_init : } free($1); } - + set_init_list : /* empty */ { $$ = new vector(0); } @@ -1414,7 +1429,7 @@ vardecl_set_var_array_init : constraint_item : FZ_CONSTRAINT FZ_ID '(' flat_expr_list ')' annotations - { + { ParserState *pp = static_cast(parm); if (!pp->hadError) { std::string cid($2); @@ -1428,15 +1443,20 @@ constraint_item : // do nothing, already aliased } else { IntVarSpec* ivs1 = static_cast(pp->intvars[base1].second); - ivs1->alias = true; - ivs1->i = base0; - if (ivs1->domain()) { - AST::SetLit* sl = new AST::SetLit(ivs1->domain.some()->getSet()); + AST::SetLit* sl = NULL; + if (ivs1->assigned) { + sl = new AST::SetLit(ivs1->i,ivs1->i); + } else if (ivs1->domain()) { + sl = new AST::SetLit(ivs1->domain.some()->getSet()); + } + if (sl) { Option newdom = Option::some(sl); addDomainConstraint(pp, "int_in", new AST::IntVar(base0), newdom); ivs1->domain = Option::none(); } + ivs1->alias = true; + ivs1->i = base0; } } else if (cid=="bool_eq" && $4->a[0]->isBoolVar() && $4->a[1]->isBoolVar()) { int base0 = getBaseBoolVar(pp,$4->a[0]->getBoolVar()); @@ -1448,15 +1468,20 @@ constraint_item : // do nothing, already aliased } else { BoolVarSpec* ivs1 = static_cast(pp->boolvars[base1].second); - ivs1->alias = true; - ivs1->i = base0; - if (ivs1->domain()) { - AST::SetLit* sl = new AST::SetLit(ivs1->domain.some()->getSet()); + AST::SetLit* sl = NULL; + if (ivs1->assigned) { + sl = new AST::SetLit(ivs1->i,ivs1->i); + } else if (ivs1->domain()) { + sl = new AST::SetLit(ivs1->domain.some()->getSet()); + } + if (sl) { Option newdom = Option::some(sl); - addDomainConstraint(pp, "bool_in", + addDomainConstraint(pp, "int_in", new AST::BoolVar(base0), newdom); ivs1->domain = Option::none(); } + ivs1->alias = true; + ivs1->i = base0; } } else if (cid=="float_eq" && $4->a[0]->isFloatVar() && $4->a[1]->isFloatVar()) { int base0 = getBaseFloatVar(pp,$4->a[0]->getFloatVar()); @@ -1471,7 +1496,8 @@ constraint_item : ivs1->alias = true; ivs1->i = base0; if (ivs1->domain()) { - addDomainConstraint(pp, new AST::FloatVar(base0), Option* >::some(&ivs1->domain.some())); + std::pair* dom = new std::pair(ivs1->domain.some()); + addDomainConstraint(pp, new AST::FloatVar(base0), Option* >::some(dom)); ivs1->domain = Option >::none(); } } @@ -1490,8 +1516,13 @@ constraint_item : if (ivs1->upperBound()) { AST::SetLit* sl = new AST::SetLit(ivs1->upperBound.some()->getSet()); Option newdom = Option::some(sl); - addDomainConstraint(pp, "set_subset", - new AST::SetVar(base0), newdom); + if (ivs1->assigned) { + addDomainConstraint(pp, "set_eq", + new AST::SetVar(base0), newdom); + } else { + addDomainConstraint(pp, "set_subset", + new AST::SetVar(base0), newdom); + } ivs1->upperBound = Option::none(); } } @@ -1509,7 +1540,7 @@ constraint_item : } solve_item : FZ_SOLVE annotations FZ_SATISFY - { + { ParserState *pp = static_cast(parm); initfg(pp); if (!pp->hadError) { @@ -1523,7 +1554,7 @@ solve_item : } } | FZ_SOLVE annotations minmax solve_expr - { + { ParserState *pp = static_cast(parm); initfg(pp); if (!pp->hadError) { @@ -1552,7 +1583,7 @@ int_ti_expr_tail : | '{' int_list '}' { $$ = Option::some(new AST::SetLit(*$2)); } | FZ_INT_LIT FZ_DOTDOT FZ_INT_LIT - { + { $$ = Option::some(new AST::SetLit($1, $3)); } @@ -1670,7 +1701,7 @@ non_array_expr : | set_literal { $$ = $1; } | var_par_id /* variable, possibly array */ - { + { ParserState* pp = static_cast(parm); SymbolEntry e; if (pp->symbols.get($1, e)) { @@ -1766,7 +1797,7 @@ non_array_expr : free($1); } | var_par_id '[' non_array_expr ']' /* array access */ - { + { ParserState* pp = static_cast(parm); int i = -1; yyassert(pp, $3->isInt(i), "Non-integer array index"); @@ -1796,7 +1827,7 @@ non_array_expr_list_head : solve_expr: var_par_id - { + { ParserState *pp = static_cast(parm); SymbolEntry e; bool haveSym = pp->symbols.get($1,e); @@ -1890,7 +1921,7 @@ annotations_head : annotation : FZ_ID '(' annotation_list ')' - { + { $$ = new AST::Call($1, AST::extractSingleton($3)); free($1); } | annotation_expr @@ -1922,7 +1953,7 @@ ann_non_array_expr : | set_literal { $$ = $1; } | var_par_id /* variable, possibly array */ - { + { ParserState* pp = static_cast(parm); SymbolEntry e; bool gotSymbol = false; @@ -2028,7 +2059,7 @@ ann_non_array_expr : free($1); } | var_par_id '[' ann_non_array_expr ']' /* array access */ - { + { ParserState* pp = static_cast(parm); int i = -1; yyassert(pp, $3->isInt(i), "Non-integer array index"); diff --git a/gecode/flatzinc/registry.cpp b/gecode/flatzinc/registry.cpp index 606468af15..6bb54fdb94 100644 --- a/gecode/flatzinc/registry.cpp +++ b/gecode/flatzinc/registry.cpp @@ -75,7 +75,7 @@ namespace Gecode { namespace FlatZinc { } namespace { - + inline IntRelType swap(IntRelType irt) { switch (irt) { @@ -106,9 +106,9 @@ namespace Gecode { namespace FlatZinc { void p_distinct(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs va = s.arg2intvarargs(ce[0]); - IntConLevel icl = s.ann2icl(ann); + IntPropLevel ipl = s.ann2ipl(ann); unshare(s, va); - distinct(s, va, icl == ICL_DEF ? ICL_BND : icl); + distinct(s, va, ipl == IPL_DEF ? IPL_BND : ipl); } void p_distinctOffset(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs va = s.arg2intvarargs(ce[1]); @@ -116,29 +116,29 @@ namespace Gecode { namespace FlatZinc { AST::Array* offs = ce.args->a[0]->getArray(); IntArgs oa(offs->a.size()); for (int i=offs->a.size(); i--; ) { - oa[i] = offs->a[i]->getInt(); + oa[i] = offs->a[i]->getInt(); } - IntConLevel icl = s.ann2icl(ann); - distinct(s, oa, va, icl == ICL_DEF ? ICL_BND : icl); + IntPropLevel ipl = s.ann2ipl(ann); + distinct(s, oa, va, ipl == IPL_DEF ? IPL_BND : ipl); } void p_all_equal(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs va = s.arg2intvarargs(ce[0]); - rel(s, va, IRT_EQ, s.ann2icl(ann)); + rel(s, va, IRT_EQ, s.ann2ipl(ann)); } - void p_int_CMP(FlatZincSpace& s, IntRelType irt, const ConExpr& ce, + void p_int_CMP(FlatZincSpace& s, IntRelType irt, const ConExpr& ce, AST::Node* ann) { if (ce[0]->isIntVar()) { if (ce[1]->isIntVar()) { - rel(s, s.arg2IntVar(ce[0]), irt, s.arg2IntVar(ce[1]), - s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[0]), irt, s.arg2IntVar(ce[1]), + s.ann2ipl(ann)); } else { - rel(s, s.arg2IntVar(ce[0]), irt, ce[1]->getInt(), s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[0]), irt, ce[1]->getInt(), s.ann2ipl(ann)); } } else { - rel(s, s.arg2IntVar(ce[1]), swap(irt), ce[0]->getInt(), - s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[1]), swap(irt), ce[0]->getInt(), + s.ann2ipl(ann)); } } void p_int_eq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -172,14 +172,14 @@ namespace Gecode { namespace FlatZinc { if (ce[0]->isIntVar()) { if (ce[1]->isIntVar()) { rel(s, s.arg2IntVar(ce[0]), irt, s.arg2IntVar(ce[1]), - Reify(s.arg2BoolVar(ce[2]), rm), s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[2]), rm), s.ann2ipl(ann)); } else { rel(s, s.arg2IntVar(ce[0]), irt, ce[1]->getInt(), - Reify(s.arg2BoolVar(ce[2]), rm), s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[2]), rm), s.ann2ipl(ann)); } } else { rel(s, s.arg2IntVar(ce[1]), swap(irt), ce[0]->getInt(), - Reify(s.arg2BoolVar(ce[2]), rm), s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[2]), rm), s.ann2ipl(ann)); } } @@ -239,18 +239,18 @@ namespace Gecode { namespace FlatZinc { ia_tmp[count++] = ia[singleIntVar] == -1 ? ia[i] : -ia[i]; } IntRelType t = (ia[singleIntVar] == -1 ? irt : swap(irt)); - linear(s, ia_tmp, iv, t, siv, s.ann2icl(ann)); + linear(s, ia_tmp, iv, t, siv, s.ann2ipl(ann)); } else { IntVarArgs iv = s.arg2intvarargs(ce[1]); - linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2icl(ann)); + linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2ipl(ann)); } } else { BoolVarArgs iv = s.arg2boolvarargs(ce[1]); - linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2icl(ann)); + linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2ipl(ann)); } } else { IntVarArgs iv = s.arg2intvarargs(ce[1]); - linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2icl(ann)); + linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2ipl(ann)); } } void p_int_lin_CMP_reif(FlatZincSpace& s, IntRelType irt, ReifyMode rm, @@ -277,78 +277,78 @@ namespace Gecode { namespace FlatZinc { ia_tmp[count++] = ia[singleIntVar] == -1 ? ia[i] : -ia[i]; } IntRelType t = (ia[singleIntVar] == -1 ? irt : swap(irt)); - linear(s, ia_tmp, iv, t, siv, Reify(s.arg2BoolVar(ce[3]), rm), - s.ann2icl(ann)); + linear(s, ia_tmp, iv, t, siv, Reify(s.arg2BoolVar(ce[3]), rm), + s.ann2ipl(ann)); } else { IntVarArgs iv = s.arg2intvarargs(ce[1]); linear(s, ia, iv, irt, ce[2]->getInt(), - Reify(s.arg2BoolVar(ce[3]), rm), s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[3]), rm), s.ann2ipl(ann)); } } else { BoolVarArgs iv = s.arg2boolvarargs(ce[1]); linear(s, ia, iv, irt, ce[2]->getInt(), - Reify(s.arg2BoolVar(ce[3]), rm), s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[3]), rm), s.ann2ipl(ann)); } } else { IntVarArgs iv = s.arg2intvarargs(ce[1]); linear(s, ia, iv, irt, ce[2]->getInt(), - Reify(s.arg2BoolVar(ce[3]), rm), - s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[3]), rm), + s.ann2ipl(ann)); } } void p_int_lin_eq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_int_lin_CMP(s, IRT_EQ, ce, ann); } void p_int_lin_eq_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_EQ, RM_EQV, ce, ann); + p_int_lin_CMP_reif(s, IRT_EQ, RM_EQV, ce, ann); } void p_int_lin_eq_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_EQ, RM_IMP, ce, ann); + p_int_lin_CMP_reif(s, IRT_EQ, RM_IMP, ce, ann); } void p_int_lin_ne(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_int_lin_CMP(s, IRT_NQ, ce, ann); } void p_int_lin_ne_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_NQ, RM_EQV, ce, ann); + p_int_lin_CMP_reif(s, IRT_NQ, RM_EQV, ce, ann); } void p_int_lin_ne_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_NQ, RM_IMP, ce, ann); + p_int_lin_CMP_reif(s, IRT_NQ, RM_IMP, ce, ann); } void p_int_lin_le(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_int_lin_CMP(s, IRT_LQ, ce, ann); } void p_int_lin_le_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_LQ, RM_EQV, ce, ann); + p_int_lin_CMP_reif(s, IRT_LQ, RM_EQV, ce, ann); } void p_int_lin_le_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_LQ, RM_IMP, ce, ann); + p_int_lin_CMP_reif(s, IRT_LQ, RM_IMP, ce, ann); } void p_int_lin_lt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_int_lin_CMP(s, IRT_LE, ce, ann); } void p_int_lin_lt_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_LE, RM_EQV, ce, ann); + p_int_lin_CMP_reif(s, IRT_LE, RM_EQV, ce, ann); } void p_int_lin_lt_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_LE, RM_IMP, ce, ann); + p_int_lin_CMP_reif(s, IRT_LE, RM_IMP, ce, ann); } void p_int_lin_ge(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_int_lin_CMP(s, IRT_GQ, ce, ann); } void p_int_lin_ge_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_GQ, RM_EQV, ce, ann); + p_int_lin_CMP_reif(s, IRT_GQ, RM_EQV, ce, ann); } void p_int_lin_ge_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_GQ, RM_IMP, ce, ann); + p_int_lin_CMP_reif(s, IRT_GQ, RM_IMP, ce, ann); } void p_int_lin_gt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_int_lin_CMP(s, IRT_GR, ce, ann); } void p_int_lin_gt_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_GR, RM_EQV, ce, ann); + p_int_lin_CMP_reif(s, IRT_GR, RM_EQV, ce, ann); } void p_int_lin_gt_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { - p_int_lin_CMP_reif(s, IRT_GR, RM_IMP, ce, ann); + p_int_lin_CMP_reif(s, IRT_GR, RM_IMP, ce, ann); } void p_bool_lin_CMP(FlatZincSpace& s, IntRelType irt, const ConExpr& ce, @@ -356,9 +356,9 @@ namespace Gecode { namespace FlatZinc { IntArgs ia = s.arg2intargs(ce[0]); BoolVarArgs iv = s.arg2boolvarargs(ce[1]); if (ce[2]->isIntVar()) - linear(s, ia, iv, irt, s.iv[ce[2]->getIntVar()], s.ann2icl(ann)); + linear(s, ia, iv, irt, s.iv[ce[2]->getIntVar()], s.ann2ipl(ann)); else - linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2icl(ann)); + linear(s, ia, iv, irt, ce[2]->getInt(), s.ann2ipl(ann)); } void p_bool_lin_CMP_reif(FlatZincSpace& s, IntRelType irt, ReifyMode rm, const ConExpr& ce, AST::Node* ann) { @@ -374,112 +374,112 @@ namespace Gecode { namespace FlatZinc { BoolVarArgs iv = s.arg2boolvarargs(ce[1]); if (ce[2]->isIntVar()) linear(s, ia, iv, irt, s.iv[ce[2]->getIntVar()], - Reify(s.arg2BoolVar(ce[3]), rm), - s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[3]), rm), + s.ann2ipl(ann)); else linear(s, ia, iv, irt, ce[2]->getInt(), - Reify(s.arg2BoolVar(ce[3]), rm), - s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[3]), rm), + s.ann2ipl(ann)); } void p_bool_lin_eq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP(s, IRT_EQ, ce, ann); } - void p_bool_lin_eq_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_eq_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_EQ, RM_EQV, ce, ann); } - void p_bool_lin_eq_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_eq_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_EQ, RM_IMP, ce, ann); } void p_bool_lin_ne(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP(s, IRT_NQ, ce, ann); } - void p_bool_lin_ne_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_ne_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_NQ, RM_EQV, ce, ann); } - void p_bool_lin_ne_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_ne_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_NQ, RM_IMP, ce, ann); } void p_bool_lin_le(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP(s, IRT_LQ, ce, ann); } - void p_bool_lin_le_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_le_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_LQ, RM_EQV, ce, ann); } - void p_bool_lin_le_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_le_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_LQ, RM_IMP, ce, ann); } - void p_bool_lin_lt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_lt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP(s, IRT_LE, ce, ann); } - void p_bool_lin_lt_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_lt_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_LE, RM_EQV, ce, ann); } - void p_bool_lin_lt_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_lt_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_LE, RM_IMP, ce, ann); } void p_bool_lin_ge(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP(s, IRT_GQ, ce, ann); } - void p_bool_lin_ge_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_ge_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_GQ, RM_EQV, ce, ann); } - void p_bool_lin_ge_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_ge_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_GQ, RM_IMP, ce, ann); } void p_bool_lin_gt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP(s, IRT_GR, ce, ann); } - void p_bool_lin_gt_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_gt_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_GR, RM_EQV, ce, ann); } - void p_bool_lin_gt_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) + void p_bool_lin_gt_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_lin_CMP_reif(s, IRT_GR, RM_IMP, ce, ann); } /* arithmetic constraints */ - + void p_int_plus(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { if (!ce[0]->isIntVar()) { rel(s, ce[0]->getInt() + s.arg2IntVar(ce[1]) - == s.arg2IntVar(ce[2]), s.ann2icl(ann)); + == s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } else if (!ce[1]->isIntVar()) { rel(s, s.arg2IntVar(ce[0]) + ce[1]->getInt() - == s.arg2IntVar(ce[2]), s.ann2icl(ann)); + == s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } else if (!ce[2]->isIntVar()) { - rel(s, s.arg2IntVar(ce[0]) + s.arg2IntVar(ce[1]) - == ce[2]->getInt(), s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[0]) + s.arg2IntVar(ce[1]) + == ce[2]->getInt(), s.ann2ipl(ann)); } else { - rel(s, s.arg2IntVar(ce[0]) + s.arg2IntVar(ce[1]) - == s.arg2IntVar(ce[2]), s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[0]) + s.arg2IntVar(ce[1]) + == s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } } void p_int_minus(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { if (!ce[0]->isIntVar()) { rel(s, ce[0]->getInt() - s.arg2IntVar(ce[1]) - == s.arg2IntVar(ce[2]), s.ann2icl(ann)); + == s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } else if (!ce[1]->isIntVar()) { rel(s, s.arg2IntVar(ce[0]) - ce[1]->getInt() - == s.arg2IntVar(ce[2]), s.ann2icl(ann)); + == s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } else if (!ce[2]->isIntVar()) { - rel(s, s.arg2IntVar(ce[0]) - s.arg2IntVar(ce[1]) - == ce[2]->getInt(), s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[0]) - s.arg2IntVar(ce[1]) + == ce[2]->getInt(), s.ann2ipl(ann)); } else { - rel(s, s.arg2IntVar(ce[0]) - s.arg2IntVar(ce[1]) - == s.arg2IntVar(ce[2]), s.ann2icl(ann)); + rel(s, s.arg2IntVar(ce[0]) - s.arg2IntVar(ce[1]) + == s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } } @@ -487,49 +487,49 @@ namespace Gecode { namespace FlatZinc { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); IntVar x2 = s.arg2IntVar(ce[2]); - mult(s, x0, x1, x2, s.ann2icl(ann)); + mult(s, x0, x1, x2, s.ann2ipl(ann)); } void p_int_div(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); IntVar x2 = s.arg2IntVar(ce[2]); - div(s,x0,x1,x2, s.ann2icl(ann)); + div(s,x0,x1,x2, s.ann2ipl(ann)); } void p_int_mod(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); IntVar x2 = s.arg2IntVar(ce[2]); - mod(s,x0,x1,x2, s.ann2icl(ann)); + mod(s,x0,x1,x2, s.ann2ipl(ann)); } void p_int_min(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); IntVar x2 = s.arg2IntVar(ce[2]); - min(s, x0, x1, x2, s.ann2icl(ann)); + min(s, x0, x1, x2, s.ann2ipl(ann)); } void p_int_max(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); IntVar x2 = s.arg2IntVar(ce[2]); - max(s, x0, x1, x2, s.ann2icl(ann)); + max(s, x0, x1, x2, s.ann2ipl(ann)); } void p_int_negate(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); - rel(s, x0 == -x1, s.ann2icl(ann)); + rel(s, x0 == -x1, s.ann2ipl(ann)); } /* Boolean constraints */ - void p_bool_CMP(FlatZincSpace& s, IntRelType irt, const ConExpr& ce, + void p_bool_CMP(FlatZincSpace& s, IntRelType irt, const ConExpr& ce, AST::Node* ann) { - rel(s, s.arg2BoolVar(ce[0]), irt, s.arg2BoolVar(ce[1]), - s.ann2icl(ann)); + rel(s, s.arg2BoolVar(ce[0]), irt, s.arg2BoolVar(ce[1]), + s.ann2ipl(ann)); } void p_bool_CMP_reif(FlatZincSpace& s, IntRelType irt, ReifyMode rm, const ConExpr& ce, AST::Node* ann) { rel(s, s.arg2BoolVar(ce[0]), irt, s.arg2BoolVar(ce[1]), - Reify(s.arg2BoolVar(ce[2]), rm), s.ann2icl(ann)); + Reify(s.arg2BoolVar(ce[2]), rm), s.ann2ipl(ann)); } void p_bool_eq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { p_bool_CMP(s, IRT_EQ, ce, ann); @@ -590,19 +590,19 @@ namespace Gecode { namespace FlatZinc { BoolVar b0 = s.arg2BoolVar(ce[0]); \ BoolVar b1 = s.arg2BoolVar(ce[1]); \ if (ce[2]->isBool()) { \ - rel(s, b0, op, b1, ce[2]->getBool(), s.ann2icl(ann)); \ + rel(s, b0, op, b1, ce[2]->getBool(), s.ann2ipl(ann)); \ } else { \ - rel(s, b0, op, b1, s.bv[ce[2]->getBoolVar()], s.ann2icl(ann)); \ + rel(s, b0, op, b1, s.bv[ce[2]->getBoolVar()], s.ann2ipl(ann)); \ } #define BOOL_ARRAY_OP(op) \ BoolVarArgs bv = s.arg2boolvarargs(ce[0]); \ if (ce.size()==1) { \ - rel(s, op, bv, 1, s.ann2icl(ann)); \ + rel(s, op, bv, 1, s.ann2ipl(ann)); \ } else if (ce[1]->isBool()) { \ - rel(s, op, bv, ce[1]->getBool(), s.ann2icl(ann)); \ + rel(s, op, bv, ce[1]->getBool(), s.ann2ipl(ann)); \ } else { \ - rel(s, op, bv, s.bv[ce[1]->getBoolVar()], s.ann2icl(ann)); \ + rel(s, op, bv, s.bv[ce[1]->getBoolVar()], s.ann2ipl(ann)); \ } void p_bool_or(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -612,8 +612,8 @@ namespace Gecode { namespace FlatZinc { BoolVar b0 = s.arg2BoolVar(ce[0]); BoolVar b1 = s.arg2BoolVar(ce[1]); BoolVar b2 = s.arg2BoolVar(ce[2]); - clause(s, BOT_OR, BoolVarArgs()<isBool()) { - rel(s, b1, BOT_IMP, b0, ce[2]->getBool(), s.ann2icl(ann)); + rel(s, b1, BOT_IMP, b0, ce[2]->getBool(), s.ann2ipl(ann)); } else { - rel(s, b1, BOT_IMP, b0, s.bv[ce[2]->getBoolVar()], s.ann2icl(ann)); + rel(s, b1, BOT_IMP, b0, s.bv[ce[2]->getBoolVar()], s.ann2ipl(ann)); } } void p_bool_r_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -707,11 +707,11 @@ namespace Gecode { namespace FlatZinc { void p_bool_not(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVar x0 = s.arg2BoolVar(ce[0]); BoolVar x1 = s.arg2BoolVar(ce[1]); - rel(s, x0, BOT_XOR, x1, 1, s.ann2icl(ann)); + rel(s, x0, BOT_XOR, x1, 1, s.ann2ipl(ann)); } - + /* element constraints */ - void p_array_int_element(FlatZincSpace& s, const ConExpr& ce, + void p_array_int_element(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { bool isConstant = true; AST::Array* a = ce[1]->getArray(); @@ -725,13 +725,13 @@ namespace Gecode { namespace FlatZinc { rel(s, selector > 0); if (isConstant) { IntArgs ia = s.arg2intargs(ce[1], 1); - element(s, ia, selector, s.arg2IntVar(ce[2]), s.ann2icl(ann)); + element(s, ia, selector, s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } else { IntVarArgs iv = s.arg2intvarargs(ce[1], 1); - element(s, iv, selector, s.arg2IntVar(ce[2]), s.ann2icl(ann)); + element(s, iv, selector, s.arg2IntVar(ce[2]), s.ann2ipl(ann)); } } - void p_array_bool_element(FlatZincSpace& s, const ConExpr& ce, + void p_array_bool_element(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { bool isConstant = true; AST::Array* a = ce[1]->getArray(); @@ -745,13 +745,13 @@ namespace Gecode { namespace FlatZinc { rel(s, selector > 0); if (isConstant) { IntArgs ia = s.arg2boolargs(ce[1], 1); - element(s, ia, selector, s.arg2BoolVar(ce[2]), s.ann2icl(ann)); + element(s, ia, selector, s.arg2BoolVar(ce[2]), s.ann2ipl(ann)); } else { BoolVarArgs iv = s.arg2boolvarargs(ce[1], 1); - element(s, iv, selector, s.arg2BoolVar(ce[2]), s.ann2icl(ann)); + element(s, iv, selector, s.arg2BoolVar(ce[2]), s.ann2ipl(ann)); } } - + /* coercion constraints */ void p_bool2int(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVar x0 = s.arg2BoolVar(ce[0]); @@ -759,7 +759,7 @@ namespace Gecode { namespace FlatZinc { if (ce[0]->isBoolVar() && ce[1]->isIntVar()) { s.aliasBool2Int(ce[1]->getIntVar(), ce[0]->getBoolVar()); } - channel(s, x0, x1, s.ann2icl(ann)); + channel(s, x0, x1, s.ann2ipl(ann)); } void p_int_in(FlatZincSpace& s, const ConExpr& ce, AST::Node *) { @@ -819,55 +819,55 @@ namespace Gecode { namespace FlatZinc { } /* constraints from the standard library */ - + void p_abs(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVar x0 = s.arg2IntVar(ce[0]); IntVar x1 = s.arg2IntVar(ce[1]); - abs(s, x0, x1, s.ann2icl(ann)); + abs(s, x0, x1, s.ann2ipl(ann)); } - + void p_array_int_lt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv0 = s.arg2intvarargs(ce[0]); IntVarArgs iv1 = s.arg2intvarargs(ce[1]); - rel(s, iv0, IRT_LE, iv1, s.ann2icl(ann)); + rel(s, iv0, IRT_LE, iv1, s.ann2ipl(ann)); } void p_array_int_lq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv0 = s.arg2intvarargs(ce[0]); IntVarArgs iv1 = s.arg2intvarargs(ce[1]); - rel(s, iv0, IRT_LQ, iv1, s.ann2icl(ann)); + rel(s, iv0, IRT_LQ, iv1, s.ann2ipl(ann)); } void p_array_bool_lt(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVarArgs bv0 = s.arg2boolvarargs(ce[0]); BoolVarArgs bv1 = s.arg2boolvarargs(ce[1]); - rel(s, bv0, IRT_LE, bv1, s.ann2icl(ann)); + rel(s, bv0, IRT_LE, bv1, s.ann2ipl(ann)); } void p_array_bool_lq(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVarArgs bv0 = s.arg2boolvarargs(ce[0]); BoolVarArgs bv1 = s.arg2boolvarargs(ce[1]); - rel(s, bv0, IRT_LQ, bv1, s.ann2icl(ann)); + rel(s, bv0, IRT_LQ, bv1, s.ann2ipl(ann)); } - + void p_count(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv = s.arg2intvarargs(ce[0]); if (!ce[1]->isIntVar()) { if (!ce[2]->isIntVar()) { - count(s, iv, ce[1]->getInt(), IRT_EQ, ce[2]->getInt(), - s.ann2icl(ann)); + count(s, iv, ce[1]->getInt(), IRT_EQ, ce[2]->getInt(), + s.ann2ipl(ann)); } else { - count(s, iv, ce[1]->getInt(), IRT_EQ, s.arg2IntVar(ce[2]), - s.ann2icl(ann)); + count(s, iv, ce[1]->getInt(), IRT_EQ, s.arg2IntVar(ce[2]), + s.ann2ipl(ann)); } } else if (!ce[2]->isIntVar()) { - count(s, iv, s.arg2IntVar(ce[1]), IRT_EQ, ce[2]->getInt(), - s.ann2icl(ann)); + count(s, iv, s.arg2IntVar(ce[1]), IRT_EQ, ce[2]->getInt(), + s.ann2ipl(ann)); } else { - count(s, iv, s.arg2IntVar(ce[1]), IRT_EQ, s.arg2IntVar(ce[2]), - s.ann2icl(ann)); + count(s, iv, s.arg2IntVar(ce[1]), IRT_EQ, s.arg2IntVar(ce[2]), + s.ann2ipl(ann)); } } @@ -877,7 +877,7 @@ namespace Gecode { namespace FlatZinc { IntVar y = s.arg2IntVar(ce[2]); BoolVar b = s.arg2BoolVar(ce[3]); IntVar c(s,0,Int::Limits::max); - count(s,iv,x,IRT_EQ,c,s.ann2icl(ann)); + count(s,iv,x,IRT_EQ,c,s.ann2ipl(ann)); rel(s, b == (c==y)); } void p_count_imp(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -886,14 +886,14 @@ namespace Gecode { namespace FlatZinc { IntVar y = s.arg2IntVar(ce[2]); BoolVar b = s.arg2BoolVar(ce[3]); IntVar c(s,0,Int::Limits::max); - count(s,iv,x,IRT_EQ,c,s.ann2icl(ann)); + count(s,iv,x,IRT_EQ,c,s.ann2ipl(ann)); rel(s, b >> (c==y)); } void count_rel(IntRelType irt, FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv = s.arg2intvarargs(ce[1]); - count(s, iv, ce[2]->getInt(), irt, ce[0]->getInt(), s.ann2icl(ann)); + count(s, iv, ce[2]->getInt(), irt, ce[0]->getInt(), s.ann2ipl(ann)); } void p_at_most(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -918,7 +918,7 @@ namespace Gecode { namespace FlatZinc { } else if (minIdx < 0) { IntVarArgs bin2(bin.size()); for (int i=bin.size(); i--;) - bin2[i] = expr(s, bin[i]-minIdx, s.ann2icl(ann)); + bin2[i] = expr(s, bin[i]-minIdx, s.ann2ipl(ann)); bin = bin2; } l << load; @@ -927,7 +927,7 @@ namespace Gecode { namespace FlatZinc { IntVarArgs allvars = l + bin; unshare(s, allvars); binpacking(s, allvars.slice(0,1,l.size()), allvars.slice(l.size(),1,bin.size()), - sizes, s.ann2icl(ann)); + sizes, s.ann2ipl(ann)); } void p_global_cardinality(FlatZincSpace& s, const ConExpr& ce, @@ -943,7 +943,7 @@ namespace Gecode { namespace FlatZinc { for (int i=iv0.size(); i--;) iv0_ri[i] = IntVarRanges(iv0[i]); Iter::Ranges::NaryUnion iv0_r(re,iv0_ri,iv0.size()); - Iter::Ranges::Diff + Iter::Ranges::Diff extra_r(iv0_r,cover_r); Iter::Ranges::ToValues > extra(extra_r); @@ -951,16 +951,18 @@ namespace Gecode { namespace FlatZinc { cover << extra.val(); iv1 << IntVar(s,0,iv0.size()); } - IntConLevel icl = s.ann2icl(ann); - if (icl==ICL_DOM) { + IntPropLevel ipl = s.ann2ipl(ann); + if (ipl==IPL_DEF) + ipl=IPL_BND; + if (ipl==IPL_DOM) { IntVarArgs allvars = iv0+iv1; unshare(s, allvars); - count(s, allvars.slice(0,1,iv0.size()), + count(s, allvars.slice(0,1,iv0.size()), allvars.slice(iv0.size(),1,iv1.size()), - cover, s.ann2icl(ann)); + cover, ipl); } else { unshare(s, iv0); - count(s, iv0, iv1, cover, s.ann2icl(ann)); + count(s, iv0, iv1, cover, ipl); } } @@ -970,7 +972,7 @@ namespace Gecode { namespace FlatZinc { IntArgs cover = s.arg2intargs(ce[1]); IntVarArgs iv1 = s.arg2intvarargs(ce[2]); unshare(s, iv0); - count(s, iv0, iv1, cover, s.ann2icl(ann)); + count(s, iv0, iv1, cover, s.ann2ipl(ann)); } void p_global_cardinality_low_up(FlatZincSpace& s, const ConExpr& ce, @@ -998,7 +1000,7 @@ namespace Gecode { namespace FlatZinc { } } unshare(s, x); - count(s, x, y, cover, s.ann2icl(ann)); + count(s, x, y, cover, s.ann2ipl(ann)); } void p_global_cardinality_low_up_closed(FlatZincSpace& s, @@ -1013,27 +1015,27 @@ namespace Gecode { namespace FlatZinc { for (int i=cover.size(); i--;) y[i] = IntSet(lbound[i],ubound[i]); unshare(s, x); - count(s, x, y, cover, s.ann2icl(ann)); + count(s, x, y, cover, s.ann2ipl(ann)); } void p_minimum(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv = s.arg2intvarargs(ce[1]); - min(s, iv, s.arg2IntVar(ce[0]), s.ann2icl(ann)); + min(s, iv, s.arg2IntVar(ce[0]), s.ann2ipl(ann)); } void p_maximum(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv = s.arg2intvarargs(ce[1]); - max(s, iv, s.arg2IntVar(ce[0]), s.ann2icl(ann)); + max(s, iv, s.arg2IntVar(ce[0]), s.ann2ipl(ann)); } void p_minimum_arg(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv = s.arg2intvarargs(ce[0]); - argmin(s, iv, s.arg2IntVar(ce[1]), true, s.ann2icl(ann)); + argmin(s, iv, s.arg2IntVar(ce[1]), true, s.ann2ipl(ann)); } void p_maximum_arg(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs iv = s.arg2intvarargs(ce[0]); - argmax(s, iv, s.arg2IntVar(ce[1]), true, s.ann2icl(ann)); + argmax(s, iv, s.arg2IntVar(ce[1]), true, s.ann2ipl(ann)); } void p_regular(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -1050,7 +1052,7 @@ namespace Gecode { namespace FlatZinc { noOfTrans++; } } - + Region re(s); DFA::Transition* t = re.alloc(noOfTrans+1); noOfTrans = 0; @@ -1065,7 +1067,7 @@ namespace Gecode { namespace FlatZinc { } } t[noOfTrans].i_state = -1; - + // Final states AST::SetLit* sl = ce[5]->getSet(); int* f; @@ -1080,11 +1082,11 @@ namespace Gecode { namespace FlatZinc { f[j] = sl->s[j]; f[sl->s.size()] = -1; } - + DFA dfa(q0,t,f); free(f); unshare(s, iv); - extensional(s, iv, dfa, s.ann2icl(ann)); + extensional(s, iv, dfa, s.ann2ipl(ann)); } void @@ -1101,7 +1103,7 @@ namespace Gecode { namespace FlatZinc { x[i] = xy[i]; for (int i=y.size(); i--;) y[i] = xy[i+x.size()]; - sorted(s, x, y, s.ann2icl(ann)); + sorted(s, x, y, s.ann2ipl(ann)); } void @@ -1112,31 +1114,31 @@ namespace Gecode { namespace FlatZinc { IntVarArgs y = s.arg2intvarargs(ce[2]); unshare(s, y); int yoff = ce[3]->getInt(); - channel(s, x, xoff, y, yoff, s.ann2icl(ann)); + channel(s, x, xoff, y, yoff, s.ann2ipl(ann)); } void p_increasing_int(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs x = s.arg2intvarargs(ce[0]); - rel(s,x,IRT_LQ,s.ann2icl(ann)); + rel(s,x,IRT_LQ,s.ann2ipl(ann)); } void p_increasing_bool(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVarArgs x = s.arg2boolvarargs(ce[0]); - rel(s,x,IRT_LQ,s.ann2icl(ann)); + rel(s,x,IRT_LQ,s.ann2ipl(ann)); } void p_decreasing_int(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs x = s.arg2intvarargs(ce[0]); - rel(s,x,IRT_GQ,s.ann2icl(ann)); + rel(s,x,IRT_GQ,s.ann2ipl(ann)); } void p_decreasing_bool(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVarArgs x = s.arg2boolvarargs(ce[0]); - rel(s,x,IRT_GQ,s.ann2icl(ann)); + rel(s,x,IRT_GQ,s.ann2ipl(ann)); } void @@ -1154,7 +1156,7 @@ namespace Gecode { namespace FlatZinc { ts.add(t); } ts.finalize(); - extensional(s,x,ts,EPK_DEF,s.ann2icl(ann)); + extensional(s,x,ts,s.ann2ipl(ann)); } void p_table_bool(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { @@ -1171,7 +1173,7 @@ namespace Gecode { namespace FlatZinc { ts.add(t); } ts.finalize(); - extensional(s,x,ts,EPK_DEF,s.ann2icl(ann)); + extensional(s,x,ts,s.ann2ipl(ann)); } void p_cumulative_opt(FlatZincSpace& s, const ConExpr& ce, @@ -1182,7 +1184,7 @@ namespace Gecode { namespace FlatZinc { BoolVarArgs opt = s.arg2boolvarargs(ce[3]); int bound = ce[4]->getInt(); unshare(s,start); - cumulative(s,bound,start,duration,height,opt,s.ann2icl(ann)); + cumulative(s,bound,start,duration,height,opt,s.ann2ipl(ann)); } void p_cumulatives(FlatZincSpace& s, const ConExpr& ce, @@ -1200,7 +1202,7 @@ namespace Gecode { namespace FlatZinc { rel(s, height[0] <= bound); return; } - + int minHeight = std::min(height[0].min(),height[1].min()); int minHeight2 = std::max(height[0].min(),height[1].min()); for (int i=2; igetInt(); int u = ce[4]->getInt(); unshare(s, x); - sequence(s, x, S, q, l, u, s.ann2icl(ann)); + sequence(s, x, S, q, l, u, s.ann2ipl(ann)); } void p_among_seq_bool(FlatZincSpace& s, const ConExpr& ce, @@ -1294,7 +1296,7 @@ namespace Gecode { namespace FlatZinc { int u = ce[4]->getInt(); IntSet S(val, val); unshare(s, x); - sequence(s, x, S, q, l, u, s.ann2icl(ann)); + sequence(s, x, S, q, l, u, s.ann2ipl(ann)); } void p_schedule_unary(FlatZincSpace& s, const ConExpr& ce, AST::Node*) { @@ -1317,7 +1319,7 @@ namespace Gecode { namespace FlatZinc { int off = ce[0]->getInt(); IntVarArgs xv = s.arg2intvarargs(ce[1]); unshare(s,xv); - circuit(s,off,xv,s.ann2icl(ann)); + circuit(s,off,xv,s.ann2ipl(ann)); } void p_circuit_cost_array(FlatZincSpace& s, const ConExpr& ce, AST::Node *ann) { @@ -1326,14 +1328,14 @@ namespace Gecode { namespace FlatZinc { IntVarArgs yv = s.arg2intvarargs(ce[2]); IntVar z = s.arg2IntVar(ce[3]); unshare(s,xv); - circuit(s,c,xv,yv,z,s.ann2icl(ann)); + circuit(s,c,xv,yv,z,s.ann2ipl(ann)); } void p_circuit_cost(FlatZincSpace& s, const ConExpr& ce, AST::Node *ann) { IntArgs c = s.arg2intargs(ce[0]); IntVarArgs xv = s.arg2intvarargs(ce[1]); IntVar z = s.arg2IntVar(ce[2]); unshare(s,xv); - circuit(s,c,xv,z,s.ann2icl(ann)); + circuit(s,c,xv,z,s.ann2ipl(ann)); } void p_nooverlap(FlatZincSpace& s, const ConExpr& ce, AST::Node *ann) { @@ -1348,8 +1350,8 @@ namespace Gecode { namespace FlatZinc { IntArgs ih(h.size()); for (int i=h.size(); i--;) ih[i] = h[i].val(); - nooverlap(s,x0,iw,y0,ih,s.ann2icl(ann)); - + nooverlap(s,x0,iw,y0,ih,s.ann2ipl(ann)); + int miny = y0[0].min(); int maxy = y0[0].max(); int maxdy = ih[0]; @@ -1376,7 +1378,7 @@ namespace Gecode { namespace FlatZinc { x1[i] = expr(s, x0[i] + w[i]); for (int i=y0.size(); i--; ) y1[i] = expr(s, y0[i] + h[i]); - nooverlap(s,x0,w,x1,y0,h,y1,s.ann2icl(ann)); + nooverlap(s,x0,w,x1,y0,h,y1,s.ann2ipl(ann)); } } @@ -1384,16 +1386,16 @@ namespace Gecode { namespace FlatZinc { IntVarArgs x = s.arg2intvarargs(ce[0]); int p_s = ce[1]->getInt(); int p_t = ce[2]->getInt(); - precede(s,x,p_s,p_t,s.ann2icl(ann)); + precede(s,x,p_s,p_t,s.ann2ipl(ann)); } void p_nvalue(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs x = s.arg2intvarargs(ce[1]); if (ce[0]->isIntVar()) { IntVar y = s.arg2IntVar(ce[0]); - nvalues(s,x,IRT_EQ,y,s.ann2icl(ann)); + nvalues(s,x,IRT_EQ,y,s.ann2ipl(ann)); } else { - nvalues(s,x,IRT_EQ,ce[0]->getInt(),s.ann2icl(ann)); + nvalues(s,x,IRT_EQ,ce[0]->getInt(),s.ann2ipl(ann)); } } @@ -1403,35 +1405,35 @@ namespace Gecode { namespace FlatZinc { if (ce[0]->isIntVar()) { IntVar n = s.arg2IntVar(ce[0]); unshare(s, x); - count(s,x,v,IRT_EQ,n,s.ann2icl(ann)); + count(s,x,v,IRT_EQ,n,s.ann2ipl(ann)); } else { unshare(s, x); - count(s,x,v,IRT_EQ,ce[0]->getInt(),s.ann2icl(ann)); + count(s,x,v,IRT_EQ,ce[0]->getInt(),s.ann2ipl(ann)); } } void p_member_int(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs x = s.arg2intvarargs(ce[0]); IntVar y = s.arg2IntVar(ce[1]); - member(s,x,y,s.ann2icl(ann)); + member(s,x,y,s.ann2ipl(ann)); } void p_member_int_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { IntVarArgs x = s.arg2intvarargs(ce[0]); IntVar y = s.arg2IntVar(ce[1]); BoolVar b = s.arg2BoolVar(ce[2]); - member(s,x,y,b,s.ann2icl(ann)); + member(s,x,y,b,s.ann2ipl(ann)); } void p_member_bool(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVarArgs x = s.arg2boolvarargs(ce[0]); BoolVar y = s.arg2BoolVar(ce[1]); - member(s,x,y,s.ann2icl(ann)); + member(s,x,y,s.ann2ipl(ann)); } void p_member_bool_reif(FlatZincSpace& s, const ConExpr& ce, AST::Node* ann) { BoolVarArgs x = s.arg2boolvarargs(ce[0]); BoolVar y = s.arg2BoolVar(ce[1]); - member(s,x,y,s.arg2BoolVar(ce[2]),s.ann2icl(ann)); + member(s,x,y,s.arg2BoolVar(ce[2]),s.ann2ipl(ann)); } class IntPoster { @@ -1534,7 +1536,7 @@ namespace Gecode { namespace FlatZinc { registry().add("set_in_reif", &p_int_in_reif); registry().add("set_in_imp", &p_int_in_imp); #endif - + registry().add("array_int_lt", &p_array_int_lt); registry().add("array_int_lq", &p_array_int_lq); registry().add("array_bool_lt", &p_array_bool_lt); @@ -1548,9 +1550,9 @@ namespace Gecode { namespace FlatZinc { registry().add("global_cardinality", &p_global_cardinality); registry().add("global_cardinality_closed", &p_global_cardinality_closed); - registry().add("global_cardinality_low_up", + registry().add("global_cardinality_low_up", &p_global_cardinality_low_up); - registry().add("global_cardinality_low_up_closed", + registry().add("global_cardinality_low_up_closed", &p_global_cardinality_low_up_closed); registry().add("array_int_minimum", &p_minimum); registry().add("array_int_maximum", &p_maximum); @@ -1589,7 +1591,7 @@ namespace Gecode { namespace FlatZinc { registry().add("bool_lin_ge_imp", &p_bool_lin_ge_imp); registry().add("bool_lin_gt_reif", &p_bool_lin_gt_reif); registry().add("bool_lin_gt_imp", &p_bool_lin_gt_imp); - + registry().add("gecode_schedule_unary", &p_schedule_unary); registry().add("gecode_schedule_unary_optional", &p_schedule_unary_optional); registry().add("gecode_schedule_cumulative_optional", &p_cumulative_opt); @@ -1612,7 +1614,7 @@ namespace Gecode { namespace FlatZinc { #ifdef GECODE_HAS_SET_VARS void p_set_OP(FlatZincSpace& s, SetOpType op, const ConExpr& ce, AST::Node *) { - rel(s, s.arg2SetVar(ce[0]), op, s.arg2SetVar(ce[1]), + rel(s, s.arg2SetVar(ce[0]), op, s.arg2SetVar(ce[1]), SRT_EQ, s.arg2SetVar(ce[2])); } void p_set_union(FlatZincSpace& s, const ConExpr& ce, AST::Node *ann) { @@ -1638,7 +1640,7 @@ namespace Gecode { namespace FlatZinc { IntSet yubs(yub); SetVar y_x(s,IntSet::empty,yubs); rel(s, y, SOT_MINUS, x, SRT_EQ, y_x); - + rel(s, x_y, SOT_UNION, y_x, SRT_EQ, s.arg2SetVar(ce[2])); } @@ -1679,7 +1681,7 @@ namespace Gecode { namespace FlatZinc { } void p_set_card(FlatZincSpace& s, const ConExpr& ce, AST::Node *) { if (!ce[1]->isIntVar()) { - cardinality(s, s.arg2SetVar(ce[0]), ce[1]->getInt(), + cardinality(s, s.arg2SetVar(ce[0]), ce[1]->getInt(), ce[1]->getInt()); } else { cardinality(s, s.arg2SetVar(ce[0]), s.arg2IntVar(ce[1])); @@ -1762,7 +1764,7 @@ namespace Gecode { namespace FlatZinc { void p_set_disjoint(FlatZincSpace& s, const ConExpr& ce, AST::Node *) { rel(s, s.arg2SetVar(ce[0]), SRT_DISJ, s.arg2SetVar(ce[1])); } - + void p_link_set_to_booleans(FlatZincSpace& s, const ConExpr& ce, AST::Node *) { SetVar x = s.arg2SetVar(ce[0]); @@ -1797,7 +1799,7 @@ namespace Gecode { namespace FlatZinc { void p_array_set_element_op(FlatZincSpace& s, const ConExpr& ce, AST::Node*, SetOpType op, - const IntSet& universe = + const IntSet& universe = IntSet(Set::Limits::min,Set::Limits::max)) { bool isConstant = true; AST::Array* a = ce[1]->getArray(); @@ -1873,14 +1875,14 @@ namespace Gecode { namespace FlatZinc { } channel(s,xv,yv); } - + void p_range(FlatZincSpace& s, const ConExpr& ce, AST::Node*) { int xoff=ce[1]->getInt(); assert(xoff >= 0); IntVarArgs xv = s.arg2intvarargs(ce[0],xoff); element(s, SOT_UNION, xv, s.arg2SetVar(ce[2]), s.arg2SetVar(ce[3])); } - + void p_weights(FlatZincSpace& s, const ConExpr& ce, AST::Node*) { IntArgs e = s.arg2intargs(ce[0]); IntArgs w = s.arg2intargs(ce[1]); @@ -1888,7 +1890,7 @@ namespace Gecode { namespace FlatZinc { IntVar y = s.arg2IntVar(ce[3]); weights(s,e,w,x,y); } - + void p_inverse_set(FlatZincSpace& s, const ConExpr& ce, AST::Node*) { int xoff = ce[2]->getInt(); int yoff = ce[3]->getInt(); @@ -1903,7 +1905,7 @@ namespace Gecode { namespace FlatZinc { int p_t = ce[2]->getInt(); precede(s,x,p_s,p_t); } - + class SetPoster { public: SetPoster(void) { @@ -1932,7 +1934,7 @@ namespace Gecode { namespace FlatZinc { registry().add("set_in_reif", &p_set_in_reif); registry().add("set_in_imp", &p_set_in_imp); registry().add("disjoint", &p_set_disjoint); - registry().add("gecode_link_set_to_booleans", + registry().add("gecode_link_set_to_booleans", &p_link_set_to_booleans); registry().add("array_set_union", &p_array_set_union); @@ -1940,15 +1942,15 @@ namespace Gecode { namespace FlatZinc { registry().add("set_convex", &p_set_convex); registry().add("array_set_seq", &p_array_set_seq); registry().add("array_set_seq_union", &p_array_set_seq_union); - registry().add("gecode_array_set_element_union", + registry().add("gecode_array_set_element_union", &p_array_set_element_union); - registry().add("gecode_array_set_element_intersect", + registry().add("gecode_array_set_element_intersect", &p_array_set_element_intersect); - registry().add("gecode_array_set_element_intersect_in", + registry().add("gecode_array_set_element_intersect_in", &p_array_set_element_intersect_in); - registry().add("gecode_array_set_element_partition", + registry().add("gecode_array_set_element_partition", &p_array_set_element_partition); - registry().add("gecode_int_set_channel", + registry().add("gecode_int_set_channel", &p_int_set_channel); registry().add("gecode_range", &p_range); @@ -2149,14 +2151,14 @@ namespace Gecode { namespace FlatZinc { registry().add("float_plus",&p_float_plus); registry().add("float_max",&p_float_max); registry().add("float_min",&p_float_min); - + registry().add("float_lin_eq",&p_float_lin_eq); registry().add("float_lin_eq_reif",&p_float_lin_eq_reif); registry().add("float_lin_le",&p_float_lin_le); registry().add("float_lin_lt",&p_float_lin_lt); registry().add("float_lin_le_reif",&p_float_lin_le_reif); registry().add("float_lin_lt_reif",&p_float_lin_lt_reif); - + #ifdef GECODE_HAS_MPFR registry().add("float_acos",&p_float_acos); registry().add("float_asin",&p_float_asin); diff --git a/gecode/flatzinc/registry.hh b/gecode/flatzinc/registry.hh index cc014d431d..41208fd8db 100644 --- a/gecode/flatzinc/registry.hh +++ b/gecode/flatzinc/registry.hh @@ -60,7 +60,7 @@ namespace Gecode { namespace FlatZinc { /// The actual registry std::map r; }; - + /// Return global registry object GECODE_FLATZINC_EXPORT Registry& registry(void); diff --git a/gecode/flatzinc/varspec.hh b/gecode/flatzinc/varspec.hh index b1eab47535..83a525e763 100644 --- a/gecode/flatzinc/varspec.hh +++ b/gecode/flatzinc/varspec.hh @@ -85,7 +85,7 @@ namespace Gecode { namespace FlatZinc { } IntVarSpec(int i0, bool introduced, bool funcDep) : VarSpec(introduced,funcDep) { - alias = false; assigned = true; i = i0; + alias = false; assigned = true; i = i0; domain = Option::none(); } IntVarSpec(const Alias& eq, bool introduced, bool funcDep) : VarSpec(introduced,funcDep) { @@ -107,7 +107,7 @@ namespace Gecode { namespace FlatZinc { } BoolVarSpec(bool b, bool introduced, bool funcDep) : VarSpec(introduced,funcDep) { - alias = false; assigned = true; i = b; + alias = false; assigned = true; i = b; domain = Option::none(); } BoolVarSpec(const Alias& eq, bool introduced, bool funcDep) : VarSpec(introduced,funcDep) { diff --git a/gecode/float.hh b/gecode/float.hh index dd892e197b..5fc79fb826 100644 --- a/gecode/float.hh +++ b/gecode/float.hh @@ -129,16 +129,31 @@ namespace Gecode { namespace Gecode { namespace Float { + +#if defined(_MSC_VER) && (defined(_M_X64) || (defined(_M_IX86_FP) && (_M_IX86_FP > 0))) + + /* + * This is used for the MSVC compiler for x64 or x86 with SSE enabled. + * + */ + /// Rounding Base class (safe version) + typedef gecode_boost::numeric::interval_lib::rounded_arith_std + RoundingBase; + +#else + + /// Rounding Base class (optimized version) + typedef gecode_boost::numeric::interval_lib::rounded_arith_opp + RoundingBase; + +#endif + /** * \brief Floating point rounding policy * * \ingroup TaskModelFloatVars */ - class Rounding : - public gecode_boost::numeric::interval_lib::rounded_arith_opp { - protected: - /// Base class - typedef gecode_boost::numeric::interval_lib::rounded_arith_opp Base; + class Rounding : public RoundingBase { public: /// \name Constructor and destructor //@{ @@ -147,7 +162,7 @@ namespace Gecode { namespace Float { /// Destructor (restores previous rounding mode) ~Rounding(void); //@} - + /// \name Arithmetic operations //@{ /// Return lower bound of \a x plus \a y (domain: \f$ [-\infty;+\infty][-\infty;+\infty]\f$) @@ -428,7 +443,7 @@ namespace Gecode { FloatVal& operator =(const FloatNum& n); /// Assignment operator FloatVal& operator =(const FloatVal& v); - + /// Assign lower bound \a l and upper bound \a u void assign(FloatNum const &l, FloatNum const &u); //@} @@ -456,7 +471,7 @@ namespace Gecode { /// Test whether zero is included bool zero_in(void) const; //@} - + /// \name Float value construction //@{ /// Return hull of \a x and \a y @@ -468,7 +483,7 @@ namespace Gecode { /// Return \f$2\pi\f$ static FloatVal pi_twice(void); //@} - + /// \name Update operators //@{ /// Increment by \a n @@ -934,7 +949,7 @@ namespace Gecode { namespace Gecode { /// Passing float arguments - class FloatValArgs : public PrimArgArray { + class FloatValArgs : public ArgArray { public: /// \name Constructors and initialization //@{ @@ -949,15 +964,13 @@ namespace Gecode { /// Allocate array and copy elements from \a first to \a last template FloatValArgs(InputIterator first, InputIterator last); - /// Allocate array with \a n elements and initialize with \a e0, ... - GECODE_FLOAT_EXPORT - FloatValArgs(int n, int e0, ...); /// Allocate array with \a n elements and initialize with elements from array \a e FloatValArgs(int n, const FloatVal* e); /// Initialize from primitive argument array \a a (copy elements) - FloatValArgs(const PrimArgArray& a); + FloatValArgs(const ArgArray& a); /// Allocate array with \a n elements such that for all \f$0\leq i vars, FloatValBranch vals, FloatBranchFilter bf=NULL, @@ -1770,7 +1789,7 @@ namespace Gecode { * * \ingroup TaskModelFloatBranch */ - GECODE_FLOAT_EXPORT BrancherHandle + GECODE_FLOAT_EXPORT void branch(Home home, FloatVar x, FloatValBranch vals, FloatVarValPrint vvp=NULL); @@ -1779,7 +1798,7 @@ namespace Gecode { * * \ingroup TaskModelFloatBranch */ - GECODE_FLOAT_EXPORT BrancherHandle + GECODE_FLOAT_EXPORT void assign(Home home, const FloatVarArgs& x, FloatAssign vals, FloatBranchFilter fbf=NULL, FloatVarValPrint vvp=NULL); @@ -1788,13 +1807,143 @@ namespace Gecode { * * \ingroup TaskModelFloatBranch */ - GECODE_FLOAT_EXPORT BrancherHandle + GECODE_FLOAT_EXPORT void assign(Home home, FloatVar x, FloatAssign vals, FloatVarValPrint vvp=NULL); //@} } +namespace Gecode { + + /* + * \brief Relaxed assignment of variables in \a x from values in \a sx + * + * The variables in \a x are assigned values from the assigned variables + * in the solution \a sx with a relaxation probability \a p. That is, + * if \$fp=0.1\f$ approximately 10% of the variables in \a x will be + * assigned a value from \a sx. + * + * The random numbers are generated from the generator \a r. At least + * one variable will not be assigned: in case the relaxation attempt + * would suggest that all variables should be assigned, a single + * variable will be selected randomly to remain unassigned. + * + * Throws an exception of type Float::ArgumentSizeMismatch, if \a x and + * \a sx are of different size. + * + * Throws an exception of type Float::OutOfLimits, if \a p is not between + * \a 0.0 and \a 1.0. + * + * \ingroup TaskModeFloat + */ + GECODE_FLOAT_EXPORT void + relax(Home home, const FloatVarArgs& x, const FloatVarArgs& sx, + Rnd r, double p); + +} + +#include + +namespace Gecode { + + /** + * \defgroup TaskFloatTrace Tracing for float variables + * \ingroup TaskTrace + */ + + /** + * \brief Trace delta information for float variables + * \ingroup TaskFloatTrace + */ + class FloatTraceDelta { + protected: + /// New view + Float::FloatView n; + /// Delta information + const Delta& d; + public: + /// \name Constructor + //@{ + /// Initialize with old trace view \a o, new view \a n, and delta \a d + FloatTraceDelta(Float::FloatTraceView o, Float::FloatView n, + const Delta& d); + //@} + /// \name Access + //@{ + /// Return minimum + FloatNum min(void) const; + /// Return maximum + FloatNum max(void) const; + //@} + }; + +} + +#include + +#include + +namespace Gecode { + + /** + * \brief Tracer for float variables + * \ingroup TaskFloatTrace + */ + typedef Tracer FloatTracer; + /** + * \brief TraceRecorder for float variables + * \ingroup TaskFloatTrace + */ + typedef TraceRecorder FloatTraceRecorder; + + /** + * \brief Standard float variable tracer + * \ingroup TaskFloatTrace + */ + class GECODE_FLOAT_EXPORT StdFloatTracer : public FloatTracer { + protected: + /// Output stream to use + std::ostream& os; + public: + /// Initialize with output stream \a os0 + StdFloatTracer(std::ostream& os0 = std::cerr); + /// Print init information + virtual void init(const Space& home, const FloatTraceRecorder& t); + /// Print prune information + virtual void prune(const Space& home, const FloatTraceRecorder& t, + const ExecInfo& ei, int i, FloatTraceDelta& d); + /// Print fixpoint information + virtual void fix(const Space& home, const FloatTraceRecorder& t); + /// Print that trace recorder is done + virtual void done(const Space& home, const FloatTraceRecorder& t); + /// Default tracer (printing to std::cerr) + static StdFloatTracer def; + }; + + + /** + * \brief Create a tracer for float variables + * \ingroup TaskFloatTrace + */ + GECODE_FLOAT_EXPORT void + trace(Home home, const FloatVarArgs& x, + TraceFilter tf, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + FloatTracer& t = StdFloatTracer::def); + /** + * \brief Create a tracer for float variables + * \ingroup TaskFloatTrace + */ + void + trace(Home home, const FloatVarArgs& x, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + FloatTracer& t = StdFloatTracer::def); + +} + +#include + #endif // IFDEF: GECODE_HAS_FLOAT_VARS diff --git a/gecode/float/arithmetic.cpp b/gecode/float/arithmetic.cpp index cc69ad93be..48213cbaa9 100644 --- a/gecode/float/arithmetic.cpp +++ b/gecode/float/arithmetic.cpp @@ -48,7 +48,7 @@ namespace Gecode { void abs(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Abs::post(home,x0,x1))); } @@ -56,7 +56,7 @@ namespace Gecode { void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Max::post(home,x0,x1,x2))); } @@ -65,7 +65,7 @@ namespace Gecode { using namespace Float; if (x.size() == 0) throw TooFewArguments("Float::max"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Arithmetic::NaryMax::post(home,xv,y)); } @@ -74,7 +74,7 @@ namespace Gecode { void min(Home home, FloatVar x0, FloatVar x1, FloatVar x2) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Min::post(home,x0,x1,x2))); } @@ -83,7 +83,7 @@ namespace Gecode { using namespace Float; if (x.size() == 0) throw TooFewArguments("Float::min"); - if (home.failed()) return; + GECODE_POST; ViewArray m(home,x.size()); for (int i=x.size(); i--; ) m[i] = MinusView(x[i]); @@ -95,21 +95,21 @@ namespace Gecode { void mult(Home home, FloatVar x0, FloatVar x1, FloatVar x2) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Mult::post(home,x0,x1,x2))); } void sqr(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Sqr::post(home,x0,x1))); } void sqrt(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Sqrt::post(home,x0,x1))); } @@ -118,7 +118,7 @@ namespace Gecode { using namespace Float; if (n < 0) throw OutOfLimits("nroot"); - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Pow::post(home,x0,x1,n))); } @@ -127,14 +127,14 @@ namespace Gecode { using namespace Float; if (n < 0) throw OutOfLimits("nroot"); - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::NthRoot::post(home,x0,x1,n))); } void div(Home home, FloatVar x0, FloatVar x1, FloatVar x2) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL( (Arithmetic::Div::post(home,x0,x1,x2))); } @@ -143,14 +143,14 @@ namespace Gecode { void exp(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Transcendental::Exp::post(home,x0,x1))); } void log(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Transcendental::Exp ::post(home,x1,x0))); } @@ -158,7 +158,7 @@ namespace Gecode { void log(Home home, FloatNum base, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Transcendental::Pow ::post(home,base,x1,x0))); } @@ -166,7 +166,7 @@ namespace Gecode { void pow(Home home, FloatNum base, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Transcendental::Pow ::post(home,base,x0,x1))); } @@ -174,42 +174,42 @@ namespace Gecode { void asin(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Trigonometric::ASin::post(home,x0,x1))); } void sin(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Trigonometric::Sin::post(home,x0,x1))); } void acos(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Trigonometric::ACos::post(home,x0,x1))); } void cos(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Trigonometric::Cos::post(home,x0,x1))); } void atan(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Trigonometric::ATan::post(home,x0,x1))); } void tan(Home home, FloatVar x0, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Trigonometric::Tan::post(home,x0,x1))); } #endif @@ -218,7 +218,7 @@ namespace Gecode { channel(Home home, FloatVar x0, IntVar x1) { using namespace Float; using namespace Int; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Channel::post(home,x0,x1))); } @@ -226,10 +226,26 @@ namespace Gecode { channel(Home home, IntVar x0, FloatVar x1) { using namespace Float; using namespace Int; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL((Arithmetic::Channel::post(home,x1,x0))); } + void + channel(Home home, FloatVar x0, BoolVar x1) { + using namespace Float; + using namespace Int; + GECODE_POST; + GECODE_ES_FAIL((Arithmetic::Channel::post(home,x0,x1))); + } + + void + channel(Home home, BoolVar x0, FloatVar x1) { + using namespace Float; + using namespace Int; + GECODE_POST; + GECODE_ES_FAIL((Arithmetic::Channel::post(home,x1,x0))); + } + } // STATISTICS: float-post diff --git a/gecode/float/arithmetic.hh b/gecode/float/arithmetic.hh index fe1f89592a..c07a3374bd 100644 --- a/gecode/float/arithmetic.hh +++ b/gecode/float/arithmetic.hh @@ -438,7 +438,7 @@ namespace Gecode { namespace Float { namespace Arithmetic { * \ingroup FuncFloatProp */ template - class Channel : + class Channel : public MixBinaryPropagator { protected: using MixBinaryPropagator::x0; diff --git a/gecode/float/arithmetic/div.hpp b/gecode/float/arithmetic/div.hpp index e004de7690..6713b0a49a 100644 --- a/gecode/float/arithmetic/div.hpp +++ b/gecode/float/arithmetic/div.hpp @@ -72,7 +72,8 @@ namespace Gecode { namespace Float { namespace Arithmetic { if (x1.assigned() && (x1.val() == 0)) return ES_FAILED; GECODE_ME_CHECK(x2.eq(home,x0.domain() / x1.domain())); GECODE_ME_CHECK(x0.eq(home,x2.domain() * x1.domain())); - if (!x2.assigned() || (x2.val() != 0)) GECODE_ME_CHECK(x1.eq(home,x0.domain() / x2.domain())); + if (!x2.assigned() || (x2.val() != 0.0)) + GECODE_ME_CHECK(x1.eq(home,x0.domain() / x2.domain())); return (x0.assigned() && x1.assigned()) ? home.ES_SUBSUMED(*this) : ES_NOFIX; } diff --git a/gecode/float/arithmetic/mult.hpp b/gecode/float/arithmetic/mult.hpp index 1dc515e4d0..58174491f4 100644 --- a/gecode/float/arithmetic/mult.hpp +++ b/gecode/float/arithmetic/mult.hpp @@ -160,12 +160,12 @@ namespace Gecode { namespace Float { namespace Arithmetic { template ExecStatus MultPlus::propagate(Space& home, const ModEventDelta&) { - if (x1.min() != 0.0) + if (x1.min() != 0.0) GECODE_ME_CHECK(x0.eq(home,x2.val() / x1.val())); - if (x0.min() != 0.0) + if (x0.min() != 0.0) GECODE_ME_CHECK(x1.eq(home,x2.val() / x0.val())); GECODE_ME_CHECK(x2.eq(home,x0.val() * x1.val())); - if (x0.assigned() && x1.assigned() && x2.assigned()) + if (x0.assigned() && x1.assigned() && x2.assigned()) return home.ES_SUBSUMED(*this); return ES_NOFIX; } diff --git a/gecode/float/arithmetic/pow-nroot.hpp b/gecode/float/arithmetic/pow-nroot.hpp index 456e0def05..c36e5038ff 100644 --- a/gecode/float/arithmetic/pow-nroot.hpp +++ b/gecode/float/arithmetic/pow-nroot.hpp @@ -62,7 +62,7 @@ namespace Gecode { namespace Float { namespace Arithmetic { GECODE_ME_CHECK(x1.eq(home,0.0)); return ES_OK; } - + if ((n % 2) == 0) { if (x0.min() >= 0) @@ -104,7 +104,7 @@ namespace Gecode { namespace Float { namespace Arithmetic { GECODE_ME_CHECK(x1.eq(home,0.0)); return home.ES_SUBSUMED(*this); } - + if ((m_n % 2) == 0) { if (x0.min() >= 0) diff --git a/gecode/float/arithmetic/sqr-sqrt-abs.hpp b/gecode/float/arithmetic/sqr-sqrt-abs.hpp index 300162c7b5..2ac989d303 100644 --- a/gecode/float/arithmetic/sqr-sqrt-abs.hpp +++ b/gecode/float/arithmetic/sqr-sqrt-abs.hpp @@ -172,7 +172,7 @@ namespace Gecode { namespace Float { namespace Arithmetic { template ExecStatus Sqrt::post(Home home, A x0, B x1) { - GECODE_ME_CHECK(x0.gq(home,0)); + GECODE_ME_CHECK(x0.gq(home,0)); if (same(x0,x1)) { if (x0.assigned()) return ((x0.val() == 0) || (x0.val() == 1))? ES_OK : ES_FAILED; @@ -209,7 +209,7 @@ namespace Gecode { namespace Float { namespace Arithmetic { GECODE_ME_CHECK(x1.eq(home,sqrt(x0.val()))); if (x0.assigned() || x1.assigned()) return home.ES_SUBSUMED(*this); } - + return ES_FIX; } diff --git a/gecode/float/array-traits.hpp b/gecode/float/array-traits.hpp index 49344f8dc8..3466049332 100644 --- a/gecode/float/array-traits.hpp +++ b/gecode/float/array-traits.hpp @@ -42,7 +42,7 @@ namespace Gecode { class FloatVarArgs; class FloatVarArray; class FloatValArgs; - + /// Traits of %FloatVarArgs template<> class ArrayTraits > { @@ -63,10 +63,10 @@ namespace Gecode { /// Traits of %FloatValArgs template<> - class ArrayTraits > { + class ArrayTraits > { public: typedef FloatValArgs StorageType; - typedef FloatVal ValueType; + typedef FloatVal ValueType; typedef FloatValArgs ArgsType; }; @@ -78,7 +78,7 @@ namespace Gecode { typedef FloatVar ValueType; typedef FloatVarArgs ArgsType; }; - + /// Traits of %FloatVarArgs template<> class ArrayTraits { @@ -93,10 +93,10 @@ namespace Gecode { class ArrayTraits { public: typedef FloatValArgs StorageType; - typedef FloatVal ValueType; + typedef FloatVal ValueType; typedef FloatValArgs ArgsType; }; - + } // STATISTICS: float-other diff --git a/gecode/float/array.cpp b/gecode/float/array.cpp index 4d45c077d9..69f1a76997 100644 --- a/gecode/float/array.cpp +++ b/gecode/float/array.cpp @@ -41,15 +41,14 @@ namespace Gecode { - FloatValArgs::FloatValArgs(int n, int e0, ...) : PrimArgArray(n) { - va_list args; - va_start(args, e0); - a[0] = e0; - for (int i = 1; i < n; i++) - a[i] = va_arg(args,FloatNum); - va_end(args); + FloatValArgs + FloatValArgs::create(int n, FloatVal start, int inc) { + FloatValArgs r(n); + for (int i=0; i(home,n) { Float::Limits::check(min,"FloatVarArray::FloatVarArray"); diff --git a/gecode/float/array.hpp b/gecode/float/array.hpp index 5be6736915..eec51f89c3 100644 --- a/gecode/float/array.hpp +++ b/gecode/float/array.hpp @@ -45,39 +45,32 @@ namespace Gecode { */ forceinline - FloatValArgs::FloatValArgs(void) : PrimArgArray(0) {} + FloatValArgs::FloatValArgs(void) : ArgArray(0) {} forceinline - FloatValArgs::FloatValArgs(int n) : PrimArgArray(n) {} - + FloatValArgs::FloatValArgs(int n) : ArgArray(n) {} + forceinline FloatValArgs::FloatValArgs(const SharedArray& x) - : PrimArgArray(x.size()) { + : ArgArray(x.size()) { for (int i=x.size(); i--;) a[i] = x[i]; } forceinline FloatValArgs::FloatValArgs(const std::vector& x) - : PrimArgArray(x) {} + : ArgArray(x) {} template forceinline FloatValArgs::FloatValArgs(InputIterator first, InputIterator last) - : PrimArgArray(first,last) {} - + : ArgArray(first,last) {} + forceinline FloatValArgs::FloatValArgs(int n, const FloatVal* e) - : PrimArgArray(n, e) {} - - forceinline - FloatValArgs::FloatValArgs(const PrimArgArray& a) : PrimArgArray(a) {} + : ArgArray(n, e) {} - forceinline FloatValArgs - FloatValArgs::create(int n, FloatVal start, int inc) { - FloatValArgs r(n); - for (int i=0; i& a) + : ArgArray(a) {} forceinline FloatVarArray::FloatVarArray(void) {} diff --git a/gecode/float/branch.cpp b/gecode/float/branch.cpp index d2bfdfd368..d0e03b9662 100755 --- a/gecode/float/branch.cpp +++ b/gecode/float/branch.cpp @@ -39,27 +39,27 @@ namespace Gecode { - BrancherHandle + void branch(Home home, const FloatVarArgs& x, - FloatVarBranch vars, FloatValBranch vals, + FloatVarBranch vars, FloatValBranch vals, FloatBranchFilter bf, FloatVarValPrint vvp) { using namespace Float; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewsel(home,vars) + ViewSel* vs[1] = { + Branch::viewsel(home,vars) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommit(home,vals),bf,vvp); } - BrancherHandle + void branch(Home home, const FloatVarArgs& x, - TieBreak vars, FloatValBranch vals, + TieBreak vars, FloatValBranch vals, FloatBranchFilter bf, FloatVarValPrint vvp) { using namespace Float; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == FloatVarBranch::SEL_NONE) || (vars.a.select() == FloatVarBranch::SEL_RND)) @@ -74,60 +74,60 @@ namespace Gecode { vars.d = FLOAT_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == FloatVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,bf,vvp); + branch(home,x,vars.a,vals,bf,vvp); } else { ViewArray xv(home,x); - ValSelCommitBase* - vsc = Branch::valselcommit(home,vals); + ValSelCommitBase* + vsc = Branch::valselcommit(home,vals); if (vars.c.select() == FloatVarBranch::SEL_NONE) { - ViewSel* vs[2] = { + ViewSel* vs[2] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b) }; - return ViewValBrancher + ViewValBrancher ::post(home,xv,vs,vsc,bf,vvp); } else if (vars.d.select() == FloatVarBranch::SEL_NONE) { - ViewSel* vs[3] = { + ViewSel* vs[3] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b), Branch::viewsel(home,vars.c) }; - return ViewValBrancher + ViewValBrancher ::post(home,xv,vs,vsc,bf,vvp); } else { - ViewSel* vs[4] = { + ViewSel* vs[4] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b), Branch::viewsel(home,vars.c),Branch::viewsel(home,vars.d) }; - return ViewValBrancher + ViewValBrancher ::post(home,xv,vs,vsc,bf,vvp); } } } - BrancherHandle + void branch(Home home, FloatVar x, FloatValBranch vals, FloatVarValPrint vvp) { FloatVarArgs xv(1); xv[0]=x; - return branch(home, xv, FLOAT_VAR_NONE(), vals, NULL, vvp); + branch(home, xv, FLOAT_VAR_NONE(), vals, NULL, vvp); } - - BrancherHandle + + void assign(Home home, const FloatVarArgs& x, FloatAssign fa, FloatBranchFilter bf, FloatVarValPrint vvp) { using namespace Float; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; ViewArray xv(home,x); - ViewSel* vs[1] = { + ViewSel* vs[1] = { new (home) ViewSelNone(home,FLOAT_VAR_NONE()) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommit(home,fa),bf,vvp); } - BrancherHandle + void assign(Home home, FloatVar x, FloatAssign fa, FloatVarValPrint vvp) { FloatVarArgs xv(1); xv[0]=x; - return assign(home, xv, fa, NULL, vvp); + assign(home, xv, fa, NULL, vvp); } - + } // STATISTICS: float-post diff --git a/gecode/float/branch.hh b/gecode/float/branch.hh index 10d7060b28..0640f31e17 100644 --- a/gecode/float/branch.hh +++ b/gecode/float/branch.hh @@ -56,7 +56,7 @@ namespace Gecode { namespace Float { namespace Branch { * views that can be used together with the generic view/value * brancher classes. * - * All merit-based float view selection classes require + * All merit-based float view selection classes require * \code #include \endcode * \ingroup Other */ @@ -192,7 +192,7 @@ namespace Gecode { namespace Float { namespace Branch { * views that can be used together with the generic view/value * branchers. * - * All value selection classes require + * All value selection classes require * \code #include \endcode * \ingroup Other */ @@ -265,7 +265,7 @@ namespace Gecode { namespace Float { namespace Branch { * views that can be used together with the generic view/value * branchers. * - * All value commit classes require + * All value commit classes require * \code #include \endcode * \ingroup Other */ @@ -283,12 +283,12 @@ namespace Gecode { namespace Float { namespace Branch { /// Constructor for cloning ValCommitLqGq(Space& home, bool shared, ValCommitLqGq& vc); /// Commit view \a x at position \a i to value \a n for alternative \a a - ModEvent commit(Space& home, unsigned int a, FloatView x, int i, + ModEvent commit(Space& home, unsigned int a, FloatView x, int i, FloatNumBranch n); /// Create no-good literal for alternative \a a NGL* ngl(Space& home, unsigned int a, FloatView x, FloatNumBranch n) const; /// Print on \a o the alternative \a with view \a x at position \a i and value \a n - void print(const Space& home, unsigned int a, FloatView x, int i, + void print(const Space& home, unsigned int a, FloatView x, int i, FloatNumBranch n, std::ostream& o) const; }; @@ -301,12 +301,12 @@ namespace Gecode { namespace Float { namespace Branch { /// Return value and commit for float views GECODE_FLOAT_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const FloatValBranch& svb); /// Return value and commit for float views GECODE_FLOAT_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const FloatAssign& ia); }}} diff --git a/gecode/float/branch/assign.hpp b/gecode/float/branch/assign.hpp index 6b36a753af..b0b963e9a9 100755 --- a/gecode/float/branch/assign.hpp +++ b/gecode/float/branch/assign.hpp @@ -45,7 +45,7 @@ namespace Gecode { FloatAssign::FloatAssign(Rnd r) : ValBranch(r), s(SEL_RND) {} - forceinline + forceinline FloatAssign::FloatAssign(VoidFunction v, VoidFunction c) : ValBranch(v,c), s(SEL_VAL_COMMIT) {} diff --git a/gecode/float/branch/merit.hpp b/gecode/float/branch/merit.hpp index 66015f9f6b..4160afdf67 100755 --- a/gecode/float/branch/merit.hpp +++ b/gecode/float/branch/merit.hpp @@ -82,7 +82,7 @@ namespace Gecode { namespace Float { namespace Branch { MeritDegreeSize::MeritDegreeSize(Space& home, const VarBranch& vb) : MeritBase(home,vb) {} forceinline - MeritDegreeSize::MeritDegreeSize(Space& home, bool shared, + MeritDegreeSize::MeritDegreeSize(Space& home, bool shared, MeritDegreeSize& m) : MeritBase(home,shared,m) {} forceinline double @@ -118,7 +118,7 @@ namespace Gecode { namespace Float { namespace Branch { const VarBranch& vb) : MeritBase(home,vb), activity(vb.activity()) {} forceinline - MeritActivitySize::MeritActivitySize(Space& home, bool shared, + MeritActivitySize::MeritActivitySize(Space& home, bool shared, MeritActivitySize& m) : MeritBase(home,shared,m) { activity.update(home, shared, m.activity); diff --git a/gecode/float/branch/val-commit.hpp b/gecode/float/branch/val-commit.hpp index c207d106ed..448f8e8ef6 100755 --- a/gecode/float/branch/val-commit.hpp +++ b/gecode/float/branch/val-commit.hpp @@ -48,30 +48,30 @@ namespace Gecode { namespace Float { namespace Branch { ValCommitLqGq::ValCommitLqGq(Space& home, bool shared, ValCommitLqGq& vc) : ValCommit(home,shared,vc) {} forceinline ModEvent - ValCommitLqGq::commit(Space& home, unsigned int a, FloatView x, int, + ValCommitLqGq::commit(Space& home, unsigned int a, FloatView x, int, FloatNumBranch nl) { // Should we try the smaller half first? if ((a == 0) == nl.l) { - if ((x.min() == nl.n) || (x.max() == nl.n)) + if ((x.min() == nl.n) || (x.max() == nl.n)) return x.eq(home,x.min()); - else + else return x.lq(home,nl.n); } else { if ((x.min() == nl.n) || (x.max() == nl.n)) return x.eq(home,x.max()); - else + else return x.gq(home,nl.n); } } - forceinline NGL* + forceinline NGL* ValCommitLqGq::ngl(Space&, unsigned int, FloatView, FloatNumBranch) const { return NULL; } forceinline void - ValCommitLqGq::print(const Space&, unsigned int a, FloatView, int i, + ValCommitLqGq::print(const Space&, unsigned int a, FloatView, int i, FloatNumBranch nl, std::ostream& o) const { - o << "var[" << i << "] " + o << "var[" << i << "] " << (((a == 0) == nl.l) ? "<=" : ">=") << "(" << nl.n << ")"; } diff --git a/gecode/float/branch/val-sel-commit.cpp b/gecode/float/branch/val-sel-commit.cpp index 37ad21753d..6a6779d4ef 100644 --- a/gecode/float/branch/val-sel-commit.cpp +++ b/gecode/float/branch/val-sel-commit.cpp @@ -39,7 +39,7 @@ namespace Gecode { namespace Float { namespace Branch { - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const FloatValBranch& fvb) { switch (fvb.select()) { case FloatValBranch::SEL_SPLIT_MIN: @@ -61,7 +61,7 @@ namespace Gecode { namespace Float { namespace Branch { } } - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const FloatAssign& fa) { switch (fa.select()) { case FloatAssign::SEL_MIN: diff --git a/gecode/float/branch/val-sel.hpp b/gecode/float/branch/val-sel.hpp index aac51f595c..2eda1f2de1 100755 --- a/gecode/float/branch/val-sel.hpp +++ b/gecode/float/branch/val-sel.hpp @@ -54,7 +54,7 @@ namespace Gecode { namespace Gecode { namespace Float { namespace Branch { forceinline - ValSelLq::ValSelLq(Space& home, const ValBranch& vb) + ValSelLq::ValSelLq(Space& home, const ValBranch& vb) : ValSel(home,vb) {} forceinline ValSelLq::ValSelLq(Space& home, bool shared, ValSelLq& vs) @@ -67,7 +67,7 @@ namespace Gecode { namespace Float { namespace Branch { } forceinline - ValSelGq::ValSelGq(Space& home, const ValBranch& vb) + ValSelGq::ValSelGq(Space& home, const ValBranch& vb) : ValSel(home,vb) {} forceinline ValSelGq::ValSelGq(Space& home, bool shared, ValSelGq& vs) @@ -80,7 +80,7 @@ namespace Gecode { namespace Float { namespace Branch { } forceinline - ValSelRnd::ValSelRnd(Space& home, const ValBranch& vb) + ValSelRnd::ValSelRnd(Space& home, const ValBranch& vb) : ValSel(home,vb), r(vb.rnd()) {} forceinline ValSelRnd::ValSelRnd(Space& home, bool shared, ValSelRnd& vs) diff --git a/gecode/float/branch/val.hpp b/gecode/float/branch/val.hpp index 8df76ebf33..f130a3fafb 100755 --- a/gecode/float/branch/val.hpp +++ b/gecode/float/branch/val.hpp @@ -37,15 +37,15 @@ namespace Gecode { - forceinline + forceinline FloatValBranch::FloatValBranch(Select s0) : s(s0) {} - forceinline + forceinline FloatValBranch::FloatValBranch(Rnd r) : ValBranch(r), s(SEL_SPLIT_RND) {} - forceinline + forceinline FloatValBranch::FloatValBranch(VoidFunction v, VoidFunction c) : ValBranch(v,c), s(SEL_VAL_COMMIT) {} diff --git a/gecode/float/branch/var.hpp b/gecode/float/branch/var.hpp index 59f4c57362..42c488c97d 100755 --- a/gecode/float/branch/var.hpp +++ b/gecode/float/branch/var.hpp @@ -37,31 +37,31 @@ namespace Gecode { - forceinline + forceinline FloatVarBranch::FloatVarBranch(void) : VarBranch(NULL), s(SEL_NONE) {} - forceinline + forceinline FloatVarBranch::FloatVarBranch(Select s0, BranchTbl t) : VarBranch(t), s(s0) {} - forceinline + forceinline FloatVarBranch::FloatVarBranch(Rnd r) : VarBranch(r), s(SEL_RND) {} - forceinline + forceinline FloatVarBranch::FloatVarBranch(Select s0, double d, BranchTbl t) : VarBranch(d,t), s(s0) {} - forceinline + forceinline FloatVarBranch::FloatVarBranch(Select s0, AFC a, BranchTbl t) : VarBranch(a,t), s(s0) {} - forceinline + forceinline FloatVarBranch::FloatVarBranch(Select s0, Activity a, BranchTbl t) : VarBranch(a,t), s(s0) {} - forceinline + forceinline FloatVarBranch::FloatVarBranch(Select s0, VoidFunction mf, BranchTbl t) : VarBranch(mf,t), s(s0) {} diff --git a/gecode/float/dom.cpp b/gecode/float/dom.cpp index f2ca7a50e1..c2e49d4671 100755 --- a/gecode/float/dom.cpp +++ b/gecode/float/dom.cpp @@ -44,7 +44,7 @@ namespace Gecode { dom(Home home, FloatVar x, FloatVal n) { using namespace Float; Limits::check(n,"Float::dom"); - if (home.failed()) return; + GECODE_POST; FloatView xv(x); GECODE_ME_FAIL(xv.eq(home,n)); } @@ -53,7 +53,7 @@ namespace Gecode { dom(Home home, const FloatVarArgs& x, FloatVal n) { using namespace Float; Limits::check(n,"Float::dom"); - if (home.failed()) return; + GECODE_POST; for (int i=x.size(); i--; ) { FloatView xv(x[i]); GECODE_ME_FAIL(xv.eq(home,n)); @@ -65,7 +65,7 @@ namespace Gecode { using namespace Float; Limits::check(min,"Float::dom"); Limits::check(max,"Float::dom"); - if (home.failed()) return; + GECODE_POST; FloatView xv(x); GECODE_ME_FAIL(xv.gq(home,min)); GECODE_ME_FAIL(xv.lq(home,max)); @@ -76,7 +76,7 @@ namespace Gecode { using namespace Float; Limits::check(min,"Float::dom"); Limits::check(max,"Float::dom"); - if (home.failed()) return; + GECODE_POST; for (int i=x.size(); i--; ) { FloatView xv(x[i]); GECODE_ME_FAIL(xv.gq(home,min)); @@ -88,7 +88,7 @@ namespace Gecode { dom(Home home, FloatVar x, FloatVal n, Reify r) { using namespace Float; Limits::check(n,"Float::dom"); - if (home.failed()) return; + GECODE_POST; switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqFloat @@ -128,8 +128,8 @@ namespace Gecode { void dom(Home home, FloatVar x, FloatVar d) { - using namespace Float; - if (home.failed()) return; + using namespace Float; + GECODE_POST; FloatView xv(x), dv(d); if (!same(xv,dv)) { GECODE_ME_FAIL(xv.lq(home,dv.max())); @@ -139,11 +139,11 @@ namespace Gecode { void dom(Home home, const FloatVarArgs& x, const FloatVarArgs& d) { - using namespace Float; + using namespace Float; if (x.size() != d.size()) throw ArgumentSizeMismatch("Float::dom"); for (int i=x.size(); i--; ) { - if (home.failed()) return; + GECODE_POST; FloatView xv(x[i]), dv(d[i]); if (!same(xv,dv)) { GECODE_ME_FAIL(xv.lq(home,dv.max())); diff --git a/gecode/float/exception.cpp b/gecode/float/exception.cpp new file mode 100644 index 0000000000..bc13079c69 --- /dev/null +++ b/gecode/float/exception.cpp @@ -0,0 +1,77 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * Vincent Barichard + * + * Copyright: + * Christian Schulte, 2010 + * Vincent Barichard, 2012 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Float { + + OutOfLimits::OutOfLimits(const char* l) + : Exception(l,"Number out of limits") {} + + VariableEmptyDomain::VariableEmptyDomain(const char* l) + : Exception(l,"Attempt to create variable with empty domain") {} + + TooFewArguments::TooFewArguments(const char* l) + : Exception(l,"Passed argument array has too few elements") {} + + ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) + : Exception(l,"Sizes of argument arrays mismatch") {} + + ArgumentSame::ArgumentSame(const char* l) + : Exception(l,"Argument array contains same variable multiply") {} + + UnknownRelation::UnknownRelation(const char* l) + : Exception(l,"Unknown relation type") {} + + UnknownOperation::UnknownOperation(const char* l) + : Exception(l,"Unknown operation type") {} + + IllegalOperation::IllegalOperation(const char* l) + : Exception(l,"Illegal operation type") {} + + UnknownBranching::UnknownBranching(const char* l) + : Exception(l,"Unknown branching type") {} + + ValOfUnassignedVar::ValOfUnassignedVar(const char* l) + : Exception(l,"Attempt to access value of unassigned variable") {} + +}} + +// STATISTICS: float-other + diff --git a/gecode/float/exception.hpp b/gecode/float/exception.hpp index b9686a22a7..ed67e8ea6c 100644 --- a/gecode/float/exception.hpp +++ b/gecode/float/exception.hpp @@ -47,70 +47,70 @@ namespace Gecode { namespace Float { //@{ /// %Exception: Value out of limits - class GECODE_VTABLE_EXPORT OutOfLimits : public Exception { + class GECODE_FLOAT_EXPORT OutOfLimits : public Exception { public: /// Initialize with location \a l OutOfLimits(const char* l); }; /// %Exception: %Variable created with empty domain - class GECODE_VTABLE_EXPORT VariableEmptyDomain : public Exception { + class GECODE_FLOAT_EXPORT VariableEmptyDomain : public Exception { public: /// Initialize with location \a l VariableEmptyDomain(const char* l); }; /// %Exception: Too few arguments available in argument array - class GECODE_VTABLE_EXPORT TooFewArguments : public Exception { + class GECODE_FLOAT_EXPORT TooFewArguments : public Exception { public: /// Initialize with location \a l TooFewArguments(const char* l); }; /// %Exception: Arguments are of different size - class GECODE_VTABLE_EXPORT ArgumentSizeMismatch : public Exception { + class GECODE_FLOAT_EXPORT ArgumentSizeMismatch : public Exception { public: /// Initialize with location \a l ArgumentSizeMismatch(const char* l); }; /// %Exception: Arguments contain same variable multiply - class GECODE_VTABLE_EXPORT ArgumentSame : public Exception { + class GECODE_FLOAT_EXPORT ArgumentSame : public Exception { public: /// Initialize with location \a l ArgumentSame(const char* l); }; /// %Exception: Unknown relation passed as argument - class GECODE_VTABLE_EXPORT UnknownRelation : public Exception { + class GECODE_FLOAT_EXPORT UnknownRelation : public Exception { public: /// Initialize with location \a l UnknownRelation(const char* l); }; /// %Exception: Unknown operation passed as argument - class GECODE_VTABLE_EXPORT UnknownOperation : public Exception { + class GECODE_FLOAT_EXPORT UnknownOperation : public Exception { public: /// Initialize with location \a l UnknownOperation(const char* l); }; /// %Exception: Illegal operation passed as argument - class GECODE_VTABLE_EXPORT IllegalOperation : public Exception { + class GECODE_FLOAT_EXPORT IllegalOperation : public Exception { public: /// Initialize with location \a l IllegalOperation(const char* l); }; /// %Exception: Unknown value or variable selection passed as argument - class GECODE_VTABLE_EXPORT UnknownBranching : public Exception { + class GECODE_FLOAT_EXPORT UnknownBranching : public Exception { public: /// Initialize with location \a l UnknownBranching(const char* l); }; /// %Exception: Attempt to access value of unassigned variable - class GECODE_VTABLE_EXPORT ValOfUnassignedVar : public Exception { + class GECODE_FLOAT_EXPORT ValOfUnassignedVar : public Exception { public: /// Initialize with location \a l ValOfUnassignedVar(const char* l); @@ -118,57 +118,6 @@ namespace Gecode { namespace Float { //@} - - - - - /* - * Classes for exceptions raised by integer module - * - */ - - inline - OutOfLimits::OutOfLimits(const char* l) - : Exception(l,"Number out of limits") {} - - inline - VariableEmptyDomain::VariableEmptyDomain(const char* l) - : Exception(l,"Attempt to create variable with empty domain") {} - - - inline - TooFewArguments::TooFewArguments(const char* l) - : Exception(l,"Passed argument array has too few elements") {} - - inline - ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) - : Exception(l,"Sizes of argument arrays mismatch") {} - - inline - ArgumentSame::ArgumentSame(const char* l) - : Exception(l,"Argument array contains same variable multiply") {} - - - inline - UnknownRelation::UnknownRelation(const char* l) - : Exception(l,"Unknown relation type") {} - - inline - UnknownOperation::UnknownOperation(const char* l) - : Exception(l,"Unknown operation type") {} - - inline - IllegalOperation::IllegalOperation(const char* l) - : Exception(l,"Illegal operation type") {} - - inline - UnknownBranching::UnknownBranching(const char* l) - : Exception(l,"Unknown branching type") {} - - inline - ValOfUnassignedVar::ValOfUnassignedVar(const char* l) - : Exception(l,"Attempt to access value of unassigned variable") {} - }} // STATISTICS: float-other diff --git a/gecode/float/exec.cpp b/gecode/float/exec.cpp index 3dea545eea..433c59f7ee 100644 --- a/gecode/float/exec.cpp +++ b/gecode/float/exec.cpp @@ -42,13 +42,13 @@ namespace Gecode { void wait(Home home, FloatVar x, void (*c)(Space& home)) { - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Kernel::UnaryWait::post(home,x,c)); } void wait(Home home, const FloatVarArgs& x, void (*c)(Space& home)) { - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Kernel::NaryWait::post(home,xv,c)); } diff --git a/gecode/float/linear.cpp b/gecode/float/linear.cpp index b5b3faf3f1..729d62cc8f 100644 --- a/gecode/float/linear.cpp +++ b/gecode/float/linear.cpp @@ -45,7 +45,7 @@ namespace Gecode { linear(Home home, const FloatVarArgs& x, FloatRelType frt, FloatNum c) { using namespace Float; - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()); for (int i = x.size(); i--; ) { @@ -58,7 +58,7 @@ namespace Gecode { linear(Home home, const FloatVarArgs& x, FloatRelType frt, FloatNum c, Reify r) { using namespace Float; - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()); for (int i = x.size(); i--; ) { @@ -69,12 +69,12 @@ namespace Gecode { void linear(Home home, - const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, + const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, FloatNum c) { using namespace Float; if (a.size() != x.size()) throw ArgumentSizeMismatch("Float::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()); for (int i = x.size(); i--; ) { @@ -85,12 +85,12 @@ namespace Gecode { void linear(Home home, - const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, + const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, FloatNum c, Reify r) { using namespace Float; if (a.size() != x.size()) throw ArgumentSizeMismatch("Float::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()); for (int i = x.size(); i--; ) { @@ -103,7 +103,7 @@ namespace Gecode { linear(Home home, const FloatVarArgs& x, FloatRelType frt, FloatVar y) { using namespace Float; - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()+1); for (int i = x.size(); i--; ) { @@ -133,7 +133,7 @@ namespace Gecode { linear(Home home, const FloatVarArgs& x, FloatRelType frt, FloatVar y, Reify r) { using namespace Float; - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()+1); for (int i = x.size(); i--; ) { @@ -145,12 +145,12 @@ namespace Gecode { void linear(Home home, - const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, + const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, FloatVar y) { using namespace Float; if (a.size() != x.size()) throw ArgumentSizeMismatch("Float::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()+1); for (int i = x.size(); i--; ) { @@ -178,12 +178,12 @@ namespace Gecode { void linear(Home home, - const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, + const FloatValArgs& a, const FloatVarArgs& x, FloatRelType frt, FloatVar y, Reify r) { using namespace Float; if (a.size() != x.size()) throw ArgumentSizeMismatch("Float::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc(x.size()+1); for (int i = x.size(); i--; ) { diff --git a/gecode/float/linear.hh b/gecode/float/linear.hh index 54da3b0d6d..493ad7ad93 100644 --- a/gecode/float/linear.hh +++ b/gecode/float/linear.hh @@ -74,6 +74,8 @@ namespace Gecode { namespace Float { namespace Linear { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -187,7 +189,7 @@ namespace Gecode { namespace Float { namespace Linear { * \param u upper bound * */ - GECODE_FLOAT_EXPORT void + GECODE_FLOAT_EXPORT void estimate(Term* t, int n, FloatVal c, FloatNum& l, FloatNum& u); /** diff --git a/gecode/float/linear/nary.hpp b/gecode/float/linear/nary.hpp index 87313e7173..f75c8fea44 100644 --- a/gecode/float/linear/nary.hpp +++ b/gecode/float/linear/nary.hpp @@ -65,6 +65,13 @@ namespace Gecode { namespace Float { namespace Linear { return PropCost::linear(PropCost::LO, x.size()+y.size()); } + template + void + Lin::reschedule(Space& home) { + x.reschedule(home,*this,pc); + y.reschedule(home,*this,pc); + } + template forceinline size_t Lin::dispose(Space& home) { @@ -148,9 +155,9 @@ namespace Gecode { namespace Float { namespace Linear { } } - forceinline bool + forceinline bool infty(const FloatNum& n) { - return ((n == std::numeric_limits::infinity()) || + return ((n == std::numeric_limits::infinity()) || (n == -std::numeric_limits::infinity())); } @@ -242,7 +249,7 @@ namespace Gecode { namespace Float { namespace Linear { if (me_modified(me)) es = ES_NOFIX; } - + // Propagate min bound for positive variables for (int i = x.size(); i--; ) { // Compute bound diff --git a/gecode/float/linear/post.cpp b/gecode/float/linear/post.cpp index 7061396031..f6ae3b5f6e 100644 --- a/gecode/float/linear/post.cpp +++ b/gecode/float/linear/post.cpp @@ -48,7 +48,7 @@ namespace Gecode { namespace Float { namespace Linear { void estimate(Term* t, int n, FloatVal c, FloatNum& l, FloatNum &u) { FloatVal est = c; - for (int i=n; i--; ) + for (int i=n; i--; ) est += t[i].a * t[i].x.domain(); FloatNum min = est.min(); FloatNum max = est.max(); @@ -95,7 +95,7 @@ namespace Gecode { namespace Float { namespace Linear { template forceinline void post_nary(Home home, - ViewArray& x, ViewArray& y, FloatRelType frt, + ViewArray& x, ViewArray& y, FloatRelType frt, FloatVal c) { switch (frt) { case FRT_EQ: @@ -202,7 +202,7 @@ namespace Gecode { namespace Float { namespace Linear { is_unit = false; break; } - + if (is_unit) { // Unit coefficients ViewArray x(home,n_p); @@ -213,7 +213,7 @@ namespace Gecode { namespace Float { namespace Linear { y[i] = t_n[i].x; post_nary(home,x,y,frt,c); } else { - // Arbitrary coefficients + // Arbitrary coefficients ViewArray x(home,n_p); for (int i = n_p; i--; ) x[i] = ScaleView(t_p[i].a,t_p[i].x); @@ -231,7 +231,7 @@ namespace Gecode { namespace Float { namespace Linear { case FRT_EQ: case FRT_LQ: case FRT_GQ: break; case FRT_NQ: case FRT_LE: case FRT_GR: - rel(home, extend(home,re,t,n), frt, c); + rel(home, extend(home,re,t,n), frt, c); frt=FRT_EQ; c=0.0; break; default: @@ -243,7 +243,7 @@ namespace Gecode { namespace Float { namespace Linear { void post(Home home, Term* t, int n, FloatRelType frt, FloatVal c, Reify r) { Region re(home); - rel(home, extend(home,re,t,n), frt, c, r); + rel(home, extend(home,re,t,n), frt, c, r); dopost(home, t, n, FRT_EQ, 0.0); } diff --git a/gecode/float/rel.cpp b/gecode/float/rel.cpp index 9a600e70c2..a86b21b954 100644 --- a/gecode/float/rel.cpp +++ b/gecode/float/rel.cpp @@ -47,7 +47,7 @@ namespace Gecode { rel(Home home, FloatVar x0, FloatRelType frt, FloatVal n) { using namespace Float; Limits::check(n,"Float::rel"); - if (home.failed()) return; + GECODE_POST; FloatView x(x0); switch (frt) { case FRT_EQ: GECODE_ME_FAIL(x.eq(home,n)); break; @@ -71,7 +71,7 @@ namespace Gecode { void rel(Home home, FloatVar x0, FloatRelType frt, FloatVar x1) { using namespace Float; - if (home.failed()) return; + GECODE_POST; switch (frt) { case FRT_EQ: GECODE_ES_FAIL((Rel::Eq::post(home,x0,x1))); @@ -95,7 +95,7 @@ namespace Gecode { void rel(Home home, FloatVar x0, FloatRelType frt, FloatVar x1, Reify r) { using namespace Float; - if (home.failed()) return; + GECODE_POST; switch (frt) { case FRT_EQ: switch (r.mode()) { @@ -184,7 +184,7 @@ namespace Gecode { rel(Home home, FloatVar x, FloatRelType frt, FloatVal n, Reify r) { using namespace Float; Limits::check(n,"Float::rel"); - if (home.failed()) return; + GECODE_POST; switch (frt) { case FRT_EQ: switch (r.mode()) { @@ -306,7 +306,7 @@ namespace Gecode { rel(Home home, const FloatVarArgs& x, FloatRelType frt, FloatVal c) { using namespace Float; Limits::check(c,"Float::rel"); - if (home.failed()) return; + GECODE_POST; switch (frt) { case FRT_EQ: for (int i=x.size(); i--; ) { @@ -348,7 +348,7 @@ namespace Gecode { void rel(Home home, const FloatVarArgs& x, FloatRelType frt, FloatVar y) { using namespace Float; - if (home.failed()) return; + GECODE_POST; switch (frt) { case FRT_EQ: for (int i=x.size(); i--; ) { diff --git a/gecode/float/rel/eq.hpp b/gecode/float/rel/eq.hpp index b66d4323d3..a230959909 100644 --- a/gecode/float/rel/eq.hpp +++ b/gecode/float/rel/eq.hpp @@ -289,7 +289,7 @@ namespace Gecode { namespace Float { namespace Rel { ReEqFloat::post(Home home, View x, FloatVal c, CtrlView b) { if (b.one()) { if (rm != RM_PMI) - GECODE_ME_CHECK(x.eq(home,c)); + GECODE_ME_CHECK(x.eq(home,c)); } else if (x.assigned()) { if (overlap(x.val(),c)) { if (rm != RM_IMP) @@ -326,11 +326,11 @@ namespace Gecode { namespace Float { namespace Rel { switch (rtest_eq(x0,c)) { case RT_TRUE: if (rm != RM_IMP) - GECODE_ME_CHECK(b.one(home)); + GECODE_ME_CHECK(b.one(home)); break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero(home)); + GECODE_ME_CHECK(b.zero(home)); break; case RT_MAYBE: return ES_FIX; diff --git a/gecode/float/rel/lq-le.hpp b/gecode/float/rel/lq-le.hpp index a9846dffff..0ce13bc534 100644 --- a/gecode/float/rel/lq-le.hpp +++ b/gecode/float/rel/lq-le.hpp @@ -123,7 +123,7 @@ namespace Gecode { namespace Float { namespace Rel { GECODE_ME_CHECK(x1.gq(home,x0.min())); if (x0.assigned() && x1.assigned()) { return (x0.max() >= x1.min()) ? ES_FAILED : home.ES_SUBSUMED(*this); - } + } return (x0.max() < x1.min()) ? home.ES_SUBSUMED(*this) : ES_FIX; } @@ -157,18 +157,18 @@ namespace Gecode { namespace Float { namespace Rel { switch (rtest_lq(x0,x1)) { case RT_TRUE: if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); break; case RT_MAYBE: if (!x0.assigned() || !x1.assigned()) (void) new (home) ReLq(home,x0,x1,b); else { if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); } break; default: GECODE_NEVER; @@ -207,7 +207,7 @@ namespace Gecode { namespace Float { namespace Rel { break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); break; case RT_MAYBE: if (!x0.assigned() || !x1.assigned()) @@ -289,7 +289,7 @@ namespace Gecode { namespace Float { namespace Rel { GECODE_ME_CHECK(x0.gq(home,c.min())); if (x0.assigned()) { return (x0.min() <= c.max()) ? ES_FAILED : home.ES_SUBSUMED(*this); - } + } } } else { switch (rtest_lq(x0,c)) { @@ -374,7 +374,7 @@ namespace Gecode { namespace Float { namespace Rel { GECODE_ME_CHECK(x0.lq(home,c.max())); if (x0.assigned()) { return (x0.max() >= c.min()) ? ES_FAILED : home.ES_SUBSUMED(*this); - } + } } } else if (b.zero()) { if (rm != RM_IMP) diff --git a/gecode/float/rel/nq.hpp b/gecode/float/rel/nq.hpp index 9dfe1e7da8..83ce63467c 100644 --- a/gecode/float/rel/nq.hpp +++ b/gecode/float/rel/nq.hpp @@ -78,7 +78,7 @@ namespace Gecode { namespace Float { namespace Rel { Nq::propagate(Space& home, const ModEventDelta&) { if (x0.assigned() && x1.assigned()) { return overlap(x0.val(),x1.val()) ? ES_FAILED : home.ES_SUBSUMED(*this); - } + } return ES_FIX; } @@ -119,7 +119,7 @@ namespace Gecode { namespace Float { namespace Rel { NqFloat::propagate(Space& home, const ModEventDelta&) { if (x0.assigned()) { return (overlap(x0.val(),c)) ? ES_FAILED : home.ES_SUBSUMED(*this); - } + } return ES_FIX; } diff --git a/gecode/float/relax.cpp b/gecode/float/relax.cpp new file mode 100644 index 0000000000..15bfcb44dd --- /dev/null +++ b/gecode/float/relax.cpp @@ -0,0 +1,74 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { namespace Float { + + /// Class for posting equalities for non-relaxed variables + class Relax { + public: + /// Post the actual equality for non-relaxed variables + ExecStatus operator ()(Home home, FloatVar x, FloatVar sx); + }; + + forceinline ExecStatus + Relax::operator ()(Home home, FloatVar x, FloatVar sx) { + FloatView xv(x); + return me_failed(xv.eq(home,sx.val())) ? ES_FAILED : ES_OK; + } + +}} + +namespace Gecode { + + void + relax(Home home, const FloatVarArgs& x, const FloatVarArgs& sx, + Rnd r, double p) { + if (x.size() != sx.size()) + throw Float::ArgumentSizeMismatch("Float::relax"); + if ((p < 0.0) || (p > 1.0)) + throw Float::OutOfLimits("Float::relax"); + Float::Relax fr; + Search::relax(home,x,sx,r,p,fr); + } + +} + +// STATISTICS: float-other + diff --git a/gecode/float/rounding.cpp b/gecode/float/rounding.cpp index 9ca84af8d5..3c63e743f0 100755 --- a/gecode/float/rounding.cpp +++ b/gecode/float/rounding.cpp @@ -52,7 +52,7 @@ namespace Gecode { namespace Float { typedef int mpfr_func(mpfr_t, const __mpfr_struct*, mp_rnd_t); /// Routine to call mpfr function with proper rounding - forceinline double + forceinline double invoke_mpfr(FloatNum x, mpfr_func f, mp_rnd_t r) { mpfr_t xx; mpfr_init_set_d(xx, x, GMP_RNDN); diff --git a/gecode/float/rounding.hpp b/gecode/float/rounding.hpp index b4642f9975..4339f8b10f 100755 --- a/gecode/float/rounding.hpp +++ b/gecode/float/rounding.hpp @@ -38,23 +38,25 @@ namespace Gecode { namespace Float { forceinline - Rounding::Rounding(void) { Base::init(); } + Rounding::Rounding(void) { + RoundingBase::init(); + } forceinline Rounding::~Rounding(void) {} forceinline FloatNum Rounding::median(FloatNum x, FloatNum y) { - return Base::median(x,y); + return RoundingBase::median(x,y); } -#define GECODE_ROUND_OP(name) \ - forceinline FloatNum \ - Rounding::name##_down(FloatNum x, FloatNum y) { \ - return Base::name##_down(x,y); \ - } \ - forceinline FloatNum \ - Rounding::name##_up(FloatNum x, FloatNum y) { \ - return Base::name##_up(x,y); \ +#define GECODE_ROUND_OP(name) \ + forceinline FloatNum \ + Rounding::name##_down(FloatNum x, FloatNum y) { \ + return RoundingBase::name##_down(x,y); \ + } \ + forceinline FloatNum \ + Rounding::name##_up(FloatNum x, FloatNum y) { \ + return RoundingBase::name##_up(x,y); \ } GECODE_ROUND_OP(add) @@ -64,14 +66,14 @@ namespace Gecode { namespace Float { #undef GECODE_ROUND_OP -#define GECODE_ROUND_FUN(name) \ - forceinline FloatNum \ - Rounding::name##_down(FloatNum x) { \ - return Base::name##_down(x); \ - } \ - forceinline FloatNum \ - Rounding::name##_up(FloatNum x) { \ - return Base::name##_up(x); \ +#define GECODE_ROUND_FUN(name) \ + forceinline FloatNum \ + Rounding::name##_down(FloatNum x) { \ + return RoundingBase::name##_down(x); \ + } \ + forceinline FloatNum \ + Rounding::name##_up(FloatNum x) { \ + return RoundingBase::name##_up(x); \ } GECODE_ROUND_FUN(sqrt) diff --git a/gecode/float/trace.cpp b/gecode/float/trace.cpp new file mode 100755 index 0000000000..2709503689 --- /dev/null +++ b/gecode/float/trace.cpp @@ -0,0 +1,53 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + void + trace(Home home, const FloatVarArgs& x, + TraceFilter tf, int te, FloatTracer& t) { + using namespace Gecode::Float; + GECODE_POST; + ViewArray xv(home,x); + GECODE_ES_FAIL(FloatTraceRecorder::post(home,xv,tf,te,t)); + } + +} + +// STATISTICS: int-other diff --git a/gecode/float/trace.hpp b/gecode/float/trace.hpp new file mode 100755 index 0000000000..69237ca879 --- /dev/null +++ b/gecode/float/trace.hpp @@ -0,0 +1,48 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + inline void + trace(Home home, const FloatVarArgs& x, + int te, FloatTracer& t) { + trace(home,x,TraceFilter::all,te,t); + } + +} + +// STATISTICS: float-other diff --git a/gecode/float/trace/delta.hpp b/gecode/float/trace/delta.hpp new file mode 100755 index 0000000000..9c3dde8b86 --- /dev/null +++ b/gecode/float/trace/delta.hpp @@ -0,0 +1,59 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + forceinline + FloatTraceDelta::FloatTraceDelta(Float::FloatTraceView o, + Float::FloatView n0, + const Delta& d0) : n(n0), d(d0) { + (void)o; + } + + forceinline FloatNum + FloatTraceDelta::min(void) const { + return n.min(d); + } + + forceinline FloatNum + FloatTraceDelta::max(void) const { + return n.max(d); + } + +} + +// STATISTICS: float-other diff --git a/gecode/float/trace/trace-view.hpp b/gecode/float/trace/trace-view.hpp new file mode 100755 index 0000000000..37968e347a --- /dev/null +++ b/gecode/float/trace/trace-view.hpp @@ -0,0 +1,70 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Float { + + /// Float trace view + class FloatTraceView { + public: + /// Default constructor (initializes with no view) + FloatTraceView(void); + /// Duplicate view \a y + FloatTraceView(Space& home, FloatView y); + /// Update duplicated view from view \a y and delta \a d + void prune(Space& home, FloatView y, const Delta& d); + /// Update during cloning + void update(Space& home, bool share, FloatTraceView x); + /// Return slack of \a x + static FloatNum slack(FloatView x); + }; + + forceinline + FloatTraceView::FloatTraceView(void) {} + forceinline + FloatTraceView::FloatTraceView(Space&, FloatView) {} + forceinline void + FloatTraceView::prune(Space&, FloatView, const Delta&) {} + forceinline void + FloatTraceView::update(Space&, bool, FloatTraceView) {} + forceinline FloatNum + FloatTraceView::slack(FloatView x) { + return x.size(); + } + +}} + +// STATISTICS: float-other diff --git a/gecode/float/trace/tracer.cpp b/gecode/float/trace/tracer.cpp new file mode 100755 index 0000000000..fe1b2029da --- /dev/null +++ b/gecode/float/trace/tracer.cpp @@ -0,0 +1,106 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { + + StdFloatTracer::StdFloatTracer(std::ostream& os0) + : os(os0) {} + + void + StdFloatTracer::init(const Space&, const FloatTraceRecorder& t) { + os << "trace::init(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 100.00% (" << t.slack().initial() << " width)" + << std::endl; + } + + void + StdFloatTracer::prune(const Space&, const FloatTraceRecorder& t, + const ExecInfo& ei, int i, FloatTraceDelta& d) { + os << "trace::prune(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << "): [" << i << "] = " << t[i] << " - [" + << d.min() << ".." << d.max() + << "] by " << ei << std::endl; + } + + void + StdFloatTracer::fix(const Space&, const FloatTraceRecorder& t) { + os << "trace::fix(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: "; + double sl_i = static_cast(t.slack().initial()); + double sl_p = static_cast(t.slack().previous()); + double sl_c = static_cast(t.slack().current()); + double p_c = 100.0 * (sl_c / sl_i); + double p_d = 100.0 * (sl_p / sl_i) - p_c; + os << std::showpoint << std::setprecision(4) + << p_c << "% - " + << std::showpoint << std::setprecision(4) + << p_d << '%' + << std::endl; + } + + void + StdFloatTracer::done(const Space&, const FloatTraceRecorder& t) { + os << "trace::done(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: "; + double sl_i = static_cast(t.slack().initial()); + double sl_p = static_cast(t.slack().previous()); + double sl_c = static_cast(t.slack().current()); + double p_c = 100.0 * (sl_c / sl_i); + double p_d = 100.0 * (sl_p / sl_i) - p_c; + os << std::showpoint << std::setprecision(4) + << p_c << "% - " + << std::showpoint << std::setprecision(4) + << p_d << '%' + << std::endl; + } + + StdFloatTracer StdFloatTracer::def; + +} + +// STATISTICS: float-other diff --git a/gecode/float/trace/traits.hpp b/gecode/float/trace/traits.hpp new file mode 100755 index 0000000000..2ab18addf1 --- /dev/null +++ b/gecode/float/trace/traits.hpp @@ -0,0 +1,51 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + /// Trace traits for float views + template<> + class TraceTraits { + public: + typedef Float::FloatTraceView TraceView; + typedef FloatTraceDelta TraceDelta; + typedef FloatNum SlackValue; + }; + +} + +// STATISTICS: float-other diff --git a/gecode/float/transcendental/exp-log.hpp b/gecode/float/transcendental/exp-log.hpp index b40683b5d5..ce3137999e 100644 --- a/gecode/float/transcendental/exp-log.hpp +++ b/gecode/float/transcendental/exp-log.hpp @@ -55,7 +55,7 @@ namespace Gecode { namespace Float { namespace Transcendental { } else { GECODE_ME_CHECK(x1.gq(home,0.0)); } - + (void) new (home) Exp(home,x0,x1); return ES_OK; } diff --git a/gecode/float/trigonometric/sincos.hpp b/gecode/float/trigonometric/sincos.hpp index cb9deed863..1c8f538404 100644 --- a/gecode/float/trigonometric/sincos.hpp +++ b/gecode/float/trigonometric/sincos.hpp @@ -51,7 +51,7 @@ void aSinProject(Rounding& r, const V& aSinIv, FloatNum& iv_min, FloatNum& iv_ma #define POS(X) ((I0__PI_2I.in(X))?0: (IPI_2__PII.in(X))?1: (IPI__3PI_2I.in(X))?2: 3 ) #define ASININF_DOWN r.asin_down(aSinIv.min()) #define ASINSUP_UP r.asin_up(aSinIv.max()) - + // 0 <=> in [0;PI/2] // 1 <=> in [PI/2;PI] // 2 <=> in [PI;3*PI/2] @@ -134,7 +134,7 @@ void aSinProject(Rounding& r, const V& aSinIv, FloatNum& iv_min, FloatNum& iv_ma GECODE_ME_CHECK(x1.lq(home,1.0)); (void) new (home) Sin(home,x0,x1); } - + return ES_OK; } diff --git a/gecode/float/trigonometric/tanatan.hpp b/gecode/float/trigonometric/tanatan.hpp index 5e4c2392cc..a57431edcb 100644 --- a/gecode/float/trigonometric/tanatan.hpp +++ b/gecode/float/trigonometric/tanatan.hpp @@ -41,13 +41,13 @@ namespace Gecode { namespace Float { namespace Trigonometric { * */ template - void + void aTanProject(Rounding& r, const V& aTanIv, FloatNum& iv_min, FloatNum& iv_max, int& n_min, int& n_max) { #define I0__PI_2I FloatVal(0,pi_half_upper()) #define POS(X) ((I0__PI_2I.in(X))?0:1) #define ATANINF_DOWN r.atan_down(aTanIv.min()) #define ATANSUP_UP r.atan_up(aTanIv.max()) - + // 0 <=> in [0;PI/2] // 1 <=> in [PI/2;PI] switch ( POS(iv_min) ) @@ -64,7 +64,7 @@ namespace Gecode { namespace Float { namespace Trigonometric { GECODE_NEVER; break; } - + // 0 <=> in [0;PI/2] // 1 <=> in [PI/2;PI] switch ( POS(iv_max) ) @@ -134,7 +134,7 @@ namespace Gecode { namespace Float { namespace Trigonometric { if (I0__PI_2I.in(x0.max())) GECODE_ME_CHECK(x0.lq(home,0)); if (I0__PI_2I.in(-x0.min())) GECODE_ME_CHECK(x0.gq(home,0)); #undef I0__PI_2I - + n_min = static_cast(r.div_up(x0.min(), pi_upper())); n_max = static_cast(r.div_up(x0.max(), pi_upper())); @@ -153,9 +153,9 @@ namespace Gecode { namespace Float { namespace Trigonometric { t = r.add_up(r.mul_up(n_max,pi_upper()),r.tan_up(x0_max)); } while (t > x0_max); x0_max = r.sub_up(r.mul_up(2*n_max,pi_upper()),x0_max); - + if (x0_min > x0_max) return ES_FAILED; - GECODE_ME_CHECK(x0.eq(home,FloatVal(x0_min,x0_max))); + GECODE_ME_CHECK(x0.eq(home,FloatVal(x0_min,x0_max))); } else { GECODE_ME_CHECK(x1.eq(home,tan(x0.val()))); n_min = static_cast(r.div_up(x0.min(), pi_upper())); diff --git a/gecode/float/val.hpp b/gecode/float/val.hpp index be21c6fb95..9b0ba4b307 100755 --- a/gecode/float/val.hpp +++ b/gecode/float/val.hpp @@ -64,7 +64,7 @@ namespace Gecode { FloatVal::operator =(const FloatVal& v) { x = v.x; return *this; } - + forceinline void FloatVal::assign(FloatNum const &l, FloatNum const &u) { x.assign(l,u); @@ -89,7 +89,7 @@ namespace Gecode { forceinline bool FloatVal::tight(void) const { - return (gecode_boost::numeric::singleton(x) || + return (gecode_boost::numeric::singleton(x) || (nextafter(x.lower(),x.upper()) == x.upper())); } forceinline bool @@ -104,10 +104,10 @@ namespace Gecode { FloatVal::zero_in(void) const { return gecode_boost::numeric::zero_in(x); } - + forceinline FloatVal FloatVal::hull(FloatNum x, FloatNum y) { - FloatVal h(FloatVal::hull(x,y)); return h; + FloatVal h(x,y); return h; } forceinline FloatVal FloatVal::pi_half(void) { @@ -124,7 +124,7 @@ namespace Gecode { FloatVal p(gecode_boost::numeric::interval_lib::pi_twice()); return p; } - + forceinline FloatVal& FloatVal::operator +=(const FloatNum& n) { x += n; return *this; @@ -226,112 +226,112 @@ namespace Gecode { return FloatVal(x/y.x); } - forceinline bool + inline bool operator <(const FloatVal& x, const FloatVal& y) { try { return x.x < y.x; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator <(const FloatVal& x, const FloatNum& y) { try { return x.x < y; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator <=(const FloatVal& x, const FloatVal& y) { try { return x.x <= y.x; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator <=(const FloatVal& x, const FloatNum& y) { try { return x.x <= y; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator >(const FloatVal& x, const FloatVal& y) { try { return x.x > y.x; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator >(const FloatVal& x, const FloatNum& y) { try { return x.x > y; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator >=(const FloatVal& x, const FloatVal& y) { try { return x.x >= y.x; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator >=(const FloatVal& x, const FloatNum& y) { try { return x.x >= y; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator ==(const FloatVal& x, const FloatVal& y) { try { return x.x == y.x; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator ==(const FloatVal& x, const FloatNum& y) { if (!gecode_boost::numeric::interval_lib::checking_strict ::is_empty(x.x.lower(), x.x.upper())) { if ((x.x.lower() == y) && (x.x.upper() == y)) return true; } - if (((x.x.lower() == y) && + if (((x.x.lower() == y) && (nextafter(x.x.lower(),x.x.upper()) == x.x.upper())) || - ((x.x.upper() == y) && + ((x.x.upper() == y) && (nextafter(x.x.upper(),x.x.lower()) == x.x.lower()))) return true; return false; } - forceinline bool + inline bool operator !=(const FloatVal& x, const FloatVal& y) { try { return x.x != y.x; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } - forceinline bool + inline bool operator !=(const FloatVal& x, const FloatNum& y) { try { return x.x != y; } catch (gecode_boost::numeric::interval_lib::comparison_error&) { return false; - } + } } forceinline bool @@ -521,7 +521,7 @@ namespace Gecode { namespace Float { } forceinline FloatVal hull(const FloatNum& x, const FloatNum& y) { - return FloatVal(hull(x,y)); + return FloatVal(x,y); } }} diff --git a/gecode/float/var-imp.hpp b/gecode/float/var-imp.hpp index 01d6a83380..758167c93e 100644 --- a/gecode/float/var-imp.hpp +++ b/gecode/float/var-imp.hpp @@ -146,6 +146,8 @@ namespace Gecode { namespace Float { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to variable void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a diff --git a/gecode/float/var-imp/float.hpp b/gecode/float/var-imp/float.hpp index 1290f4b193..caff18a83a 100644 --- a/gecode/float/var-imp/float.hpp +++ b/gecode/float/var-imp/float.hpp @@ -241,6 +241,10 @@ namespace Gecode { namespace Float { FloatVarImpBase::cancel(home,p,pc,assigned()); } + forceinline void + FloatVarImp::reschedule(Space& home, Propagator& p, PropCond pc) { + FloatVarImpBase::reschedule(home,p,pc,assigned()); + } forceinline void FloatVarImp::subscribe(Space& home, Advisor& a) { FloatVarImpBase::subscribe(home,a,assigned()); diff --git a/gecode/float/var-imp/float.vis b/gecode/float/var-imp/float.vis index de2e5e1786..8f0327a484 100644 --- a/gecode/float/var-imp/float.vis +++ b/gecode/float/var-imp/float.vis @@ -63,7 +63,7 @@ Combine: VAL=VAL, BND=VAL [ModEvent] Name: BND=SUBSCRIBE Combine: VAL=VAL, BND=BND - /** + /** * \brief Domain operation has changed the minimum or maximum of the domain * * Note that this implies that the domain has not resulted in a value. diff --git a/gecode/float/view.hpp b/gecode/float/view.hpp index 56b3beba80..8ff0a9f674 100644 --- a/gecode/float/view.hpp +++ b/gecode/float/view.hpp @@ -384,7 +384,7 @@ namespace Gecode { namespace Float { /// Initialize as \f$b\cdot y\f$ ScaleView(FloatVal b, const FloatView& y); //@} - + /// \name Value access //@{ /// Return domain @@ -497,22 +497,22 @@ namespace Gecode { namespace Float { RT_MAYBE = 1, ///< Relation may hold or not RT_TRUE = 2 ///< Relation does hold }; - + /// Test whether views \a x and \a y are equal template RelTest rtest_eq(View x, View y); /// Test whether view \a x and Float \a n are equal template RelTest rtest_eq(View x, FloatVal n); - + /// Test whether view \a x is less or equal than view \a y template RelTest rtest_lq(View x, View y); /// Test whether view \a x is less or equal than float \a n template RelTest rtest_lq(View x, FloatVal n); - + /// Test whether view \a x is less than view \a y template RelTest rtest_le(View x, View y); /// Test whether view \a x is less or equal than float \a n template RelTest rtest_le(View x, FloatVal n); - + //@} }} diff --git a/gecode/gist.hh b/gecode/gist.hh index 93ea1db63f..0018977db9 100644 --- a/gecode/gist.hh +++ b/gecode/gist.hh @@ -124,7 +124,7 @@ namespace Gecode { public: //@{ ///\name Comparator interface - + /// Call-back function virtual void compare(const Space& s0, const Space& s1) = 0; /// Name of the comparator @@ -138,7 +138,7 @@ namespace Gecode { //@{ ///\name Helper methods - + /// Return string representation of difference between arrays \a x and \a y, which are called \a x_n template static std::string compare(std::string x_n, const VarArgArray& x, @@ -157,9 +157,9 @@ namespace Gecode { #endif //@} }; - + class TextOutputI; - + /// An window for simple text output class GECODE_GIST_EXPORT TextOutput { private: @@ -186,7 +186,7 @@ namespace Gecode { /// Name of the inspector virtual std::string name(void); }; - + /// An inspector for printing simple text output template class Print : public TextOutput, public Inspector { @@ -223,11 +223,11 @@ namespace Gecode { /// Finalize when Gist exits virtual void finalize(void); }; - + /// A branching that stops exploration GECODE_GIST_EXPORT void stopBranch(Space& home); - + /** * \brief %Options for %Gist * @@ -259,7 +259,7 @@ namespace Gecode { void move(Inspector* i); /// Add comparator void compare(Comparator* c); - + /// Return click inspector number \a i, or NULL if it does not exist Inspector* click(unsigned int i) const; /// Return solution inspector number \a i, or NULL if it does not exist @@ -275,26 +275,26 @@ namespace Gecode { Options(void); }; - + /// Create a new stand-alone Gist for \a root using \a bab - GECODE_GIST_EXPORT int + GECODE_GIST_EXPORT int explore(Space* root, bool bab, const Options& opt); - + /** * \brief Create a new stand-alone Gist for \a root * \ingroup TaskGist */ - int + int dfs(Space* root, const Gist::Options& opt = Gist::Options::def); - + /** * \brief Create a new stand-alone Gist for branch-and-bound search of \a root * \ingroup TaskGist */ - int + int bab(Space* root, const Gist::Options& opt = Gist::Options::def); - - } + + } } diff --git a/gecode/gist/drawingcursor.cpp b/gecode/gist/drawingcursor.cpp index 1f4327aab1..c127891346 100644 --- a/gecode/gist/drawingcursor.cpp +++ b/gecode/gist/drawingcursor.cpp @@ -107,7 +107,7 @@ namespace Gecode { namespace Gist { path.moveTo(myx,myy); path.lineTo(parentX,parentY); painter.drawPath(path); - + QFontMetrics fm = painter.fontMetrics(); QString label = na.getLabel(n); int alt = n->getAlternative(na); @@ -205,7 +205,7 @@ namespace Gecode { namespace Gist { gradient.setColorAt(1, green); } else if (n->hasFailedChildren()) { gradient.setColorAt(0, white); - gradient.setColorAt(1, red); + gradient.setColorAt(1, red); } else { gradient.setColorAt(0, white); gradient.setColorAt(1, QColor(0,0,0)); @@ -217,7 +217,7 @@ namespace Gecode { namespace Gist { else painter.setBrush(QBrush(red)); } - + QPointF points[3] = {QPointF(myx,myy), QPointF(myx+nodeWidth,myy+hiddenDepth), QPointF(myx-nodeWidth,myy+hiddenDepth), @@ -247,7 +247,7 @@ namespace Gecode { namespace Gist { case Gist::UNSTOP: case Gist::STOP: { - painter.setBrush(n->getStatus() == STOP ? + painter.setBrush(n->getStatus() == STOP ? QBrush(red) : QBrush(green)); QPointF points[8] = {QPointF(myx-quarterFailedWidthF,myy), QPointF(myx+quarterFailedWidthF,myy), @@ -270,7 +270,7 @@ namespace Gecode { namespace Gist { } break; case Gist::BRANCH: - painter.setBrush(n->childrenLayoutIsDone() ? QBrush(blue) : + painter.setBrush(n->childrenLayoutIsDone() ? QBrush(blue) : QBrush(white)); painter.drawEllipse(myx-halfNodeWidth, myy, nodeWidth, nodeWidth); break; diff --git a/gecode/gist/drawingcursor.hpp b/gecode/gist/drawingcursor.hpp index 32ef055c6e..b59dabe0ea 100644 --- a/gecode/gist/drawingcursor.hpp +++ b/gecode/gist/drawingcursor.hpp @@ -53,7 +53,7 @@ namespace Gecode { namespace Gist { return (x + b.left > clippingRect.x() + clippingRect.width() || x + b.right < clippingRect.x() || y > clippingRect.y() + clippingRect.height() || - y + (node()->getShape()->depth()+1) * Layout::dist_y < + y + (node()->getShape()->depth()+1) * Layout::dist_y < clippingRect.y()); } diff --git a/gecode/gist/gist.cpp b/gecode/gist/gist.cpp index cf004cb755..156811073e 100644 --- a/gecode/gist/gist.cpp +++ b/gecode/gist/gist.cpp @@ -47,36 +47,36 @@ namespace Gecode { namespace Gist { std::string Inspector::name(void) { return "Inspector"; } - + void Inspector::finalize(void) {} - + Inspector::~Inspector(void) {} std::string Comparator::name(void) { return "Comparator"; } - + void Comparator::finalize(void) {} - + Comparator::~Comparator(void) {} - + TextOutput::TextOutput(const std::string& name) : t(NULL), n(name) {} - + void TextOutput::finalize(void) { delete t; t = NULL; } - + TextOutput::~TextOutput(void) { delete t; } std::string TextOutput::name(void) { return n; } - + void TextOutput::init(void) { if (t == NULL) { @@ -89,19 +89,19 @@ namespace Gecode { namespace Gist { TextOutput::getStream(void) { return t->getStream(); } - + void TextOutput::flush(void) { t->flush(); } - + void TextOutput::addHtml(const char* s) { t->insertHtml(s); } const Options Options::def; - + int explore(Space* root, bool bab, const Options& opt) { diff --git a/gecode/gist/gist.hpp b/gecode/gist/gist.hpp index 254ab5db3a..0b6ab27fac 100644 --- a/gecode/gist/gist.hpp +++ b/gecode/gist/gist.hpp @@ -65,7 +65,7 @@ namespace Gecode { namespace Gist { VarComparator::finalize(void) { TextOutput::finalize(); } - + inline std::string Comparator::compare(std::string x_n, IntVar x, IntVar y) { IntVarRanges xr(x), yr(y); @@ -90,7 +90,7 @@ namespace Gecode { namespace Gist { Comparator::compare(std::string x_n, SetVar x, SetVar y) { SetVarGlbRanges xglbr(x), yglbr(y); SetVarLubRanges xlubr(x), ylubr(y); - if (! (Iter::Ranges::equal(xglbr,yglbr) && + if (! (Iter::Ranges::equal(xglbr,yglbr) && Iter::Ranges::equal(xlubr,ylubr) && x.cardMin() == y.cardMin() && y.cardMax() == y.cardMax()) ) { @@ -114,7 +114,7 @@ namespace Gecode { namespace Gist { #endif template std::string - Comparator::compare(std::string x_n, const VarArgArray& x, + Comparator::compare(std::string x_n, const VarArgArray& x, const VarArgArray& y) { if (x.size() != y.size()) return "Error: array size mismatch"; @@ -128,14 +128,14 @@ namespace Gecode { namespace Gist { if (!first) { ret << ", "; } else { - first = false; + first = false; } ret << cmp; } } return ret.str(); } - + template Print::Print(const std::string& name) : TextOutput(name) {} @@ -163,7 +163,7 @@ namespace Gecode { namespace Gist { } forceinline - Options::Options(void) {} + Options::Options(void) {} forceinline Options::_I::_I(void) : _click(heap,1), n_click(0), diff --git a/gecode/gist/mainwindow.cpp b/gecode/gist/mainwindow.cpp index 54fc98bd19..bbfa887a64 100644 --- a/gecode/gist/mainwindow.cpp +++ b/gecode/gist/mainwindow.cpp @@ -108,7 +108,7 @@ namespace Gecode { namespace Gist { connect(prefAction, SIGNAL(triggered()), this, SLOT(preferences())); QMenu* nodeMenu = menuBar->addMenu(tr("&Node")); - + inspectNodeMenu = new QMenu("Inspect"); inspectNodeMenu->addAction(c->inspect); connect(inspectNodeMenu, SIGNAL(aboutToShow()), @@ -119,7 +119,7 @@ namespace Gecode { namespace Gist { connect(inspectNodeBeforeFPMenu, SIGNAL(aboutToShow()), this, SLOT(populateInspectors())); populateInspectors(); - + nodeMenu->addMenu(inspectNodeMenu); nodeMenu->addMenu(inspectNodeBeforeFPMenu); nodeMenu->addAction(c->compareNode); diff --git a/gecode/gist/node.cpp b/gecode/gist/node.cpp index 4c4b8ece4a..51dabdb5e4 100644 --- a/gecode/gist/node.cpp +++ b/gecode/gist/node.cpp @@ -50,8 +50,9 @@ namespace Gecode { namespace Gist { setTag(LEAF); break; case 1: - childrenOrFirstChild = - reinterpret_cast(na.allocate(getIndex(na)) << 2); + childrenOrFirstChild = + reinterpret_cast( + static_cast(na.allocate(getIndex(na)) << 2)); noOfChildren = 1; setTag(TWO_CHILDREN); break; @@ -59,7 +60,8 @@ namespace Gecode { namespace Gist { { int idx = getIndex(na); childrenOrFirstChild = - reinterpret_cast(na.allocate(idx) << 2); + reinterpret_cast( + static_cast(na.allocate(idx) << 2)); noOfChildren = -na.allocate(idx); setTag(TWO_CHILDREN); } diff --git a/gecode/gist/node.hh b/gecode/gist/node.hh index aeb1100f23..4e997ff0cb 100644 --- a/gecode/gist/node.hh +++ b/gecode/gist/node.hh @@ -167,7 +167,7 @@ namespace Gecode { namespace Gist { /// Return the number of children unsigned int getNumberOfChildren(void) const; - + }; }} diff --git a/gecode/gist/node.hpp b/gecode/gist/node.hpp index 8952048dcf..bd39251eb5 100644 --- a/gecode/gist/node.hpp +++ b/gecode/gist/node.hpp @@ -112,7 +112,7 @@ namespace Gecode { namespace Gist { assert(i/NodeBlockSize < cur_b || i%NodeBlockSize <= cur_t); b[i/NodeBlockSize]->best[i%NodeBlockSize] = best; } - + template forceinline bool NodeAllocatorBase::bab(void) const { @@ -130,7 +130,7 @@ namespace Gecode { namespace Gist { NodeAllocatorBase::hasLabel(T* n) const { return labels.contains(n); } - + template void NodeAllocatorBase::setLabel(T* n, const QString& l) { @@ -148,7 +148,7 @@ namespace Gecode { namespace Gist { NodeAllocatorBase::getLabel(T* n) const { return labels.value(n); } - + forceinline unsigned int Node::getTag(void) const { return static_cast @@ -217,14 +217,17 @@ namespace Gecode { namespace Gist { forceinline unsigned int Node::getNumberOfChildren(void) const { switch (getTag()) { - case UNDET: return 0; - case LEAF: return 0; - case TWO_CHILDREN: return 1+(noOfChildren <= 0); - default: return noOfChildren; + case UNDET: + case LEAF: + return 0; + case TWO_CHILDREN: + return (noOfChildren <= 0) ? 2 : 1; + default: + return static_cast(noOfChildren); } } - inline int + forceinline int Node::getIndex(const NodeAllocator& na) const { if (parent==-1) return 0; diff --git a/gecode/gist/nodecursor.hh b/gecode/gist/nodecursor.hh index f63dd802da..5f455d94c2 100644 --- a/gecode/gist/nodecursor.hh +++ b/gecode/gist/nodecursor.hh @@ -178,7 +178,7 @@ namespace Gecode { namespace Gist { /// Constructor StatCursor(VisualNode* theNode, const VisualNode::NodeAllocator& na); - + /// \name Cursor interface //@{ /// Collect statistics @@ -188,7 +188,7 @@ namespace Gecode { namespace Gist { /// Move cursor to the parent node void moveUpwards(void); //@} - + }; /// \brief A cursor that labels branches @@ -221,13 +221,13 @@ namespace Gecode { namespace Gist { /// Constructor DisposeCursor(VisualNode* theNode, const VisualNode::NodeAllocator& na); - + /// \name Cursor interface //@{ /// Dispose node void processCurrentNode(void); //@} - + }; }} diff --git a/gecode/gist/nodecursor.hpp b/gecode/gist/nodecursor.hpp index e40da9ea21..07bf9e0aec 100644 --- a/gecode/gist/nodecursor.hpp +++ b/gecode/gist/nodecursor.hpp @@ -41,7 +41,7 @@ namespace Gecode { namespace Gist { forceinline NodeCursor::NodeCursor(Node* theNode, const typename Node::NodeAllocator& na0) - : _startNode(theNode), _node(theNode), + : _startNode(theNode), _node(theNode), _alternative(theNode->getAlternative(na0)), na(na0) {} @@ -111,7 +111,7 @@ namespace Gecode { namespace Gist { template forceinline void NodeCursor::moveSidewards(void) { - _node = + _node = static_cast(_node->getParent(na)->getChild(na,++_alternative)); } @@ -246,7 +246,7 @@ namespace Gecode { namespace Gist { forceinline void StatCursor::moveDownwards(void) { curDepth++; - depth = std::max(depth,curDepth); + depth = std::max(depth,curDepth); NodeCursor::moveDownwards(); } diff --git a/gecode/gist/nodestats.cpp b/gecode/gist/nodestats.cpp index 26abe74230..1cb0754609 100644 --- a/gecode/gist/nodestats.cpp +++ b/gecode/gist/nodestats.cpp @@ -47,7 +47,7 @@ namespace Gecode { namespace Gist { : QWidget(parent) { setWindowFlags(Qt::Tool); QGraphicsScene* scene = new QGraphicsScene(); - + scene->addEllipse(70,10,16,16,QPen(),QBrush(DrawingCursor::white)); scene->addEllipse(70,60,16,16,QPen(),QBrush(DrawingCursor::blue)); scene->addRect(32,100,12,12,QPen(),QBrush(DrawingCursor::red)); @@ -58,7 +58,7 @@ namespace Gecode { namespace Gist { scene->addPolygon(poly,QPen(),QBrush(DrawingCursor::green)); scene->addEllipse(110,100,16,16,QPen(),QBrush(DrawingCursor::white)); - + QPen pen; pen.setStyle(Qt::DotLine); pen.setWidth(0); @@ -66,12 +66,12 @@ namespace Gecode { namespace Gist { scene->addLine(78,76,38,100,pen); scene->addLine(78,76,78,100,pen); scene->addLine(78,76,118,100,pen); - + scene->addLine(135,10,145,10); scene->addLine(145,10,145,110); scene->addLine(145,60,135,60); scene->addLine(145,110,135,110); - + nodeDepthLabel = scene->addText("0"); nodeDepthLabel->setPos(150,20); subtreeDepthLabel = scene->addText("0"); @@ -114,7 +114,7 @@ namespace Gecode { namespace Gist { StatCursor sc(n,na); PreorderNodeVisitor pnv(sc); pnv.run(); - + subtreeDepthLabel->setPlainText( QString("%1").arg(pnv.getCursor().depth)); solvedLabel->setPlainText(QString("%1").arg(pnv.getCursor().solved)); @@ -126,13 +126,13 @@ namespace Gecode { namespace Gist { openLabel->setPlainText(QString("%1").arg(pnv.getCursor().open)); } } - + void NodeStatInspector::showStats(void) { show(); activateWindow(); } - + }} // STATISTICS: gist-any diff --git a/gecode/gist/nodestats.hh b/gecode/gist/nodestats.hh index 58ab51ac6c..1979d4bef0 100644 --- a/gecode/gist/nodestats.hh +++ b/gecode/gist/nodestats.hh @@ -76,7 +76,7 @@ namespace Gecode { namespace Gist { /// Show this window and bring it to the front void showStats(void); }; - + }} #endif diff --git a/gecode/gist/qtgist.cpp b/gecode/gist/qtgist.cpp index 88eda526a9..f8add7f750 100644 --- a/gecode/gist/qtgist.cpp +++ b/gecode/gist/qtgist.cpp @@ -460,7 +460,7 @@ namespace Gecode { namespace Gist { moveInspectorMenu->clear(); moveInspectorMenu->addActions( moveInspectorGroup->actions()); - + QAction* ia = new QAction(i0->name().c_str(), this); inspectGroup->addAction(ia); QAction* ibfpa = new QAction(i0->name().c_str(), this); @@ -586,10 +586,10 @@ namespace Gecode { namespace Gist { unhideAll->setEnabled(false); labelBranches->setEnabled(false); labelPath->setEnabled(false); - + toggleStop->setEnabled(false); unstopAll->setEnabled(false); - + center->setEnabled(false); exportPDF->setEnabled(false); exportWholeTreePDF->setEnabled(false); @@ -623,7 +623,7 @@ namespace Gecode { namespace Gist { unhideAll->setEnabled(false); unstopAll->setEnabled(false); } - + toggleStop->setEnabled(n->getStatus() == STOP || n->getStatus() == UNSTOP); @@ -753,7 +753,7 @@ namespace Gecode { namespace Gist { bookmarksGroup->addAction(nullBookmark); } } - + void Gist::populateBookmarksMenu(void) { bookmarksMenu->clear(); @@ -773,7 +773,7 @@ namespace Gecode { namespace Gist { inspectNodeBeforeFPMenu->addSeparator(); inspectNodeBeforeFPMenu->addActions(inspectBeforeFPGroup->actions()); } - + void Gist::setAutoHideFailed(bool b) { canvas->setAutoHideFailed(b); } void diff --git a/gecode/gist/spacenode.cpp b/gecode/gist/spacenode.cpp index 40029d5589..3fe07e0ada 100644 --- a/gecode/gist/spacenode.cpp +++ b/gecode/gist/spacenode.cpp @@ -92,7 +92,7 @@ namespace Gecode { namespace Gist { idx = parentIdx; rdist++; } - + Space* curSpace; if (Support::marked(curNode->copy)) { curSpace = static_cast(Support::unmark(curNode->copy)); @@ -136,7 +136,7 @@ namespace Gecode { namespace Gist { ownBestSpace = Gecode::dfs(ownBestSpace); if (Support::marked(b.ownBest->copy)) { delete static_cast(Support::unmark(b.ownBest->copy)); - b.ownBest->copy = + b.ownBest->copy = static_cast(Support::mark(ownBestSpace)); } else { delete b.ownBest->copy; @@ -170,7 +170,7 @@ namespace Gecode { namespace Gist { } SpaceNode* ownBest = na.best(idx); - if (copy == NULL && p != NULL && p->copy != NULL && + if (copy == NULL && p != NULL && p->copy != NULL && Support::marked(p->copy)) { // If parent has a working space, steal it copy = p->copy; @@ -181,7 +181,7 @@ namespace Gecode { namespace Gist { if (ownBest != NULL) { ownBest->acquireSpace(na,curBest, c_d, a_d); - Space* ownBestSpace = + Space* ownBestSpace = static_cast(Support::funmark(ownBest->copy)); if (ownBestSpace->status() != SS_SOLVED) { // in the presence of weakly monotonic propagators, we may have to @@ -257,7 +257,7 @@ namespace Gecode { namespace Gist { p->closeChild(na, hasFailedChildren(), hasSolvedChildren()); } } else { - + if (hadSolutions) { setHasSolvedChildren(true); SpaceNode* p = getParent(na); @@ -271,7 +271,7 @@ namespace Gecode { namespace Gist { while (p != NULL && !p->hasFailedChildren()) { p->setHasFailedChildren(true); p = p->getParent(na); - } + } } } diff --git a/gecode/gist/spacenode.hh b/gecode/gist/spacenode.hh index e499682fba..c0977e5954 100644 --- a/gecode/gist/spacenode.hh +++ b/gecode/gist/spacenode.hh @@ -111,7 +111,7 @@ namespace Gecode { namespace Gist { /// Set distance from copy void setDistance(unsigned int d); - + /// Return distance from copy unsigned int getDistance(void) const; diff --git a/gecode/gist/spacenode.hpp b/gecode/gist/spacenode.hpp index 9c5c3964e8..fea3a5310a 100644 --- a/gecode/gist/spacenode.hpp +++ b/gecode/gist/spacenode.hpp @@ -83,7 +83,7 @@ namespace Gecode { namespace Gist { nstatus &= ~( DISTANCEMASK ); nstatus |= d; } - + forceinline unsigned int SpaceNode::getDistance(void) const { return nstatus & DISTANCEMASK; @@ -174,7 +174,7 @@ namespace Gecode { namespace Gist { SpaceNode* p = getParent(na); if (p == NULL) return -1; - for (int i=p->getNumberOfChildren(); i--;) + for (int i=static_cast(p->getNumberOfChildren()); i--;) if (p->getChild(na,i) == this) return i; GECODE_NEVER; diff --git a/gecode/gist/standalone-example/mygist.cpp b/gecode/gist/standalone-example/mygist.cpp index 77c5d5ce50..7bc7a00d9f 100644 --- a/gecode/gist/standalone-example/mygist.cpp +++ b/gecode/gist/standalone-example/mygist.cpp @@ -53,8 +53,8 @@ class TestSpace : public Space { TestSpace(bool share, TestSpace& t) : Space(share, t) { x.update(*this, share, t.x); } - virtual Space* copy(bool share) { - return new TestSpace(share,*this); + virtual Space* copy(bool share) { + return new TestSpace(share,*this); } virtual void print(std::ostream& os) const { os << x << std::endl; diff --git a/gecode/gist/stopbrancher.cpp b/gecode/gist/stopbrancher.cpp index 248645ea5d..1517e8d794 100644 --- a/gecode/gist/stopbrancher.cpp +++ b/gecode/gist/stopbrancher.cpp @@ -73,8 +73,8 @@ namespace Gecode { namespace Gist { return ES_OK; } - void - StopBrancher::print(const Space&, const Gecode::Choice&, + void + StopBrancher::print(const Space&, const Gecode::Choice&, unsigned int, std::ostream&) const { } @@ -90,7 +90,7 @@ namespace Gecode { namespace Gist { StopBrancher::dispose(Space&) { return sizeof(*this); } - + }} // STATISTICS: gist-any diff --git a/gecode/gist/stopbrancher.hh b/gecode/gist/stopbrancher.hh index aa33f017ee..4e8d06eb2c 100644 --- a/gecode/gist/stopbrancher.hh +++ b/gecode/gist/stopbrancher.hh @@ -39,7 +39,7 @@ #include namespace Gecode { namespace Gist { - + /// %Choice for %StopBrancher class GECODE_GIST_EXPORT StopChoice : public Choice { public: @@ -50,7 +50,7 @@ namespace Gecode { namespace Gist { /// Archive into \a e virtual void archive(Archive& e) const; }; - + /// %Brancher that stops exploration in %Gist class StopBrancher : public Brancher { protected: @@ -70,7 +70,7 @@ namespace Gecode { namespace Gist { /// Perform commit for choice \a _c and alternative \a a virtual ExecStatus commit(Space&, const Choice&, unsigned int); /// Print explanation - virtual void print(const Space& home, const Gecode::Choice& c, + virtual void print(const Space& home, const Gecode::Choice& c, unsigned int, std::ostream& o) const; /// Copy brancher @@ -80,7 +80,7 @@ namespace Gecode { namespace Gist { /// Delete brancher and return its size virtual size_t dispose(Space&); }; - + }} // STATISTICS: gist-any diff --git a/gecode/gist/textoutput.cpp b/gecode/gist/textoutput.cpp index 8e846a1c71..d67fa28033 100644 --- a/gecode/gist/textoutput.cpp +++ b/gecode/gist/textoutput.cpp @@ -60,7 +60,7 @@ namespace Gecode { namespace Gist { bf.setBottomMargin(0); editor->textCursor().setBlockFormat(bf); editor->append(buffer); - buffer.clear(); + buffer.clear(); } virtual int overflow(int v = std::char_traits::eof()) { if (v == '\n') { @@ -98,7 +98,7 @@ namespace Gecode { namespace Gist { font.setFamily(fontFamily); font.setFixedPitch(true); font.setPointSize(12); - + editor = new QTextEdit; editor->setFont(font); @@ -167,7 +167,7 @@ namespace Gecode { namespace Gist { if (stayOnTop->isChecked()) { setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); } else { - setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint); + setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint); } move(p); show(); diff --git a/gecode/gist/treecanvas.cpp b/gecode/gist/treecanvas.cpp index 5d69e1c960..62c186af72 100644 --- a/gecode/gist/treecanvas.cpp +++ b/gecode/gist/treecanvas.cpp @@ -237,7 +237,7 @@ namespace Gecode { namespace Gist { static_cast(2*Layout::extent+ root->getShape()->depth()*Layout::dist_y*scale); xtrans = -bb.left+(Layout::extent / 2); - + QSize viewport_size = size(); QAbstractScrollArea* sa = static_cast(parentWidget()->parentWidget()); @@ -285,11 +285,11 @@ namespace Gecode { namespace Gist { void SearcherThread::search(VisualNode* n, bool all, TreeCanvas* ti) { node = n; - + depth = -1; for (VisualNode* p = n; p != NULL; p = p->getParent(*ti->na)) depth++; - + a = all; t = ti; start(); @@ -312,7 +312,7 @@ namespace Gecode { namespace Gist { break; } } - + t->root->layout(*t->na); BoundingBox bb = t->root->getBoundingBox(); @@ -372,7 +372,7 @@ namespace Gecode { namespace Gist { t->mutex.lock(); emit statusChanged(false); - unsigned int kids = + unsigned int kids = node->getNumberOfChildNodes(*t->na, t->curBest, t->stats, t->c_d, t->a_d); if (kids == 0 || node->getStatus() == STOP) { @@ -385,7 +385,7 @@ namespace Gecode { namespace Gist { std::stack stck; stck.push(SearchItem(node,kids)); t->stats.maxDepth = - std::max(static_cast(t->stats.maxDepth), + std::max(static_cast(t->stats.maxDepth), static_cast(depth+stck.size())); VisualNode* sol = NULL; @@ -428,7 +428,7 @@ namespace Gecode { namespace Gist { else if (!a) break; t->stats.maxDepth = - std::max(static_cast(t->stats.maxDepth), + std::max(static_cast(t->stats.maxDepth), static_cast(depth+stck.size())); } } @@ -505,7 +505,7 @@ namespace Gecode { namespace Gist { currentNode->unstopAll(*na); update(); centerCurrentNode(); - emit statusChanged(currentNode, stats, true); + emit statusChanged(currentNode, stats, true); } void @@ -540,7 +540,7 @@ namespace Gecode { namespace Gist { static_cast(p->width()) / (bb.right - bb.left + Layout::extent); double newYScale = - static_cast(p->height()) / (root->getShape()->depth() * + static_cast(p->height()) / (root->getShape()->depth() * Layout::dist_y + 2*Layout::extent); int scale0 = static_cast(std::min(newXScale, newYScale)*100); @@ -634,7 +634,7 @@ namespace Gecode { namespace Gist { switch (currentNode->getStatus()) { case UNDETERMINED: { - unsigned int kids = + unsigned int kids = currentNode->getNumberOfChildNodes(*na,curBest,stats,c_d,a_d); int depth = -1; for (VisualNode* p = currentNode; p != NULL; p=p->getParent(*na)) @@ -691,7 +691,7 @@ namespace Gecode { namespace Gist { // << std::endl; Space* curSpace; - + if (fix) { if (currentNode->isRoot() && currentNode->getStatus() == FAILED) break; @@ -705,7 +705,7 @@ namespace Gecode { namespace Gist { Space* dfsSpace = Gecode::dfs(curSpace); delete curSpace; curSpace = dfsSpace; - } + } } else { if (currentNode->isRoot()) break; @@ -716,7 +716,7 @@ namespace Gecode { namespace Gist { case SS_FAILED: break; case SS_BRANCH: - curSpace->commit(*p->getChoice(), + curSpace->commit(*p->getChoice(), currentNode->getAlternative(*na)); break; default: @@ -764,7 +764,7 @@ namespace Gecode { namespace Gist { if (needCentering) centerCurrentNode(); } - + void TreeCanvas::inspectBeforeFP(void) { inspectCurrentNode(false); @@ -831,7 +831,7 @@ namespace Gecode { namespace Gist { TreeCanvas::reset(void) { QMutexLocker locker(&mutex); Space* rootSpace = - root->getStatus() == FAILED ? NULL : + root->getStatus() == FAILED ? NULL : root->getSpace(*na,curBest,c_d,a_d); if (curBest != NULL) { delete curBest; @@ -866,7 +866,7 @@ namespace Gecode { namespace Gist { if (!currentNode->isBookmarked()) { bool ok; QString text = - QInputDialog::getText(this, "Add bookmark", "Name:", + QInputDialog::getText(this, "Add bookmark", "Name:", QLineEdit::Normal,"",&ok); if (ok) { currentNode->setBookmarked(true); @@ -884,7 +884,7 @@ namespace Gecode { namespace Gist { currentNode->dirtyUp(*na); update(); } - + void TreeCanvas::setPath(void) { QMutexLocker locker(&mutex); @@ -1156,7 +1156,7 @@ namespace Gecode { namespace Gist { static_cast((bb.right-bb.left+Layout::extent)*scale); if (w < sa->viewport()->width()) xoff -= (sa->viewport()->width()-w)/2; - + VisualNode* n; n = root->findNode(*na, static_cast(x/scale-xtrans+xoff), @@ -1365,7 +1365,7 @@ namespace Gecode { namespace Gist { case SS_FAILED: break; case SS_BRANCH: - compareSpace->commit(*p->getChoice(), + compareSpace->commit(*p->getChoice(), n->getAlternative(*na)); break; default: diff --git a/gecode/gist/treecanvas.hh b/gecode/gist/treecanvas.hh index 1599e711df..df80f2d5b5 100644 --- a/gecode/gist/treecanvas.hh +++ b/gecode/gist/treecanvas.hh @@ -96,7 +96,7 @@ namespace Gecode { namespace Gist { public: /// Constructor - TreeCanvas(Space* rootSpace, bool bab, QWidget* parent, + TreeCanvas(Space* rootSpace, bool bab, QWidget* parent, const Options& opt); /// Destructor ~TreeCanvas(void); @@ -192,7 +192,7 @@ namespace Gecode { namespace Gist { void startCompareNodes(void); /// Wait for click on node to compare with current node before fixpoint void startCompareNodesBeforeFP(void); - + /// Re-emit status change information for current node void emitStatusChanged(void); @@ -308,7 +308,7 @@ namespace Gecode { namespace Gist { bool smoothScrollAndZoom; /// Whether to move cursor during search bool moveDuringSearch; - + /// The recomputation distance int c_d; /// The adaptive recomputation distance diff --git a/gecode/gist/visualnode.cpp b/gecode/gist/visualnode.cpp index a93e43153a..6342089c1d 100644 --- a/gecode/gist/visualnode.cpp +++ b/gecode/gist/visualnode.cpp @@ -222,7 +222,7 @@ namespace Gecode { namespace Gist { setStatus(STOP); dirtyUp(na); } - + void VisualNode::unstopAll(const NodeAllocator& na) { UnstopAllCursor c(this,na); @@ -494,7 +494,7 @@ namespace Gecode { namespace Gist { *nextShapeL, nextShapeL->depth()); Layouter::merge(¤tShapeL[0], ¤tShapeL[0], ldepth, - *nextShapeL, nextShapeL->depth(), + *nextShapeL, nextShapeL->depth(), nextAlphaL); ldepth = std::max(ldepth,nextShapeL->depth()); alpha[i].first = nextAlphaL - width; diff --git a/gecode/gist/visualnode.hpp b/gecode/gist/visualnode.hpp index 2490707c4c..d497e2821f 100644 --- a/gecode/gist/visualnode.hpp +++ b/gecode/gist/visualnode.hpp @@ -85,7 +85,7 @@ namespace Gecode { namespace Gist { Shape::allocate(int d) { assert(d >= 1); Shape* ret; - ret = + ret = static_cast(heap.ralloc(sizeof(Shape)+(d-1)*sizeof(Extent))); ret->_depth = d; return ret; diff --git a/gecode/int.hh b/gecode/int.hh index 26d048c45c..72aaeb4e9a 100644 --- a/gecode/int.hh +++ b/gecode/int.hh @@ -55,6 +55,7 @@ #include #include +#include #include /* @@ -160,7 +161,7 @@ namespace Gecode { class IntSetRanges; template class IntSetInit; - + /** * \brief Integer sets * @@ -629,7 +630,7 @@ namespace Gecode { /// Allocate array with \a n elements such that for all \f$0\leq i namespace Gecode { @@ -922,25 +923,51 @@ namespace Gecode { }; /** - * \brief Consistency levels for integer propagators + * \brief Propagation levels for integer propagators * - * The descriptions are meant to be suggestions. It is not + * The descriptions are meant to be approximate. It is not * required that a propagator achieves full domain consistency or * full bounds consistency. It is more like: which level - * of consistency comes closest. + * of consistency comes closest to the level of propagation + * the propagator implements. + * + * If in the description of a constraint below no propagation level + * is mentioned, the propagation level for the constraint is domain + * propagation and the implementation in fact enforces domain + * consistency. * - * If in the description of a constraint below no consistency level - * is mentioned, the propagator for the constraint implements - * domain consistency. * \ingroup TaskModelInt */ - enum IntConLevel { - ICL_VAL, ///< Value propagation or consistency (naive) - ICL_BND, ///< Bounds propagation or consistency - ICL_DOM, ///< Domain propagation or consistency - ICL_DEF ///< The default consistency for a constraint + enum IntPropLevel { + /// Simple propagation levels + IPL_DEF = 0, ///< Default level of propagation + IPL_VAL = 1, ///< Value propagation + IPL_BND = 2, ///< Bounds propagation + IPL_DOM = 3, ///< Domain propagation + /// Preferences: prefer speed or memory + IPL_SPEED = 4, ///< Prefer speed + IPL_MEMORY = 8, ///< Prefer to save memory + /// Options: basic versus advanced propagation + IPL_BASIC = 16, ///< Use basic propagation algorithm + IPL_ADVANCED = 32, ///< Use advanced propagation algorithm + IPL_BASIC_ADVANCED = IPL_BASIC | IPL_ADVANCED ///< Use both }; + /// Extract value, bounds, or domain propagation from propagation level + IntPropLevel vbd(IntPropLevel ipl); + + /// Extract speed or memory from propagation level + IntPropLevel sm(IntPropLevel ipl); + + /// Extract basic or advanced from propagation level + IntPropLevel ba(IntPropLevel ipl); + +} + +#include + +namespace Gecode { + /** * \brief Type of task for scheduling constraints * @@ -979,59 +1006,59 @@ namespace Gecode { /// Propagates \f$x=n\f$ GECODE_INT_EXPORT void dom(Home home, IntVar x, int n, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Propagates \f$ x_i=n\f$ for all \f$0\leq i<|x|\f$ GECODE_INT_EXPORT void dom(Home home, const IntVarArgs& x, int n, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Propagates \f$ l\leq x\leq m\f$ GECODE_INT_EXPORT void dom(Home home, IntVar x, int l, int m, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Propagates \f$ l\leq x_i\leq m\f$ for all \f$0\leq i<|x|\f$ GECODE_INT_EXPORT void dom(Home home, const IntVarArgs& x, int l, int m, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Propagates \f$ x\in s \f$ GECODE_INT_EXPORT void dom(Home home, IntVar x, const IntSet& s, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Propagates \f$ x_i\in s\f$ for all \f$0\leq i<|x|\f$ GECODE_INT_EXPORT void dom(Home home, const IntVarArgs& x, const IntSet& s, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Post domain consistent propagator for \f$ (x=n) \equiv r\f$ GECODE_INT_EXPORT void dom(Home home, IntVar x, int n, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Post domain consistent propagator for \f$ (l\leq x \leq m) \equiv r\f$ GECODE_INT_EXPORT void dom(Home home, IntVar x, int l, int m, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Post domain consistent propagator for \f$ (x \in s) \equiv r\f$ GECODE_INT_EXPORT void dom(Home home, IntVar x, const IntSet& s, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Constrain domain of \a x according to domain of \a d GECODE_INT_EXPORT void dom(Home home, IntVar x, IntVar d, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Constrain domain of \a x according to domain of \a d GECODE_INT_EXPORT void dom(Home home, BoolVar x, BoolVar d, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Constrain domain of \f$ x_i \f$ according to domain of \f$ d_i \f$ for all \f$0\leq i<|x|\f$ GECODE_INT_EXPORT void dom(Home home, const IntVarArgs& x, const IntVarArgs& d, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Constrain domain of \f$ x_i \f$ according to domain of \f$ d_i \f$ for all \f$0\leq i<|x|\f$ GECODE_INT_EXPORT void dom(Home home, const BoolVarArgs& x, const BoolVarArgs& d, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); //@} @@ -1041,76 +1068,76 @@ namespace Gecode { */ /** \brief Post propagator for \f$ x_0 \sim_{irt} x_1\f$ * - * Supports both bounds (\a icl = ICL_BND) and - * domain consistency (\a icl = ICL_DOM, default). + * Supports both bounds (\a ipl = IPL_BND) and + * domain consistency (\a ipl = IPL_DOM, default). * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, IntVar x0, IntRelType irt, IntVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$ x_i \sim_{irt} y \f$ for all \f$0\leq i<|x|\f$ * - * Supports both bounds (\a icl = ICL_BND) and - * domain consistency (\a icl = ICL_DOM, default). + * Supports both bounds (\a ipl = IPL_BND) and + * domain consistency (\a ipl = IPL_DOM, default). * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Propagates \f$ x \sim_{irt} c\f$ * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, IntVar x, IntRelType irt, int c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Propagates \f$ x_i \sim_{irt} c \f$ for all \f$0\leq i<|x|\f$ * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, const IntVarArgs& x, IntRelType irt, int c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$ (x_0 \sim_{irt} x_1)\equiv r\f$ * - * Supports both bounds (\a icl = ICL_BND) and - * domain consistency (\a icl = ICL_DOM, default). + * Supports both bounds (\a ipl = IPL_BND) and + * domain consistency (\a ipl = IPL_DOM, default). * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$(x \sim_{irt} c)\equiv r\f$ * - * Supports both bounds (\a icl = ICL_BND) and - * domain consistency (\a icl = ICL_DOM, default). + * Supports both bounds (\a ipl = IPL_BND) and + * domain consistency (\a ipl = IPL_DOM, default). * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, IntVar x, IntRelType irt, int c, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for relation among elements in \a x. * * States that the elements of \a x are in the following relation: * - if \a r = IRT_LE, \a r = IRT_LQ, \a r = IRT_GR, or \a r = IRT_GQ, * then the elements of \a x are ordered with respect to \a r. - * Supports domain consistency (\a icl = ICL_DOM, default). + * Supports domain consistency (\a ipl = IPL_DOM, default). * - if \a r = IRT_EQ, then all elements of \a x must be equal. - * Supports both bounds (\a icl = ICL_BND) and - * domain consistency (\a icl = ICL_DOM, default). + * Supports both bounds (\a ipl = IPL_BND) and + * domain consistency (\a ipl = IPL_DOM, default). * - if \a r = IRT_NQ, then not all elements of \a x must be equal. - * Supports domain consistency (\a icl = ICL_DOM, default). + * Supports domain consistency (\a ipl = IPL_DOM, default). * * \ingroup TaskModelIntRelInt */ GECODE_INT_EXPORT void rel(Home home, const IntVarArgs& x, IntRelType irt, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for relation between \a x and \a y. * * Note that for the inequality relations this corresponds to * the lexical order between \a x and \a y. * - * Supports both bounds (\a icl = ICL_BND) and - * domain consistency (\a icl = ICL_DOM, default). + * Supports both bounds (\a ipl = IPL_BND) and + * domain consistency (\a ipl = IPL_DOM, default). * * Note that the constraint is also defined if \a x and \a y are of * different size. That means that if \a x and \a y are of different @@ -1120,7 +1147,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, const IntVarArgs& x, IntRelType irt, const IntVarArgs& y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** * \defgroup TaskModelIntRelBool Simple relation constraints over Boolean variables @@ -1131,19 +1158,19 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolVar x0, IntRelType irt, BoolVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for \f$(x_0 \sim_{irt} x_1)\equiv r\f$ * \ingroup TaskModelIntRelBool */ GECODE_INT_EXPORT void rel(Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for \f$ x_i \sim_{irt} y \f$ for all \f$0\leq i<|x|\f$ * \ingroup TaskModelIntRelBool */ GECODE_INT_EXPORT void rel(Home home, const BoolVarArgs& x, IntRelType irt, BoolVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** * \brief Propagates \f$ x \sim_{irt} n\f$ * @@ -1153,7 +1180,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolVar x, IntRelType irt, int n, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** * \brief Post domain consistent propagator for \f$(x \sim_{irt} n)\equiv r\f$ * @@ -1163,7 +1190,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolVar x, IntRelType irt, int n, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** * \brief Propagates \f$ x_i \sim_{irt} n \f$ for all \f$0\leq i<|x|\f$ * @@ -1173,19 +1200,22 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, const BoolVarArgs& x, IntRelType irt, int n, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for relation between \a x and \a y. * * Note that for the inequality relations this corresponds to * the lexical order between \a x and \a y. * - * Throws an exception of type Int::ArgumentSizeMismatch, if - * \a x and \a y are of different size. + * Note that the constraint is also defined if \a x and \a y are of + * different size. That means that if \a x and \a y are of different + * size, then if \a r = IRT_EQ the constraint is false and if + * \a r = IRT_NQ the constraint is subsumed. + * * \ingroup TaskModelIntRelBool */ GECODE_INT_EXPORT void rel(Home home, const BoolVarArgs& x, IntRelType irt, const BoolVarArgs& y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for relation between elements in \a x. * * States that the elements of \a x are in the following relation: @@ -1193,12 +1223,12 @@ namespace Gecode { * then the elements of \a x are ordered with respect to \a r. * - if \a r = IRT_EQ, then all elements of \a x must be equal. * - if \a r = IRT_NQ, then not all elements of \a x must be equal. - * + * * \ingroup TaskModelIntRelBool */ GECODE_INT_EXPORT void rel(Home home, const BoolVarArgs& x, IntRelType irt, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for Boolean operation on \a x0 and \a x1 * * Posts propagator for \f$ x_0 \diamond_{\mathit{o}} x_1 = x_2\f$ @@ -1206,7 +1236,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for Boolean operation on \a x0 and \a x1 * * Posts propagator for \f$ x_0 \diamond_{\mathit{o}} x_1 = n\f$ @@ -1217,7 +1247,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for Boolean operation on \a x * * Posts propagator for \f$ x_0 \diamond_{\mathit{o}} \cdots @@ -1229,7 +1259,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolOpType o, const BoolVarArgs& x, BoolVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for Boolean operation on \a x * * Posts propagator for \f$ x_0 \diamond_{\mathit{o}} \cdots @@ -1244,7 +1274,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void rel(Home home, BoolOpType o, const BoolVarArgs& x, int n, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for Boolean clause with positive variables \a x and negative variables \a y * * Posts propagator for \f$ x_0 \diamond_{\mathit{o}} \cdots @@ -1257,7 +1287,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void clause(Home home, BoolOpType o, const BoolVarArgs& x, const BoolVarArgs& y, - BoolVar z, IntConLevel icl=ICL_DEF); + BoolVar z, IntPropLevel ipl=IPL_DEF); /** \brief Post domain consistent propagator for Boolean clause with positive variables \a x and negative variables \a y * * Posts propagator for \f$ x_0 \diamond_{\mathit{o}} \cdots @@ -1273,7 +1303,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void clause(Home home, BoolOpType o, const BoolVarArgs& x, const BoolVarArgs& y, - int n, IntConLevel icl=ICL_DEF); + int n, IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for if-then-else constraint * * Posts propagator for \f$ z = b ? x : y \f$ @@ -1282,7 +1312,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void ite(Home home, BoolVar b, IntVar x, IntVar y, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** @@ -1291,24 +1321,24 @@ namespace Gecode { */ /** \brief Post propagator that \a s precedes \a t in \a x * - * This constraint enforces that \f$x_0\neq t\f$ and + * This constraint enforces that \f$x_0\neq t\f$ and * \f$x_j=t \to \bigvee_{0\leq i |x|\f$. */ GECODE_INT_EXPORT void - sequence(Home home, const IntVarArgs& x, const IntSet& s, - int q, int l, int u, IntConLevel icl=ICL_DEF); - + sequence(Home home, const IntVarArgs& x, const IntSet& s, + int q, int l, int u, IntPropLevel ipl=IPL_DEF); + /** \brief Post propagator for \f$\operatorname{sequence}(x,s,q,l,u)\f$ * * Posts a domain consistent propagator for the constraint - * \f$\bigwedge_{i=0}^{|x|-q} + * \f$\bigwedge_{i=0}^{|x|-q} * \operatorname{among}(\langle x_i,\ldots,x_{i+q-1}\rangle,s,l,u)\f$ * where the among constraint is defined as * \f$l\leq\#\{j\in\{i,\ldots,i+q-1\}\;|\;x_j\in s\} \leq u\f$. @@ -1853,8 +1915,8 @@ namespace Gecode { * - Of type Int::OutOfRange, if \f$q < 1 \vee q > |x|\f$. */ GECODE_INT_EXPORT void - sequence(Home home, const BoolVarArgs& x, const IntSet& s, - int q, int l, int u, IntConLevel icl=ICL_DEF); + sequence(Home home, const BoolVarArgs& x, const IntSet& s, + int q, int l, int u, IntPropLevel ipl=IPL_DEF); //@} @@ -1971,20 +2033,6 @@ namespace Gecode { int symbol_max(void) const; }; - - /** - * \brief Extensional propagation kind - * - * Signals that a particular kind is used in propagation for - * the implementation of a extensional constraint. - * - */ - enum ExtensionalPropKind { - EPK_DEF, ///< Make a default decision - EPK_SPEED, ///< Prefer speed over memory consumption - EPK_MEMORY ///< Prefer little memory over speed - }; - /** * \brief Post domain consistent propagator for extensional constraint described by a DFA * @@ -1997,7 +2045,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void extensional(Home home, const IntVarArgs& x, DFA d, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** * \brief Post domain consistent propagator for extensional constraint described by a DFA @@ -2011,7 +2059,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void extensional(Home home, const BoolVarArgs& x, DFA d, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Class represeting a set of tuples. * @@ -2071,7 +2119,7 @@ namespace Gecode { /// Create a copy GECODE_INT_EXPORT virtual SharedHandle::Object* copy(void) const; }; - + /// Get implementation TupleSetI* implementation(void); @@ -2100,9 +2148,11 @@ namespace Gecode { /** \brief Post propagator for \f$x\in t\f$. * - * \li Supports implementations optimized for memory (\a epk = \a - * EPK_MEMORY, default) and speed (\a epk = \a EPK_SPEED). - * \li Supports domain consistency (\a icl = ICL_DOM, default) only. + * \li Supports implementations optimized for speed (with propagation + * level \a ipl or-ed with \a IPL_SPEED, default) and memory + * consumption (with propagation level \a ipl or-ed with + * \a IPL_MEMORY). + * \li Supports domain consistency (\a ipl = IPL_DOM, default) only. * \li Throws an exception of type Int::ArgumentSizeMismatch, if * \a x and \a t are of different size. * \li Throws an exception of type Int::NotYetFinalized, if the tuple @@ -2118,13 +2168,15 @@ namespace Gecode { */ GECODE_INT_EXPORT void extensional(Home home, const IntVarArgs& x, const TupleSet& t, - ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x\in t\f$. * - * \li Supports implementations optimized for memory (\a epk = \a - * EPK_MEMORY, default) and speed (\a epk = \a EPK_SPEED). - * \li Supports domain consistency (\a icl = ICL_DOM, default) only. + * \li Supports implementations optimized for speed (with propagation + * level \a ipl or-ed with \a IPL_SPEED, default) and memory + * consumption (with propagation level \a ipl or-ed with + * \a IPL_MEMORY). + * \li Supports domain consistency (\a ipl = IPL_DOM, default) only. * \li Throws an exception of type Int::ArgumentSizeMismatch, if * \a x and \a t are of different size. * \li Throws an exception of type Int::NotYetFinalized, if the tuple @@ -2132,7 +2184,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void extensional(Home home, const BoolVarArgs& x, const TupleSet& t, - ExtensionalPropKind epk=EPK_DEF, IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); //@} } @@ -2150,149 +2202,173 @@ namespace Gecode { //@{ /** \brief Post propagator for \f$ \min\{x_0,x_1\}=x_2\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). */ GECODE_INT_EXPORT void min(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$ \min x=y\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). * * If \a x is empty, an exception of type Int::TooFewArguments is thrown. */ GECODE_INT_EXPORT void min(Home home, const IntVarArgs& x, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$ \max\{x_0,x_1\}=x_2\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). */ GECODE_INT_EXPORT void max(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$ \max x=y\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). * * If \a x is empty, an exception of type Int::TooFewArguments is thrown. */ GECODE_INT_EXPORT void max(Home home, const IntVarArgs& x, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); - /** \brief Post propagator for \f$ \operatorname{argmin} x=y\f$ + /** \brief Post propagator for \f$ \operatorname{argmin}(x)=y\f$ * - * In case of ties, the smallest value for \a y is chosen + * In case of ties, the smallest value for \a y is chosen * (provided \a tiebreak is true). * * If \a x is empty, an exception of type Int::TooFewArguments is thrown. - * If \a y occurs in \a x, an exception of type Int::ArgumentSame + * If \a y occurs in \a x, an exception of type Int::ArgumentSame * is thrown. */ GECODE_INT_EXPORT void argmin(Home home, const IntVarArgs& x, IntVar y, bool tiebreak=true, - IntConLevel icl=ICL_DEF); - /** \brief Post propagator for \f$ \operatorname{argmax} x=y\f$ + IntPropLevel ipl=IPL_DEF); + /** \brief Post propagator for \f$ \operatorname{argmin}(x)-o=y\f$ * * In case of ties, the smallest value for \a y is chosen * (provided \a tiebreak is true). * * If \a x is empty, an exception of type Int::TooFewArguments is thrown. - * If \a y occurs in \a x, an exception of type Int::ArgumentSame + * If \a y occurs in \a x, an exception of type Int::ArgumentSame + * is thrown. + */ + GECODE_INT_EXPORT void + argmin(Home home, const IntVarArgs& x, int o, IntVar y, bool tiebreak=true, + IntPropLevel ipl=IPL_DEF); + /** \brief Post propagator for \f$ \operatorname{argmax}(x)=y\f$ + * + * In case of ties, the smallest value for \a y is chosen + * (provided \a tiebreak is true). + * + * If \a x is empty, an exception of type Int::TooFewArguments is thrown. + * If \a y occurs in \a x, an exception of type Int::ArgumentSame * is thrown. */ GECODE_INT_EXPORT void argmax(Home home, const IntVarArgs& x, IntVar y, bool tiebreak=true, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); + /** \brief Post propagator for \f$ \operatorname{argmax}(x)-o=y\f$ + * + * In case of ties, the smallest value for \a y is chosen + * (provided \a tiebreak is true). + * + * If \a x is empty, an exception of type Int::TooFewArguments is thrown. + * If \a y occurs in \a x, an exception of type Int::ArgumentSame + * is thrown. + */ + GECODE_INT_EXPORT void + argmax(Home home, const IntVarArgs& x, int o, IntVar y, bool tiebreak=true, + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$ |x_0|=x_1\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports value propagation (\a ipl = IPL_VAL), bounds consistency + * (\a ipl = IPL_BND, default), and domain consistency (\a ipl = IPL_DOM). */ GECODE_INT_EXPORT void abs(Home home, IntVar x0, IntVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x_0\cdot x_1=x_2\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). */ GECODE_INT_EXPORT void mult(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x_0\ \mathrm{div}\ x_1=x_2 \land x_0\ \mathrm{mod}\ x_1 = x_3\f$ * - * Supports bounds consistency (\a icl = ICL_BND, default). + * Supports bounds consistency (\a ipl = IPL_BND, default). */ GECODE_INT_EXPORT void divmod(Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x_0\ \mathrm{div}\ x_1=x_2\f$ * - * Supports bounds consistency (\a icl = ICL_BND, default). + * Supports bounds consistency (\a ipl = IPL_BND, default). */ GECODE_INT_EXPORT void div(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x_0\ \mathrm{mod}\ x_1=x_2\f$ * - * Supports bounds consistency (\a icl = ICL_BND, default). + * Supports bounds consistency (\a ipl = IPL_BND, default). */ GECODE_INT_EXPORT void mod(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x_0^2=x_1\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). */ GECODE_INT_EXPORT void sqr(Home home, IntVar x0, IntVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\lfloor\sqrt{x_0}\rfloor=x_1\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). */ GECODE_INT_EXPORT void sqrt(Home home, IntVar x0, IntVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$x_0^n=x_1\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). * * Throws an exception of type Int::OutOfLimits, if \a n is * negative. */ GECODE_INT_EXPORT void pow(Home home, IntVar x0, int n, IntVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\lfloor\sqrt[n]{x_0}\rfloor=x_1\f$ * - * Supports both bounds consistency (\a icl = ICL_BND, default) - * and domain consistency (\a icl = ICL_DOM). + * Supports both bounds consistency (\a ipl = IPL_BND, default) + * and domain consistency (\a ipl = IPL_DOM). * * Throws an exception of type Int::OutOfLimits, if \a n is * not strictly positive. */ GECODE_INT_EXPORT void nroot(Home home, IntVar x0, int n, IntVar x1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); //@} @@ -2330,28 +2406,28 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntVarArgs& x, IntRelType irt, int c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\f$ * \ingroup TaskModelIntLI */ GECODE_INT_EXPORT void linear(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r\f$ * \ingroup TaskModelIntLI */ GECODE_INT_EXPORT void linear(Home home, const IntVarArgs& x, IntRelType irt, int c, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r\f$ * \ingroup TaskModelIntLI */ GECODE_INT_EXPORT void linear(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2361,7 +2437,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, int c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2371,7 +2447,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2381,7 +2457,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, int c, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2391,7 +2467,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, IntVar y, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** @@ -2424,28 +2500,28 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const BoolVarArgs& x, IntRelType irt, int c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} c\right)\equiv r\f$ * \ingroup TaskModelIntLB */ GECODE_INT_EXPORT void linear(Home home, const BoolVarArgs& x, IntRelType irt, int c, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\f$ * \ingroup TaskModelIntLB */ GECODE_INT_EXPORT void linear(Home home, const BoolVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}x_i\sim_{irt} y\right)\equiv r\f$ * \ingroup TaskModelIntLB */ GECODE_INT_EXPORT void linear(Home home, const BoolVarArgs& x, IntRelType irt, IntVar y, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2455,7 +2531,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, int c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} c\right)\equiv r\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2465,7 +2541,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, int c, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2475,7 +2551,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for \f$\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{irt} y\right)\equiv r\f$ * * Throws an exception of type Int::ArgumentSizeMismatch, if @@ -2485,7 +2561,7 @@ namespace Gecode { GECODE_INT_EXPORT void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, IntVar y, Reify r, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** @@ -2511,14 +2587,14 @@ namespace Gecode { * the same size. * - Of type Int::ArgumentSame if \a l and \a b share unassigned variables. * - Of type Int::OutOfLimits if \a s contains a negative number. - * + * * \ingroup TaskModelIntBinPacking */ GECODE_INT_EXPORT void - binpacking(Home home, - const IntVarArgs& l, + binpacking(Home home, + const IntVarArgs& l, const IntVarArgs& b, const IntArgs& s, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /* \brief Post propagator for multi-dimensional bin packing * * In the following \a n refers to the number of items and \a m @@ -2541,7 +2617,7 @@ namespace Gecode { * simple and effective decomposition for the multidimensional * binpacking constraint. CP 2013, pages 356--364. * - * Posting the constraint returns a maximal set containing conflicting + * Posting the constraint returns a maximal set containing conflicting * items that require pairwise different bins. * * Note that posting the constraint has exponential complexity in the @@ -2554,14 +2630,14 @@ namespace Gecode { * and \f$|c|=d\f$. * - Of type Int::ArgumentSame if \a l and \a b share unassigned variables. * - Of type Int::OutOfLimits if \a s or \a c contains a negative number. - * + * * \ingroup TaskModelIntBinPacking */ GECODE_INT_EXPORT IntSet binpacking(Home home, int d, - const IntVarArgs& l, const IntVarArgs& b, + const IntVarArgs& l, const IntVarArgs& b, const IntArgs& s, const IntArgs& c, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** @@ -2574,82 +2650,82 @@ namespace Gecode { * * Propagate that no two rectangles as described by the coordinates * \a x, and \a y, widths \a w, and heights \a h overlap. - * + * * Throws the following exceptions: * - Of type Int::ArgumentSizeMismatch if \a x, \a w, \a y, or \a h * are not of the same size. * - Of type Int::OutOfLimits if \a w or \a h contain a negative number. - * + * * \ingroup TaskModelIntGeoPacking */ GECODE_INT_EXPORT void - nooverlap(Home home, + nooverlap(Home home, const IntVarArgs& x, const IntArgs& w, const IntVarArgs& y, const IntArgs& h, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for rectangle packing * * Propagate that no two rectangles as described by the coordinates * \a x, and \a y, widths \a w, and heights \a h overlap. The rectangles * can be optional, as described by the Boolean variables \a o. - * + * * Throws the following exceptions: * - Of type Int::ArgumentSizeMismatch if \a x, \a w, \a y, \a h, or \a o * are not of the same size. * - Of type Int::OutOfLimits if \a w or \a h contain a negative number. - * + * * \ingroup TaskModelIntGeoPacking */ GECODE_INT_EXPORT void - nooverlap(Home home, + nooverlap(Home home, const IntVarArgs& x, const IntArgs& w, const IntVarArgs& y, const IntArgs& h, const BoolVarArgs& o, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for rectangle packing * * Propagate that no two rectangles as described by the start coordinates * \a x0 and \a y0, widths \a w and heights \a h, and end coordinates * \a x1 and \a y1 overlap. - * + * * Note that the relations \f$x0_i+w_i=x1_i\f$ and \f$y0_i+h_i=y1_i\f$ are * not propagated (for \f$0\leq i<|x0|\f$). That is, additional constraints * must be posted to enforce that relation. * * Throws the following exceptions: - * - Of type Int::ArgumentSizeMismatch if \a x0, \a x1, \a w, + * - Of type Int::ArgumentSizeMismatch if \a x0, \a x1, \a w, * \a y0, \a y1, or \a h are not of the same size. - * + * * \ingroup TaskModelIntGeoPacking */ GECODE_INT_EXPORT void - nooverlap(Home home, + nooverlap(Home home, const IntVarArgs& x0, const IntVarArgs& w, const IntVarArgs& x1, const IntVarArgs& y0, const IntVarArgs& h, const IntVarArgs& y1, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator for rectangle packing * * Propagate that no two rectangles as described by the start coordinates * \a x0 and \a y0, widths \a w and heights \a h, and end coordinates - * \a x1 and \a y1 overlap. The rectangles can be optional, as described + * \a x1 and \a y1 overlap. The rectangles can be optional, as described * by the Boolean variables \a o. - * + * * Note that the relations \f$x0_i+w_i=x1_i\f$ and \f$y0_i+h_i=y1_i\f$ are * not propagated (for \f$0\leq i<|x0|\f$). That is, additional constraints * must be posted to enforce that relation. * * Throws the following exceptions: - * - Of type Int::ArgumentSizeMismatch if \a x0, \a x1, \a w, + * - Of type Int::ArgumentSizeMismatch if \a x0, \a x1, \a w, * \a y0, \a y1, or \a h are not of the same size. - * + * * \ingroup TaskModelIntGeoPacking */ GECODE_INT_EXPORT void - nooverlap(Home home, + nooverlap(Home home, const IntVarArgs& x0, const IntVarArgs& w, const IntVarArgs& x1, const IntVarArgs& y0, const IntVarArgs& h, const IntVarArgs& y1, const BoolVarArgs& o, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** @@ -2692,9 +2768,9 @@ namespace Gecode { * \param at_most \a at_most tells if the amount of resources used * for a machine should be less than the limit (\a at_most * = true) or greater than the limit (\a at_most = false) - * \param icl Supports value-consistency only (\a icl = ICL_VAL, default). + * \param ipl Supports value-consistency only (\a ipl = IPL_VAL, default). * - * \exception Int::ArgumentSizeMismatch thrown if the sizes + * \exception Int::ArgumentSizeMismatch thrown if the sizes * of the arguments representing tasks does not match. * \exception Int::OutOfLimits thrown if any numerical argument is * larger than Int::Limits::max or less than @@ -2705,7 +2781,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2715,7 +2791,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2725,7 +2801,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2735,7 +2811,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2745,7 +2821,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2755,7 +2831,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2765,7 +2841,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for the cumulatives constraint. * * \copydoc cumulatives() @@ -2775,19 +2851,27 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on unary resources * * Schedule tasks with start times \a s and processing times \a p * on a unary resource. The propagator uses the algorithms from: - * Petr Vilím, Global Constraints in Scheduling, PhD thesis, + * Petr Vilím, Global Constraints in Scheduling, PhD thesis, * Charles University, Prague, Czech Republic, 2007. - * - * The propagator performs overload checking, detectable precendence - * propagation, not-first-not-last propagation, and edge finding. * - * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking, + * detectable precendence propagation, not-first-not-last propagation, + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * + * Posting the constraint might throw the following exceptions: + * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s * and \a p are of different size. * - Throws an exception of type Int::ArgumentSame, if \a s contains * the same unassigned variable multiply. @@ -2797,20 +2881,28 @@ namespace Gecode { */ GECODE_INT_EXPORT void unary(Home home, const IntVarArgs& s, const IntArgs& p, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on unary resources * * Schedule optional tasks with start times \a s, processing times \a p, * and whether a task is mandatory \a m (a task is mandatory if the - * Boolean variable is 1) on a unary resource. The propagator uses the + * Boolean variable is 1) on a unary resource. The propagator uses the * algorithms from: - * Petr Vilím, Global Constraints in Scheduling, PhD thesis, + * Petr Vilím, Global Constraints in Scheduling, PhD thesis, * Charles University, Prague, Czech Republic, 2007. - * - * The propagator performs overload checking, detectable precendence - * propagation, not-first-not-last propagation, and edge finding. * + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking, + * detectable precendence propagation, not-first-not-last propagation, + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * + * Posting the constraint might throw the following exceptions: * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s, * \a p, or \a m are of different size. * - Throws an exception of type Int::ArgumentSame, if \a s contains @@ -2820,32 +2912,40 @@ namespace Gecode { * an overflow. */ GECODE_INT_EXPORT void - unary(Home home, const IntVarArgs& s, const IntArgs& p, - const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + unary(Home home, const IntVarArgs& s, const IntArgs& p, + const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on unary resources * * Schedule tasks with flexible times \a flex and fixed times \a fix * on a unary resource. For each * task, it depends on \a t how the flexible and fix times are interpreted: - * - If t[i] is TT_FIXP, then + * - If t[i] is TT_FIXP, then * flex[i] is the start time and fix[i] is the * processing time. - * - If t[i] is TT_FIXS, then + * - If t[i] is TT_FIXS, then * flex[i] is the end time and fix[i] is the * start time. - * - If t[i] is TT_FIXE, then + * - If t[i] is TT_FIXE, then * flex[i] is the start time and fix[i] is the * end time. * * The propagator uses the algorithms from: - * Petr Vilím, Global Constraints in Scheduling, PhD thesis, + * Petr Vilím, Global Constraints in Scheduling, PhD thesis, * Charles University, Prague, Czech Republic, 2007. - * - * The propagator performs overload checking, detectable precendence - * propagation, not-first-not-last propagation, and edge finding. * - * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking, + * detectable precendence propagation, not-first-not-last propagation, + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * + * Posting the constraint might throw the following exceptions: + * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s * and \a p are of different size. * - Throws an exception of type Int::OutOfLimits, if \a p contains * an integer that is negative for a task with type TT_FIXP @@ -2853,7 +2953,7 @@ namespace Gecode { */ GECODE_INT_EXPORT void unary(Home home, const TaskTypeArgs& t, - const IntVarArgs& flex, const IntArgs& fix, IntConLevel icl=ICL_DEF); + const IntVarArgs& flex, const IntArgs& fix, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on unary resources * @@ -2861,24 +2961,32 @@ namespace Gecode { * and whether a task is mandatory \a m (a task is mandatory if the * Boolean variable is 1) on a unary resource. For each * task, it depends on \a t how the flexible and fix times are interpreted: - * - If t[i] is TT_FIXP, then + * - If t[i] is TT_FIXP, then * flex[i] is the start time and fix[i] is the * processing time. - * - If t[i] is TT_FIXS, then + * - If t[i] is TT_FIXS, then * flex[i] is the end time and fix[i] is the * start time. - * - If t[i] is TT_FIXE, then + * - If t[i] is TT_FIXE, then * flex[i] is the start time and fix[i] is the * end time. * - * The propagator uses the + * The propagator uses the * algorithms from: - * Petr Vilím, Global Constraints in Scheduling, PhD thesis, + * Petr Vilím, Global Constraints in Scheduling, PhD thesis, * Charles University, Prague, Czech Republic, 2007. - * - * The propagator performs overload checking, detectable precendence - * propagation, not-first-not-last propagation, and edge finding. * + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking, + * detectable precendence propagation, not-first-not-last propagation, + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * + * Posting the constraint might throw the following exceptions: * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s, * \a p, or \a m are of different size. * - Throws an exception of type Int::OutOfLimits, if \a p contains @@ -2888,85 +2996,109 @@ namespace Gecode { GECODE_INT_EXPORT void unary(Home home, const TaskTypeArgs& t, const IntVarArgs& flex, const IntArgs& fix, - const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on unary resources * * Schedule tasks with start times \a s, processing times \a p, and * end times \a e * on a unary resource. The propagator uses the algorithms from: - * Petr Vilím, Global Constraints in Scheduling, PhD thesis, + * Petr Vilím, Global Constraints in Scheduling, PhD thesis, * Charles University, Prague, Czech Republic, 2007. - * + * * The propagator does not enforce \f$s_i+p_i=e_i\f$, this constraint * has to be posted in addition to ensure consistency of the task bounds. * - * The propagator performs overload checking, detectable precendence - * propagation, not-first-not-last propagation, and edge finding. + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking, + * detectable precendence propagation, not-first-not-last propagation, + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. * * The processing times are constrained to be non-negative. * - * Throws an exception of type Int::ArgumentSizeMismatch, if \a s + * Throws an exception of type Int::ArgumentSizeMismatch, if \a s * and \a p are of different size. */ GECODE_INT_EXPORT void - unary(Home home, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, IntConLevel icl=ICL_DEF); + unary(Home home, const IntVarArgs& s, const IntVarArgs& p, + const IntVarArgs& e, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on unary resources * * Schedule optional tasks with start times \a s, processing times \a p, * end times \a e, * and whether a task is mandatory \a m (a task is mandatory if the - * Boolean variable is 1) on a unary resource. The propagator uses the + * Boolean variable is 1) on a unary resource. The propagator uses the * algorithms from: - * Petr Vilím, Global Constraints in Scheduling, PhD thesis, + * Petr Vilím, Global Constraints in Scheduling, PhD thesis, * Charles University, Prague, Czech Republic, 2007. - * + * + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking, + * detectable precendence propagation, not-first-not-last propagation, + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * * The propagator does not enforce \f$s_i+p_i=e_i\f$, this constraint * has to be posted in addition to ensure consistency of the task bounds. * * The processing times are constrained to be non-negative. * - * The propagator performs overload checking, detectable precendence - * propagation, not-first-not-last propagation, and edge finding. - * * Throws an exception of type Int::ArgumentSizeMismatch, if \a s, * \a p, or \a m are of different size. */ GECODE_INT_EXPORT void unary(Home home, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + const IntVarArgs& e, const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); + + /** \brief Post propagators for scheduling tasks on cumulative resources * * Schedule tasks with flexible times \a flex, fixed times \a fix, and * use capacity \a u on a cumulative resource with capacity \a c. For each * task, it depends on \a t how the flexible and fix times are interpreted: - * - If t[i] is TT_FIXP, then + * - If t[i] is TT_FIXP, then * flex[i] is the start time and fix[i] is the * processing time. - * - If t[i] is TT_FIXS, then + * - If t[i] is TT_FIXS, then * flex[i] is the end time and fix[i] is the * start time. - * - If t[i] is TT_FIXE, then + * - If t[i] is TT_FIXE, then * flex[i] is the start time and fix[i] is the * end time. * - * The propagator performs time-tabling, overload checking, and - * edge-finding. It uses algorithms taken from: + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. * - * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative - * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume + * The propagator uses algorithms taken from: + * + * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative + * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume * 5547 of LNCS, pages 294-308. Springer, 2009. * * and * - * Petr Vilím, Edge finding filtering algorithm for discrete cumulative - * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, + * Petr Vilím, Edge finding filtering algorithm for discrete cumulative + * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, * pages 802-816. Springer, 2009. * - * - Throws an exception of type Int::ArgumentSizeMismatch, if \a t, \a s + * - Throws an exception of type Int::ArgumentSizeMismatch, if \a t, \a s * \a p, or \a u are of different size. * - Throws an exception of type Int::OutOfLimits, if \a p, \a u, or \a c * contain an integer that is not nonnegative, or that could generate @@ -2975,49 +3107,57 @@ namespace Gecode { GECODE_INT_EXPORT void cumulative(Home home, int c, const TaskTypeArgs& t, const IntVarArgs& flex, const IntArgs& fix, const IntArgs& u, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); + - /** \brief Post propagators for scheduling tasks on cumulative resources * - * \copydoc cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel) + * \copydoc cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,IntPropLevel) */ GECODE_INT_EXPORT void cumulative(Home home, IntVar c, const TaskTypeArgs& t, const IntVarArgs& flex, const IntArgs& fix, const IntArgs& u, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on cumulative resources * * Schedule tasks with flexible times \a flex, fixed times \a fix, - * use capacity \a u, and whether a task is mandatory \a m (a task is - * mandatory if the Boolean variable is 1) on a cumulative resource with + * use capacity \a u, and whether a task is mandatory \a m (a task is + * mandatory if the Boolean variable is 1) on a cumulative resource with * capacity \a c. For each * task, it depends on \a t how the flexible and fix times are interpreted: - * - If t[i] is TT_FIXP, then + * - If t[i] is TT_FIXP, then * flex[i] is the start time and fix[i] is the * processing time. - * - If t[i] is TT_FIXS, then + * - If t[i] is TT_FIXS, then * flex[i] is the end time and fix[i] is the * start time. - * - If t[i] is TT_FIXE, then + * - If t[i] is TT_FIXE, then * flex[i] is the start time and fix[i] is the * end time. * - * The propagator performs time-tabling, overload checking, and - * edge-finding. It uses algorithms taken from: + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * + * The propagator uses algorithms taken from: * - * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative - * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume + * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative + * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume * 5547 of LNCS, pages 294-308. Springer, 2009. * * and * - * Petr Vilím, Edge finding filtering algorithm for discrete cumulative - * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, + * Petr Vilím, Edge finding filtering algorithm for discrete cumulative + * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, * pages 802-816. Springer, 2009. * - * - Throws an exception of type Int::ArgumentSizeMismatch, if \a t, \a s + * - Throws an exception of type Int::ArgumentSizeMismatch, if \a t, \a s * \a p, or \a u are of different size. * - Throws an exception of type Int::OutOfLimits, if \a p, \a u, or \a c * contain an integer that is not nonnegative, or that could generate @@ -3026,35 +3166,43 @@ namespace Gecode { GECODE_INT_EXPORT void cumulative(Home home, int c, const TaskTypeArgs& t, const IntVarArgs& flex, const IntArgs& fix, const IntArgs& u, - const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on cumulative resources - * \copydoc cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel) + * \copydoc cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntPropLevel) */ GECODE_INT_EXPORT void cumulative(Home home, IntVar c, const TaskTypeArgs& t, const IntVarArgs& flex, const IntArgs& fix, const IntArgs& u, - const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on cumulative resources * * Schedule tasks with start times \a s, processing times \a p, and * use capacity \a u on a cumulative resource with capacity \a c. * - * The propagator performs time-tabling, overload checking, and - * edge-finding. It uses algorithms taken from: + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. * - * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative - * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume + * The propagator uses algorithms taken from: + * + * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative + * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume * 5547 of LNCS, pages 294-308. Springer, 2009. * * and * - * Petr Vilím, Edge finding filtering algorithm for discrete cumulative - * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, + * Petr Vilím, Edge finding filtering algorithm for discrete cumulative + * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, * pages 802-816. Springer, 2009. * - * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s + * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s * \a p, or \a u are of different size. * - Throws an exception of type Int::OutOfLimits, if \a p, \a u, or \a c * contain an integer that is not nonnegative, or that could generate @@ -3062,33 +3210,41 @@ namespace Gecode { */ GECODE_INT_EXPORT void cumulative(Home home, int c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, IntConLevel icl=ICL_DEF); + const IntArgs& u, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on cumulative resources - * \copydoc cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel) + * \copydoc cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,IntPropLevel) */ GECODE_INT_EXPORT void cumulative(Home home, IntVar c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, IntConLevel icl=ICL_DEF); + const IntArgs& u, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on cumulative resources * * Schedule optional tasks with start times \a s, processing times \a p, - * used capacity \a u, and whether a task is mandatory \a m (a task is - * mandatory if the Boolean variable is 1) on a cumulative resource + * used capacity \a u, and whether a task is mandatory \a m (a task is + * mandatory if the Boolean variable is 1) on a cumulative resource * with capacity \a c. - * - * The propagator performs time-tabling, overload checking, and - * edge-finding. It uses algorithms taken from: * - * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative - * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. + * + * The propagator uses algorithms taken from: + * + * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative + * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume * 5547 of LNCS, pages 294-308. Springer, 2009. * * and * - * Petr Vilím, Edge finding filtering algorithm for discrete cumulative - * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, + * Petr Vilím, Edge finding filtering algorithm for discrete cumulative + * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, * pages 802-816. Springer, 2009. * * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s, @@ -3098,15 +3254,15 @@ namespace Gecode { * an overflow. */ GECODE_INT_EXPORT void - cumulative(Home home, int c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + cumulative(Home home, int c, const IntVarArgs& s, const IntArgs& p, + const IntArgs& u, const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on cumulative resources - * \copydoc cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel) + * \copydoc cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntPropLevel) */ GECODE_INT_EXPORT void - cumulative(Home home, IntVar c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, const BoolVarArgs& m, IntConLevel icl=ICL_DEF); + cumulative(Home home, IntVar c, const IntVarArgs& s, const IntArgs& p, + const IntArgs& u, const BoolVarArgs& m, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on cumulative resources * @@ -3117,20 +3273,28 @@ namespace Gecode { * The propagator does not enforce \f$s_i+p_i=e_i\f$, this constraint * has to be posted in addition to ensure consistency of the task bounds. * - * The propagator performs time-tabling, overload checking, and - * edge-finding. It uses algorithms taken from: + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. * - * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative - * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume + * The propagator uses algorithms taken from: + * + * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative + * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume * 5547 of LNCS, pages 294-308. Springer, 2009. * * and * - * Petr Vilím, Edge finding filtering algorithm for discrete cumulative - * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, + * Petr Vilím, Edge finding filtering algorithm for discrete cumulative + * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, * pages 802-816. Springer, 2009. * - * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s + * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s * \a p, or \a u are of different size. * - Throws an exception of type Int::OutOfLimits, if \a u or \a c * contain an integer that is not nonnegative, or that could generate @@ -3138,37 +3302,45 @@ namespace Gecode { */ GECODE_INT_EXPORT void cumulative(Home home, int c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, IntConLevel icl=ICL_DEF); + const IntVarArgs& e, const IntArgs& u, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling tasks on cumulative resources - * \copydoc cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntConLevel) + * \copydoc cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntPropLevel) */ GECODE_INT_EXPORT void cumulative(Home home, IntVar c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, IntConLevel icl=ICL_DEF); + const IntVarArgs& e, const IntArgs& u, IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on cumulative resources * * Schedule optional tasks with start times \a s, processing times \a p, * end times \a e, - * used capacity \a u, and whether a task is mandatory \a m (a task is - * mandatory if the Boolean variable is 1) on a cumulative resource + * used capacity \a u, and whether a task is mandatory \a m (a task is + * mandatory if the Boolean variable is 1) on a cumulative resource * with capacity \a c. - * + * * The propagator does not enforce \f$s_i+p_i=e_i\f$, this constraint * has to be posted in addition to ensure consistency of the task bounds. * - * The propagator performs time-tabling, overload checking, and - * edge-finding. It uses algorithms taken from: + * The propagator performs propagation that depends on the integer + * propagation level \a ipl as follows: + * - If \a IPL_BASIC is set, the propagator performs overload checking + * and time-tabling propagation. + * - If \a IPL_ADVANCED is set, the propagator performs overload checking + * and edge finding. + * - If both flags are combined, all the above listed propagation is + * performed. * - * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative - * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume + * The propagator uses algorithms taken from: + * + * Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative + * Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume * 5547 of LNCS, pages 294-308. Springer, 2009. * * and * - * Petr Vilím, Edge finding filtering algorithm for discrete cumulative - * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, + * Petr Vilím, Edge finding filtering algorithm for discrete cumulative + * resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, * pages 802-816. Springer, 2009. * * - Throws an exception of type Int::ArgumentSizeMismatch, if \a s, @@ -3178,17 +3350,17 @@ namespace Gecode { * an overflow. */ GECODE_INT_EXPORT void - cumulative(Home home, int c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, - IntConLevel icl=ICL_DEF); + cumulative(Home home, int c, const IntVarArgs& s, const IntVarArgs& p, + const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, + IntPropLevel ipl=IPL_DEF); /** \brief Post propagators for scheduling optional tasks on cumulative resources - * \copydoc cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel) + * \copydoc cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntPropLevel) */ GECODE_INT_EXPORT void - cumulative(Home home, IntVar c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, - IntConLevel icl=ICL_DEF); + cumulative(Home home, IntVar c, const IntVarArgs& s, const IntVarArgs& p, + const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, + IntPropLevel ipl=IPL_DEF); //@} @@ -3202,78 +3374,78 @@ namespace Gecode { * \a x forms a circuit if the graph with edges \f$i\to j\f$ where * \f$x_i=j\f$ has a single cycle covering all nodes. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. */ GECODE_INT_EXPORT void circuit(Home home, const IntVarArgs& x, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a circuit * * \a x forms a circuit if the graph with edges \f$i\to j\f$ where * \f$x_{i-\text{offset}}=j\f$ has a single cycle covering all nodes. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::OutOfLimits, if \a offset is negative. */ GECODE_INT_EXPORT void circuit(Home home, int offset, const IntVarArgs& x, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a circuit with costs \a y and \a z * * \a x forms a circuit if the graph with edges \f$i\to j\f$ where * \f$x_i=j\f$ has a single cycle covering all nodes. * The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire circuit. The variables \a y define the cost * of the edge in \a x: that is, if \f$x_i=j\f$ then \f$y_i=c_{i*n+j}\f$. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \a x and \a y do not have the same * size or if \f$|x|\times|x|\neq|c|\f$. */ GECODE_INT_EXPORT void - circuit(Home home, + circuit(Home home, const IntArgs& c, const IntVarArgs& x, const IntVarArgs& y, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a circuit with costs \a y and \a z * * \a x forms a circuit if the graph with edges \f$i\to j\f$ where * \f$x_{i-\text{offset}}=j\f$ has a single cycle covering all nodes. * The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire circuit. The variables \a y define the cost * of the edge in \a x: that is, if \f$x_i=j\f$ then \f$y_i=c_{i*n+j}\f$. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \a x and \a y do not have the same @@ -3281,141 +3453,141 @@ namespace Gecode { * - Int::OutOfLimits, if \a offset is negative. */ GECODE_INT_EXPORT void - circuit(Home home, + circuit(Home home, const IntArgs& c, int offset, const IntVarArgs& x, const IntVarArgs& y, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a circuit with cost \a z * * \a x forms a circuit if the graph with edges \f$i\to j\f$ where * \f$x_i=j\f$ has a single cycle covering all nodes. The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire circuit. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \f$|x|\times|x|\neq|c|\f$. */ GECODE_INT_EXPORT void - circuit(Home home, + circuit(Home home, const IntArgs& c, const IntVarArgs& x, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a circuit with cost \a z * * \a x forms a circuit if the graph with edges \f$i\to j\f$ where * \f$x_{i-\text{offset}}=j\f$ has a single cycle covering all nodes. * The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire circuit. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \f$|x|\times|x|\neq|c|\f$. * - Int::OutOfLimits, if \a offset is negative. */ GECODE_INT_EXPORT void - circuit(Home home, + circuit(Home home, const IntArgs& c, int offset, const IntVarArgs& x, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a Hamiltonian path * - * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ + * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ * where \f$x_i=j\f$ visits all nodes exactly once. The path starts at * node \a s and the successor of the last node \a e is equal to \f$|x|\f$. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. */ GECODE_INT_EXPORT void path(Home home, const IntVarArgs& x, IntVar s, IntVar e, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a Hamiltonian path * - * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ - * where \f$x_{i-\text{offset}}=j\f$ visits all nodes exactly once. - * The path starts at node \a s and the successor of the last node \a e + * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ + * where \f$x_{i-\text{offset}}=j\f$ visits all nodes exactly once. + * The path starts at node \a s and the successor of the last node \a e * is equal to \f$|x|+\text{offset}\f$. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::OutOfLimits, if \a offset is negative. */ GECODE_INT_EXPORT void path(Home home, int offset, const IntVarArgs& x, IntVar s, IntVar e, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a Hamiltonian path with costs \a y and \a z * - * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ + * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ * where \f$x_i=j\f$ visits all nodes exactly once. The path starts at node - * \a s and the successor of + * \a s and the successor of * the last node \a e is equal to \f$|x|\f$. The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire path. The variables \a y define the cost * of the edge in \a x: that is, if \f$x_i=j\f$ then \f$y_i=c_{i*n+j}\f$. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \a x and \a y do not have the same * size or if \f$|x|\times|x|\neq|c|\f$. */ GECODE_INT_EXPORT void - path(Home home, + path(Home home, const IntArgs& c, const IntVarArgs& x, IntVar s, IntVar e, const IntVarArgs& y, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a Hamiltonian path with costs \a y and \a z * - * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ - * where \f$x_{i-\text{offset}}=j\f$ visits all nodes exactly once. - * The path starts at node \a s and the successor of + * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ + * where \f$x_{i-\text{offset}}=j\f$ visits all nodes exactly once. + * The path starts at node \a s and the successor of * the last node \a e is equal to \f$|x|+\text{offset}\f$. * The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire path. The variables \a y define the cost * of the edge in \a x: that is, if \f$x_i=j\f$ then \f$y_i=c_{i*n+j}\f$. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \a x and \a y do not have the same @@ -3423,62 +3595,62 @@ namespace Gecode { * - Int::OutOfLimits, if \a offset is negative. */ GECODE_INT_EXPORT void - path(Home home, + path(Home home, const IntArgs& c, int offset, const IntVarArgs& x, IntVar s, IntVar e, const IntVarArgs& y, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a Hamiltonian path with cost \a z * - * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ + * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ * where \f$x_i=j\f$ visits all nodes exactly once. The path starts at node - * \a s and the successor of + * \a s and the successor of * the last node \a e is equal to \f$|x|\f$. The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire path. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \f$|x|\times|x|\neq|c|\f$. */ GECODE_INT_EXPORT void - path(Home home, + path(Home home, const IntArgs& c, const IntVarArgs& x, IntVar s, IntVar e, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /** \brief Post propagator such that \a x forms a Hamiltonian path with cost \a z * - * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ - * where \f$x_{i-\text{offset}}=j\f$ visits all nodes exactly once. - * The path starts at node \a s and the successor of + * \a x forms a Hamiltonian path if the graph with edges \f$i\to j\f$ + * where \f$x_{i-\text{offset}}=j\f$ visits all nodes exactly once. + * The path starts at node \a s and the successor of * the last node \a e is equal to \f$|x|+\text{offset}\f$. * The integer array - * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is - * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of + * \a c gives the costs of all possible edges where \f$c_{i*|x|+j}\f$ is + * the cost of the edge \f$i\to j\f$. The variable \a z is the cost of * the entire circuit. * - * Supports domain (\a icl = ICL_DOM) and value propagation (all - * other values for \a icl), where this refers to whether value or + * Supports domain (\a ipl = IPL_DOM) and value propagation (all + * other values for \a ipl), where this refers to whether value or * domain consistent distinct in enforced on \a x for circuit. * * Throws the following exceptions: - * - Int::ArgumentSame, if \a x contains the same unassigned variable + * - Int::ArgumentSame, if \a x contains the same unassigned variable * multiply. * - Int::TooFewArguments, if \a x has no elements. * - Int::ArgumentSizeMismacth, if \f$|x|\times|x|\neq|c|\f$. * - Int::OutOfLimits, if \a offset is negative. */ GECODE_INT_EXPORT void - path(Home home, + path(Home home, const IntArgs& c, int offset, const IntVarArgs& x, IntVar s, IntVar e, IntVar z, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); //@} @@ -3494,24 +3666,24 @@ namespace Gecode { /// Execute \a c when \a x becomes assigned GECODE_INT_EXPORT void wait(Home home, IntVar x, void (*c)(Space& home), - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Execute \a c when \a x becomes assigned GECODE_INT_EXPORT void wait(Home home, BoolVar x, void (*c)(Space& home), - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Execute \a c when all variables in \a x become assigned GECODE_INT_EXPORT void wait(Home home, const IntVarArgs& x, void (*c)(Space& home), - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Execute \a c when all variables in \a x become assigned GECODE_INT_EXPORT void wait(Home home, const BoolVarArgs& x, void (*c)(Space& home), - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Execute \a t (then) when \a x is assigned one, and \a e (else) otherwise GECODE_INT_EXPORT void - when(Home home, BoolVar x, + when(Home home, BoolVar x, void (*t)(Space& home), void (*e)(Space& home)= NULL, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); //@} @@ -3535,17 +3707,17 @@ namespace Gecode { /** * \brief Replace multiple variable occurences in \a x by fresh variables * - * Supports domain consistency (\a icl = ICL_DOM, default) and - * bounds consistency (\a icl = ICL_BND). + * Supports domain consistency (\a ipl = IPL_DOM, default) and + * bounds consistency (\a ipl = IPL_BND). * */ GECODE_INT_EXPORT void unshare(Home home, IntVarArgs& x, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); /// Replace multiple variable occurences in \a x by fresh variables GECODE_INT_EXPORT void unshare(Home home, BoolVarArgs& x, - IntConLevel icl=ICL_DEF); + IntPropLevel ipl=IPL_DEF); //@} } @@ -3601,8 +3773,8 @@ namespace Gecode { * \brief Branch value function type for integer variables * * Returns a value for the variable \a x that is to be used in the - * corresponding branch commit function. The integer \a i refers - * to the variable's position in the original array passed to the + * corresponding branch commit function. The integer \a i refers + * to the variable's position in the original array passed to the * brancher. * * \ingroup TaskModelIntBranch @@ -3612,8 +3784,8 @@ namespace Gecode { * \brief Branch value function type for Boolean variables * * Returns a value for the variable \a x that is to be used in the - * corresponding branch commit function. The integer \a i refers - * to the variable's position in the original array passed to the + * corresponding branch commit function. The integer \a i refers + * to the variable's position in the original array passed to the * brancher. * * \ingroup TaskModelIntBranch @@ -3624,8 +3796,8 @@ namespace Gecode { * \brief Branch commit function type for integer variables * * The function must post a constraint on the variable \a x which - * corresponds to the alternative \a a. The integer \a i refers - * to the variable's position in the original array passed to the + * corresponds to the alternative \a a. The integer \a i refers + * to the variable's position in the original array passed to the * brancher. The value \a n is the value * computed by the corresponding branch value function. * @@ -3637,8 +3809,8 @@ namespace Gecode { * \brief Branch commit function type for Boolean variables * * The function must post a constraint on the variable \a x which - * corresponds to the alternative \a a. The integer \a i refers - * to the variable's position in the original array passed to the + * corresponds to the alternative \a a. The integer \a i refers + * to the variable's position in the original array passed to the * brancher. The value \a n is the value * computed by the corresponding branch value function. * @@ -3670,7 +3842,7 @@ namespace Gecode { /// Copy constructor IntAFC(const IntAFC& a); /// Assignment operator - IntAFC& operator =(const IntAFC& a); + IntAFC& operator =(const IntAFC& a); /// Initialize for integer variables \a x with decay factor \a d IntAFC(Home home, const IntVarArgs& x, double d=1.0); /// Initialize for Boolean variables \a x with decay factor \a d @@ -3682,7 +3854,7 @@ namespace Gecode { * AFC storage has been constructed with the default constructor. * */ - void init(Home, const IntVarArgs& x, double d=1.0); + void init(Home home, const IntVarArgs& x, double d=1.0); /** * \brief Initialize for Boolean variables \a x with decay factor \a d * @@ -3690,7 +3862,7 @@ namespace Gecode { * AFC storage has been constructed with the default constructor. * */ - void init(Home, const BoolVarArgs& x, double d=1.0); + void init(Home home, const BoolVarArgs& x, double d=1.0); }; } @@ -3717,7 +3889,7 @@ namespace Gecode { /// Copy constructor IntActivity(const IntActivity& a); /// Assignment operator - IntActivity& operator =(const IntActivity& a); + IntActivity& operator =(const IntActivity& a); /** * \brief Initialize for integer variables \a x with decay factor \a d * @@ -3725,7 +3897,7 @@ namespace Gecode { * activity for each variable is initialized with the merit returned * by \a bm. */ - GECODE_INT_EXPORT + GECODE_INT_EXPORT IntActivity(Home home, const IntVarArgs& x, double d=1.0, IntBranchMerit bm=NULL); /** @@ -3735,7 +3907,7 @@ namespace Gecode { * activity for each variable is initialized with the merit returned * by \a bm. */ - GECODE_INT_EXPORT + GECODE_INT_EXPORT IntActivity(Home home, const BoolVarArgs& x, double d=1.0, BoolBranchMerit bm=NULL); /** @@ -3775,13 +3947,13 @@ namespace Gecode { namespace Gecode { /// Function type for printing branching alternatives for integer variables - typedef void (*IntVarValPrint)(const Space &home, const BrancherHandle& bh, + typedef void (*IntVarValPrint)(const Space &home, const Brancher& b, unsigned int a, IntVar x, int i, const int& n, std::ostream& o); /// Function type for printing branching alternatives for Boolean variables - typedef void (*BoolVarValPrint)(const Space &home, const BrancherHandle& bh, + typedef void (*BoolVarValPrint)(const Space &home, const Brancher& b, unsigned int a, BoolVar x, int i, const int& n, std::ostream& o); @@ -3902,19 +4074,19 @@ namespace Gecode { /// Select variable with largest accumulated failure count IntVarBranch INT_VAR_AFC_MAX(IntAFC a, BranchTbl tbl=NULL); /// Select variable with lowest activity with decay factor \a d - IntVarBranch INT_VAR_ACTIVITY_MIN(double d=1.0, BranchTbl tbl=NULL); + IntVarBranch INT_VAR_ACTIVITY_MIN(double d=1.0, BranchTbl tbl=NULL); /// Select variable with lowest activity - IntVarBranch INT_VAR_ACTIVITY_MIN(IntActivity a, BranchTbl tbl=NULL); + IntVarBranch INT_VAR_ACTIVITY_MIN(IntActivity a, BranchTbl tbl=NULL); /// Select variable with highest activity with decay factor \a d - IntVarBranch INT_VAR_ACTIVITY_MAX(double d=1.0, BranchTbl tbl=NULL); + IntVarBranch INT_VAR_ACTIVITY_MAX(double d=1.0, BranchTbl tbl=NULL); /// Select variable with highest activity - IntVarBranch INT_VAR_ACTIVITY_MAX(IntActivity a, BranchTbl tbl=NULL); + IntVarBranch INT_VAR_ACTIVITY_MAX(IntActivity a, BranchTbl tbl=NULL); /// Select variable with smallest min - IntVarBranch INT_VAR_MIN_MIN(BranchTbl tbl=NULL); + IntVarBranch INT_VAR_MIN_MIN(BranchTbl tbl=NULL); /// Select variable with largest min IntVarBranch INT_VAR_MIN_MAX(BranchTbl tbl=NULL); /// Select variable with smallest max - IntVarBranch INT_VAR_MAX_MIN(BranchTbl tbl=NULL); + IntVarBranch INT_VAR_MAX_MIN(BranchTbl tbl=NULL); /// Select variable with largest max IntVarBranch INT_VAR_MAX_MAX(BranchTbl tbl=NULL); /// Select variable with smallest domain size @@ -3927,7 +4099,7 @@ namespace Gecode { IntVarBranch INT_VAR_DEGREE_SIZE_MAX(BranchTbl tbl=NULL); /// Select variable with smallest accumulated failure count divided by domain size with decay factor \a d IntVarBranch INT_VAR_AFC_SIZE_MIN(double d=1.0, BranchTbl tbl=NULL); - /// Select variable with smallest accumulated failure count divided by domain size + /// Select variable with smallest accumulated failure count divided by domain size IntVarBranch INT_VAR_AFC_SIZE_MIN(IntAFC a, BranchTbl tbl=NULL); /// Select variable with largest accumulated failure count divided by domain size with decay factor \a d IntVarBranch INT_VAR_AFC_SIZE_MAX(double d=1.0, BranchTbl tbl=NULL); @@ -3935,11 +4107,11 @@ namespace Gecode { IntVarBranch INT_VAR_AFC_SIZE_MAX(IntAFC a, BranchTbl tbl=NULL); /// Select variable with smallest activity divided by domain size with decay factor \a d IntVarBranch INT_VAR_ACTIVITY_SIZE_MIN(double d=1.0, BranchTbl tbl=NULL); - /// Select variable with smallest activity divided by domain size + /// Select variable with smallest activity divided by domain size IntVarBranch INT_VAR_ACTIVITY_SIZE_MIN(IntActivity a, BranchTbl tbl=NULL); /// Select variable with largest activity divided by domain size with decay factor \a d IntVarBranch INT_VAR_ACTIVITY_SIZE_MAX(double d=1.0, BranchTbl tbl=NULL); - /// Select variable with largest activity divided by domain size + /// Select variable with largest activity divided by domain size IntVarBranch INT_VAR_ACTIVITY_SIZE_MAX(IntActivity a, BranchTbl tbl=NULL); /** \brief Select variable with smallest min-regret * @@ -3994,7 +4166,7 @@ namespace Gecode { SEL_VALUES_MIN, ///< Select all values starting from smallest SEL_VALUES_MAX, ///< Select all values starting from largest SEL_NEAR_MIN, ///< Select value nearest to a given value, use smaller one in case of ties - SEL_NEAR_MAX, ///< Select value nearest to a given value, use larger one in case of ties + SEL_NEAR_MAX, ///< Select value nearest to a given value, use larger one in case of ties SEL_NEAR_INC, ///< Select value near to a given value, increment values first SEL_NEAR_DEC ///< Select value near to a given value, decrement values first }; @@ -4041,20 +4213,20 @@ namespace Gecode { IntValBranch INT_VAL_RANGE_MAX(void); /** * \brief Select value as defined by the value function \a v and commit function \a c - * Uses a commit function as default that posts the constraints that + * Uses a commit function as default that posts the constraints that * a variable \a x must be equal to a value \a n for the first alternative * and that \a x must be different from \a n for the second alternative. */ IntValBranch INT_VAL(IntBranchVal v, IntBranchCommit c=NULL); /** * \brief Select value as defined by the value function \a v and commit function \a c - * Uses a commit function as default that posts the constraints that + * Uses a commit function as default that posts the constraints that * a variable \a x must be equal to a value \a n for the first alternative * and that \a x must be different from \a n for the second alternative. */ IntValBranch INT_VAL(BoolBranchVal v, BoolBranchCommit c=NULL); /// Try all values starting from smallest - IntValBranch INT_VALUES_MIN(void); + IntValBranch INT_VALUES_MIN(void); /// Try all values starting from largest IntValBranch INT_VALUES_MAX(void); /// Try value nearest to a given value for a variable, in case of ties use the smaller value @@ -4118,14 +4290,14 @@ namespace Gecode { /** * \brief Select value as defined by the value function \a v and commit function \a c * - * Uses a commit function as default that posts the constraint that + * Uses a commit function as default that posts the constraint that * a variable \a x must be equal to the value \a n. */ IntAssign INT_ASSIGN(IntBranchVal v, IntBranchCommit c=NULL); /** * \brief Select value as defined by the value function \a v and commit function \a c * - * Uses a commit function as default that posts the constraint that + * Uses a commit function as default that posts the constraint that * a variable \a x must be equal to the value \a n. */ IntAssign INT_ASSIGN(BoolBranchVal v, BoolBranchCommit c=NULL); @@ -4141,9 +4313,9 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const IntVarArgs& x, - IntVarBranch vars, IntValBranch vals, + IntVarBranch vars, IntValBranch vals, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL); /** @@ -4151,7 +4323,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const IntVarArgs& x, TieBreak vars, IntValBranch vals, IntBranchFilter bf=NULL, @@ -4161,7 +4333,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp=NULL); /** @@ -4169,7 +4341,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const BoolVarArgs& x, IntVarBranch vars, IntValBranch vals, BoolBranchFilter bf=NULL, @@ -4179,7 +4351,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const BoolVarArgs& x, TieBreak vars, IntValBranch vals, BoolBranchFilter bf=NULL, @@ -4189,7 +4361,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, BoolVar x, IntValBranch vals, BoolVarValPrint vvp=NULL); @@ -4198,7 +4370,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void assign(Home home, const IntVarArgs& x, IntAssign vals, IntBranchFilter ibf=NULL, IntVarValPrint vvp=NULL); @@ -4207,7 +4379,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void assign(Home home, IntVar x, IntAssign vals, IntVarValPrint vvp=NULL); /** @@ -4215,7 +4387,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void assign(Home home, const BoolVarArgs& x, IntAssign vals, BoolBranchFilter bbf=NULL, BoolVarValPrint vvp=NULL); @@ -4224,7 +4396,7 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void assign(Home home, BoolVar x, IntAssign vals, BoolVarValPrint vvp=NULL); @@ -4306,7 +4478,7 @@ namespace Gecode { /// Variables in \a x are interchangeable GECODE_INT_EXPORT SymmetryHandle VariableSymmetry(const BoolVarArgs& x); /// Specified variables in \a x are interchangeable - GECODE_INT_EXPORT SymmetryHandle VariableSymmetry(const IntVarArgs& x, + GECODE_INT_EXPORT SymmetryHandle VariableSymmetry(const IntVarArgs& x, const IntArgs& indices); /// Values in \a v are interchangeable GECODE_INT_EXPORT SymmetryHandle ValueSymmetry(const IntArgs& v); @@ -4317,21 +4489,21 @@ namespace Gecode { /** * \brief Variable sequences in \a x of size \a ss are interchangeable * - * The size of \a x must be a multiple of \a ss. + * The size of \a x must be a multiple of \a ss. */ GECODE_INT_EXPORT SymmetryHandle VariableSequenceSymmetry(const IntVarArgs& x, int ss); /** * \brief Variable sequences in \a x of size \a ss are interchangeable * - * The size of \a x must be a multiple of \a ss. + * The size of \a x must be a multiple of \a ss. */ GECODE_INT_EXPORT SymmetryHandle VariableSequenceSymmetry(const BoolVarArgs& x, int ss); /** * \brief Value sequences in \a v of size \a ss are interchangeable * - * The size of \a v must be a multiple of \a ss. + * The size of \a v must be a multiple of \a ss. */ GECODE_INT_EXPORT SymmetryHandle ValueSequenceSymmetry(const IntArgs& v, int ss); @@ -4353,10 +4525,10 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const IntVarArgs& x, IntVarBranch vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL); /** * \brief Branch over \a x with tie-breaking variable selection \a @@ -4369,10 +4541,10 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const IntVarArgs& x, TieBreak vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, IntBranchFilter bf=NULL, IntVarValPrint vvp=NULL); /** * \brief Branch over \a x with variable selection \a vars and value @@ -4385,10 +4557,10 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const BoolVarArgs& x, IntVarBranch vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL); /** * \brief Branch over \a x with tie-breaking variable selection \a @@ -4401,13 +4573,251 @@ namespace Gecode { * * \ingroup TaskModelIntBranch */ - GECODE_INT_EXPORT BrancherHandle + GECODE_INT_EXPORT void branch(Home home, const BoolVarArgs& x, TieBreak vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, BoolBranchFilter bf=NULL, BoolVarValPrint vvp=NULL); } +namespace Gecode { + + /* + * \brief Relaxed assignment of variables in \a x from values in \a sx + * + * The variables in \a x are assigned values from the assigned variables + * in the solution \a sx with a relaxation probability \a p. That is, + * if \$fp=0.1\f$ approximately 10% of the variables in \a x will be + * assigned a value from \a sx. + * + * The random numbers are generated from the generator \a r. At least + * one variable will not be assigned: in case the relaxation attempt + * would suggest that all variables should be assigned, a single + * variable will be selected randomly to remain unassigned. + * + * Throws an exception of type Int::ArgumentSizeMismatch, if \a x and + * \a sx are of different size. + * + * Throws an exception of type Int::OutOfLimits, if \a p is not between + * \a 0.0 and \a 1.0. + * + * \ingroup TaskModelInt + */ + GECODE_INT_EXPORT void + relax(Home home, const IntVarArgs& x, const IntVarArgs& sx, + Rnd r, double p); + + /* + * \brief Relaxed assignment of variables in \a x from values in \a sx + * + * The variables in \a x are assigned values from the assigned variables + * in the solution \a sx with a relaxation probability \a p. That is, + * if \$fp=0.1\f$ approximately 10% of the variables in \a x will be + * assigned a value from \a sx. + * + * The random numbers are generated from the generator \a r. At least + * one variable will not be assigned: in case the relaxation attempt + * would suggest that all variables should be assigned, a single + * variable will be selected randomly to remain unassigned. + * + * Throws an exception of type Int::ArgumentSizeMismatch, if \a x and + * \a sx are of different size. + * + * Throws an exception of type Int::OutOfLimits, if \a p is not between + * \a 0.0 and \a 1.0. + * + * \ingroup TaskModelInt + */ + GECODE_INT_EXPORT void + relax(Home home, const BoolVarArgs& x, const BoolVarArgs& sx, + Rnd r, double p); + +} + + +#include +#include + +namespace Gecode { + + /** + * \defgroup TaskIntTrace Tracing for integer and Boolean variables + * \ingroup TaskTrace + */ + + /** + * \brief Trace delta information for integer variables + * \ingroup TaskIntTrace + */ + class IntTraceDelta + : public Iter::Ranges::Diff > { + protected: + /// Iterator over the new values + Int::ViewRanges rn; + /// Iterator over the old values + Iter::Ranges::RangeList ro; + public: + /// \name Constructors and initialization + //@{ + /// Initialize with old trace view \a o, new view \a n, and delta \a d + IntTraceDelta(Int::IntTraceView o, Int::IntView n, const Delta& d); + //@} + }; + + /** + * \brief Trace delta information for Boolean variables + * \ingroup TaskIntTrace + */ + class BoolTraceDelta { + protected: + /// Delta information + int delta; + public: + /// \name Constructors and initialization + //@{ + /// Initialize with old trace view \a o, new view \a n, and delta \a d + BoolTraceDelta(Int::BoolTraceView o, Int::BoolView n, const Delta& d); + //@} + /// \name Iteration control + //@{ + /// Test whether iterator is still at a range or done + bool operator ()(void) const; + /// Move iterator to next range (if possible) + void operator ++(void); + //@} + + /// \name Range access + //@{ + /// Return smallest value of range + int min(void) const; + /// Return largest value of range + int max(void) const; + /// Return width of range (distance between minimum and maximum) + unsigned int width(void) const; + //@} + }; + +} + +#include +#include + +#include + +namespace Gecode { + + /** + * \brief Tracer for integer variables + * \ingroup TaskIntTrace + */ + typedef Tracer IntTracer; + /** + * \brief TraceRecorder for integer variables + * \ingroup TaskIntTrace + */ + typedef TraceRecorder IntTraceRecorder; + + /** + * \brief Standard integer variable tracer + * \ingroup TaskIntTrace + */ + class GECODE_INT_EXPORT StdIntTracer : public IntTracer { + protected: + /// Output stream to use + std::ostream& os; + public: + /// Initialize with output stream \a os0 and events \ e + StdIntTracer(std::ostream& os0 = std::cerr); + /// Print init information + virtual void init(const Space& home, const IntTraceRecorder& t); + /// Print prune information + virtual void prune(const Space& home, const IntTraceRecorder& t, + const ExecInfo& ei, int i, IntTraceDelta& d); + /// Print fixpoint information + virtual void fix(const Space& home, const IntTraceRecorder& t); + /// Print that trace recorder is done + virtual void done(const Space& home, const IntTraceRecorder& t); + /// Default tracer (printing to std::cerr) + static StdIntTracer def; + }; + + + /** + * \brief Tracer for Boolean variables + * \ingroup TaskIntTrace + */ + typedef Tracer BoolTracer; + /** + * \brief TraceRecorder for Boolean variables + * \ingroup TaskIntTrace + */ + typedef TraceRecorder BoolTraceRecorder; + + /** + * \brief Standard Boolean variable tracer + * \ingroup TaskIntTrace + */ + class GECODE_INT_EXPORT StdBoolTracer : public BoolTracer { + protected: + /// Output stream to use + std::ostream& os; + public: + /// Initialize with output stream \a os0 + StdBoolTracer(std::ostream& os0 = std::cerr); + /// Print init information + virtual void init(const Space& home, const BoolTraceRecorder& t); + /// Print prune information + virtual void prune(const Space& home, const BoolTraceRecorder& t, + const ExecInfo& ei, int i, BoolTraceDelta& d); + /// Print fixpoint information + virtual void fix(const Space& home, const BoolTraceRecorder& t); + /// Print that trace recorder is done + virtual void done(const Space& home, const BoolTraceRecorder& t); + /// Default tracer (printing to std::cerr) + static StdBoolTracer def; + }; + + /** + * \brief Create a tracer for integer variables + * \ingroup TaskIntTrace + */ + GECODE_INT_EXPORT void + trace(Home home, const IntVarArgs& x, + TraceFilter tf, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + IntTracer& t = StdIntTracer::def); + /** + * \brief Create a tracer for integer variables + * \ingroup TaskIntTrace + */ + void + trace(Home home, const IntVarArgs& x, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + IntTracer& t = StdIntTracer::def); + + /** + * \brief Create a tracer for Boolean Variables + * \ingroup TaskIntTrace + */ + GECODE_INT_EXPORT void + trace(Home home, const BoolVarArgs& x, + TraceFilter tf, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + BoolTracer& t = StdBoolTracer::def); + /** + * \brief Create a tracer for Boolean Variables + * \ingroup TaskIntTrace + */ + void + trace(Home home, const BoolVarArgs& x, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + BoolTracer& t = StdBoolTracer::def); + +} + +#include + #endif // IFDEF: GECODE_HAS_INT_VARS diff --git a/gecode/int/arithmetic.cpp b/gecode/int/arithmetic.cpp index 368f568e8a..7f3818a887 100644 --- a/gecode/int/arithmetic.cpp +++ b/gecode/int/arithmetic.cpp @@ -40,23 +40,33 @@ namespace Gecode { void - abs(Home home, IntVar x0, IntVar x1, IntConLevel icl) { + abs(Home home, IntVar x0, IntVar x1, IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; - if (icl == ICL_DOM) { + GECODE_POST; + switch (vbd(ipl)) { + case IPL_VAL: + GECODE_ES_FAIL((Arithmetic::AbsBnd + ::post(home,x0,x1))); + break; + case IPL_BND: + case IPL_DEF: + GECODE_ES_FAIL((Arithmetic::AbsBnd + ::post(home,x0,x1))); + break; + case IPL_DOM: GECODE_ES_FAIL(Arithmetic::AbsDom::post(home,x0,x1)); - } else { - GECODE_ES_FAIL(Arithmetic::AbsBnd::post(home,x0,x1)); + break; + default: GECODE_NEVER; } } void max(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; - if (icl == ICL_DOM) { + GECODE_POST; + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::MaxDom::post(home,x0,x1,x2)); } else { GECODE_ES_FAIL(Arithmetic::MaxBnd::post(home,x0,x1,x2)); @@ -65,13 +75,13 @@ namespace Gecode { void max(Home home, const IntVarArgs& x, IntVar y, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (x.size() == 0) throw TooFewArguments("Int::max"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::NaryMaxDom::post(home,xv,y)); } else { GECODE_ES_FAIL(Arithmetic::NaryMaxBnd::post(home,xv,y)); @@ -80,11 +90,11 @@ namespace Gecode { void min(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; + GECODE_POST; MinusView m0(x0); MinusView m1(x1); MinusView m2(x2); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::MaxDom::post(home,m0,m1,m2)); } else { GECODE_ES_FAIL(Arithmetic::MaxBnd::post(home,m0,m1,m2)); @@ -93,16 +103,16 @@ namespace Gecode { void min(Home home, const IntVarArgs& x, IntVar y, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (x.size() == 0) throw TooFewArguments("Int::min"); - if (home.failed()) return; + GECODE_POST; ViewArray m(home,x.size()); for (int i=x.size(); i--; ) m[i] = MinusView(x[i]); MinusView my(y); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::NaryMaxDom::post(home,m,my)); } else { GECODE_ES_FAIL(Arithmetic::NaryMaxBnd::post(home,m,my)); @@ -112,13 +122,13 @@ namespace Gecode { void argmax(Home home, const IntVarArgs& x, IntVar y, bool tiebreak, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.size() == 0) throw TooFewArguments("Int::argmax"); if (x.same(home,y)) throw ArgumentSame("Int::argmax"); - if (home.failed()) return; + GECODE_POST; // Constrain y properly IntView yv(y); GECODE_ME_FAIL(yv.gq(home,0)); @@ -136,15 +146,42 @@ namespace Gecode { ::post(home,ix,yv))); } + void + argmax(Home home, const IntVarArgs& x, int o, IntVar y, bool tiebreak, + IntPropLevel) { + using namespace Int; + Limits::nonnegative(o,"Int::argmax"); + if (x.size() == 0) + throw TooFewArguments("Int::argmax"); + if (x.same(home,y)) + throw ArgumentSame("Int::argmax"); + GECODE_POST; + // Constrain y properly + OffsetView yv(y,-o); + GECODE_ME_FAIL(yv.gq(home,0)); + GECODE_ME_FAIL(yv.le(home,x.size())); + // Construct index view array + IdxViewArray ix(home,x.size()); + for (int i=x.size(); i--; ) { + ix[i].idx=i; ix[i].view=x[i]; + } + if (tiebreak) + GECODE_ES_FAIL((Arithmetic::ArgMax + ::post(home,ix,yv))); + else + GECODE_ES_FAIL((Arithmetic::ArgMax + ::post(home,ix,yv))); + } + void argmin(Home home, const IntVarArgs& x, IntVar y, bool tiebreak, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.size() == 0) throw TooFewArguments("Int::argmin"); if (x.same(home,y)) throw ArgumentSame("Int::argmin"); - if (home.failed()) return; + GECODE_POST; // Constrain y properly IntView yv(y); GECODE_ME_FAIL(yv.gq(home,0)); @@ -162,13 +199,40 @@ namespace Gecode { ::post(home,ix,yv))); } + void + argmin(Home home, const IntVarArgs& x, int o, IntVar y, bool tiebreak, + IntPropLevel) { + using namespace Int; + Limits::nonnegative(o,"Int::argmin"); + if (x.size() == 0) + throw TooFewArguments("Int::argmin"); + if (x.same(home,y)) + throw ArgumentSame("Int::argmin"); + GECODE_POST; + // Constrain y properly + OffsetView yv(y,-o); + GECODE_ME_FAIL(yv.gq(home,0)); + GECODE_ME_FAIL(yv.le(home,x.size())); + // Construct index view array + IdxViewArray ix(home,x.size()); + for (int i=x.size(); i--; ) { + ix[i].idx=i; ix[i].view=MinusView(x[i]); + } + if (tiebreak) + GECODE_ES_FAIL((Arithmetic::ArgMax + ::post(home,ix,yv))); + else + GECODE_ES_FAIL((Arithmetic::ArgMax + ::post(home,ix,yv))); + } + void mult(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; - if (icl == ICL_DOM) { + GECODE_POST; + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::MultDom::post(home,x0,x1,x2)); } else { GECODE_ES_FAIL(Arithmetic::MultBnd::post(home,x0,x1,x2)); @@ -178,9 +242,9 @@ namespace Gecode { void divmod(Home home, IntVar x0, IntVar x1, IntVar x2, IntVar x3, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; IntVar prod(home, Int::Limits::min, Int::Limits::max); GECODE_ES_FAIL(Arithmetic::MultBnd::post(home,x1,x2,prod)); @@ -202,28 +266,28 @@ namespace Gecode { void div(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL( (Arithmetic::DivBnd::post(home,x0,x1,x2))); } void mod(Home home, IntVar x0, IntVar x1, IntVar x2, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; + GECODE_POST; IntVar _div(home, Int::Limits::min, Int::Limits::max); - divmod(home, x0, x1, _div, x2, icl); + divmod(home, x0, x1, _div, x2, ipl); } void - sqr(Home home, IntVar x0, IntVar x1, IntConLevel icl) { + sqr(Home home, IntVar x0, IntVar x1, IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; + GECODE_POST; Arithmetic::SqrOps ops; - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::PowDom ::post(home,x0,x1,ops)); } else { @@ -233,11 +297,11 @@ namespace Gecode { } void - sqrt(Home home, IntVar x0, IntVar x1, IntConLevel icl) { + sqrt(Home home, IntVar x0, IntVar x1, IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; + GECODE_POST; Arithmetic::SqrOps ops; - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::NrootDom ::post(home,x0,x1,ops)); } else { @@ -247,16 +311,16 @@ namespace Gecode { } void - pow(Home home, IntVar x0, int n, IntVar x1, IntConLevel icl) { + pow(Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl) { using namespace Int; Limits::nonnegative(n,"Int::pow"); - if (home.failed()) return; + GECODE_POST; if (n == 2) { - sqr(home, x0, x1, icl); + sqr(home, x0, x1, ipl); return; } Arithmetic::PowOps ops(n); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::PowDom ::post(home,x0,x1,ops)); } else { @@ -266,16 +330,16 @@ namespace Gecode { } void - nroot(Home home, IntVar x0, int n, IntVar x1, IntConLevel icl) { + nroot(Home home, IntVar x0, int n, IntVar x1, IntPropLevel ipl) { using namespace Int; Limits::positive(n,"Int::nroot"); - if (home.failed()) return; + GECODE_POST; if (n == 2) { - sqrt(home, x0, x1, icl); + sqrt(home, x0, x1, ipl); return; } Arithmetic::PowOps ops(n); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL(Arithmetic::NrootDom ::post(home,x0,x1,ops)); } else { diff --git a/gecode/int/arithmetic.hh b/gecode/int/arithmetic.hh index 1514555aeb..0487165b6a 100644 --- a/gecode/int/arithmetic.hh +++ b/gecode/int/arithmetic.hh @@ -59,11 +59,11 @@ namespace Gecode { namespace Int { namespace Arithmetic { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class AbsBnd : public BinaryPropagator { + template + class AbsBnd : public BinaryPropagator { protected: - using BinaryPropagator::x0; - using BinaryPropagator::x1; + using BinaryPropagator::x0; + using BinaryPropagator::x1; /// Constructor for cloning \a p AbsBnd(Space& home, bool share, AbsBnd& p); @@ -261,7 +261,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { * \ingroup FuncIntProp */ template - class ArgMax : public Propagator { + class ArgMax : public Propagator { protected: /// Map of index and views IdxViewArray x; @@ -276,6 +276,8 @@ namespace Gecode { namespace Int { namespace Arithmetic { virtual Actor* copy(Space& home, bool share); // Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Delete propagator and return its size @@ -690,7 +692,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); /// Perform propagation - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual ExecStatus propagate(Space& home, const ModEventDelta& med); }; @@ -746,10 +748,10 @@ namespace Gecode { namespace Int { namespace Arithmetic { /// Constructor for posting MultDom(Home home, IntView x0, IntView x1, IntView x2); /// Post propagator \f$x_0\cdot x_1=x_2\f$ - GECODE_INT_EXPORT + GECODE_INT_EXPORT static ExecStatus post(Home home, IntView x0, IntView x1, IntView x2); /// Copy propagator during cloning - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); /** * \brief Cost function @@ -757,10 +759,10 @@ namespace Gecode { namespace Int { namespace Arithmetic { * If in stage for bounds propagation, the cost is * low ternary. Otherwise it is high ternary. */ - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual PropCost cost(const Space& home, const ModEventDelta& med) const; /// Perform propagation - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual ExecStatus propagate(Space& home, const ModEventDelta& med); }; diff --git a/gecode/int/arithmetic/abs.hpp b/gecode/int/arithmetic/abs.hpp index 99bb4ad0db..5aa5b50248 100755 --- a/gecode/int/arithmetic/abs.hpp +++ b/gecode/int/arithmetic/abs.hpp @@ -79,18 +79,24 @@ namespace Gecode { namespace Int { namespace Arithmetic { return ES_NOFIX; } - template + template forceinline - AbsBnd::AbsBnd(Home home, View x0, View x1) - : BinaryPropagator(home,x0,x1) {} + AbsBnd::AbsBnd(Home home, View x0, View x1) + : BinaryPropagator(home,x0,x1) {} - template + template ExecStatus - AbsBnd::post(Home home, View x0, View x1) { + AbsBnd::post(Home home, View x0, View x1) { if (x0.min() >= 0) { - return Rel::EqBnd::post(home,x0,x1); + if (pc == PC_INT_VAL) + return Rel::EqVal::post(home,x0,x1); + else + return Rel::EqBnd::post(home,x0,x1); } else if (x0.max() <= 0) { - return Rel::EqBnd::post(home,MinusView(x0),x1); + if (pc == PC_INT_VAL) + return Rel::EqVal::post(home,MinusView(x0),x1); + else + return Rel::EqBnd::post(home,MinusView(x0),x1); } else { assert(!x0.assigned()); GECODE_ME_CHECK(x1.gq(home,0)); @@ -99,39 +105,43 @@ namespace Gecode { namespace Int { namespace Arithmetic { Iter::Values::Array i(mp,2); GECODE_ME_CHECK(x0.inter_v(home,i,false)); } else if (!same(x0,x1)) { - GECODE_ME_CHECK(x1.lq(home,std::max(-x0.min(),x0.max()))); - (void) new (home) AbsBnd(home,x0,x1); + if (pc != PC_INT_VAL) + GECODE_ME_CHECK(x1.lq(home,std::max(-x0.min(),x0.max()))); + (void) new (home) AbsBnd(home,x0,x1); } } return ES_OK; } - template + template forceinline - AbsBnd::AbsBnd(Space& home, bool share, AbsBnd& p) - : BinaryPropagator(home,share,p) {} + AbsBnd::AbsBnd(Space& home, bool share, AbsBnd& p) + : BinaryPropagator(home,share,p) {} - template + template Actor* - AbsBnd::copy(Space& home,bool share) { - return new (home) AbsBnd(home,share,*this); + AbsBnd::copy(Space& home,bool share) { + return new (home) AbsBnd(home,share,*this); } - template + template PropCost - AbsBnd::cost(const Space&, const ModEventDelta& med) const { - if (View::me(med) == ME_INT_VAL) + AbsBnd::cost(const Space&, const ModEventDelta& med) const { + (void) med; + if ((pc == PC_INT_VAL) || (View::me(med) == ME_INT_VAL)) return PropCost::unary(PropCost::LO); else return PropCost::binary(PropCost::LO); } - template + template ExecStatus - AbsBnd::propagate(Space& home, const ModEventDelta&) { + AbsBnd::propagate(Space& home, const ModEventDelta&) { return prop_abs_bnd(home, *this, x0, x1); } + + template forceinline AbsDom::AbsDom(Home home, View x0, View x1) diff --git a/gecode/int/arithmetic/argmax.hpp b/gecode/int/arithmetic/argmax.hpp index 402ad494ab..ecfc93cf5d 100644 --- a/gecode/int/arithmetic/argmax.hpp +++ b/gecode/int/arithmetic/argmax.hpp @@ -77,7 +77,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - ArgMax::ArgMax(Space& home, bool share, + ArgMax::ArgMax(Space& home, bool share, ArgMax& p) : Propagator(home,share,p) { x.update(home,share,p.x); @@ -92,11 +92,18 @@ namespace Gecode { namespace Int { namespace Arithmetic { template PropCost - ArgMax::cost(const Space&, + ArgMax::cost(const Space&, const ModEventDelta&) const { return PropCost::linear(PropCost::LO,x.size()+1); } + template + void + ArgMax::reschedule(Space& home) { + x.reschedule(home,*this,PC_INT_BND); + y.reschedule(home,*this,PC_INT_DOM); + } + template ExecStatus ArgMax::propagate(Space& home, const ModEventDelta&) { @@ -116,11 +123,11 @@ namespace Gecode { namespace Int { namespace Arithmetic { if (u < x[i].view.max()) u = x[i].view.max(); } - + // Eliminate elements from x and y that are too small { Region r(home); - + // Values to delete from y int* d=r.alloc(y.size()); // Number of values to delete @@ -132,7 +139,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { while ((i < x.size()) && iy()) { if (x[i].idx == iy.val()) { if (x[i].view.max() < l) { - x[i].view.cancel(home,*this,PC_INT_BND); + x[i].view.cancel(home,*this,PC_INT_BND); d[n++]=x[i].idx; } else { x[j++]=x[i]; diff --git a/gecode/int/arithmetic/divmod.hpp b/gecode/int/arithmetic/divmod.hpp index bf3befc692..2db47e27ff 100755 --- a/gecode/int/arithmetic/divmod.hpp +++ b/gecode/int/arithmetic/divmod.hpp @@ -52,7 +52,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - DivPlusBnd::DivPlusBnd(Space& home, bool share, + DivPlusBnd::DivPlusBnd(Space& home, bool share, DivPlusBnd& p) : MixTernaryPropagator (home,share,p) {} diff --git a/gecode/int/arithmetic/max.hpp b/gecode/int/arithmetic/max.hpp index dd0a5c1c02..08b5a46efa 100755 --- a/gecode/int/arithmetic/max.hpp +++ b/gecode/int/arithmetic/max.hpp @@ -297,11 +297,11 @@ namespace Gecode { namespace Int { namespace Arithmetic { Iter::Ranges::Union,ViewRanges > u(r0,r1); GECODE_ME_CHECK(x2.inter_r(home,u,false)); if (rtest_nq_dom(x0,x2) == RT_TRUE) { - GECODE_ES_CHECK(Rel::Lq::post(home,x0,x2)); + GECODE_ES_CHECK(Rel::Lq::post(Home(home),x0,x2)); GECODE_REWRITE(*this,(Rel::EqDom::post(home(*this),x1,x2))); } if (rtest_nq_dom(x1,x2) == RT_TRUE) { - GECODE_ES_CHECK(Rel::Lq::post(home,x1,x2)); + GECODE_ES_CHECK(Rel::Lq::post(Home(home),x1,x2)); GECODE_REWRITE(*this,(Rel::EqDom::post(home(*this),x0,x2))); } return ES_FIX; @@ -387,7 +387,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_ME_CHECK(y.inter_r(home,u,false)); for (int i = x.size(); i--; ) if (rtest_nq_dom(x[i],y) == RT_TRUE) { - GECODE_ES_CHECK(Rel::Lq::post(home,x[i],y)); + GECODE_ES_CHECK(Rel::Lq::post(Home(home),x[i],y)); x.move_lst(i,home,*this,PC_INT_DOM); } assert(x.size() > 0); diff --git a/gecode/int/arithmetic/mult.hpp b/gecode/int/arithmetic/mult.hpp index a4cb282e92..ed428b16b5 100755 --- a/gecode/int/arithmetic/mult.hpp +++ b/gecode/int/arithmetic/mult.hpp @@ -67,7 +67,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { dll(int x) { return static_cast(x) - 1; } - + /// Test whether \a x is postive template forceinline bool diff --git a/gecode/int/arithmetic/nroot.hpp b/gecode/int/arithmetic/nroot.hpp index e0a7f0f603..3c9f2ca4d3 100755 --- a/gecode/int/arithmetic/nroot.hpp +++ b/gecode/int/arithmetic/nroot.hpp @@ -106,9 +106,9 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - NrootPlusBnd::NrootPlusBnd(Home home, IntView x0, IntView x1, + NrootPlusBnd::NrootPlusBnd(Home home, IntView x0, IntView x1, const Ops& o) - : BinaryPropagator(home,x0,x1), + : BinaryPropagator(home,x0,x1), ops(o) {} template @@ -127,9 +127,9 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - NrootPlusBnd::NrootPlusBnd(Space& home, bool share, + NrootPlusBnd::NrootPlusBnd(Space& home, bool share, NrootPlusBnd& p) - : BinaryPropagator(home,share,p), + : BinaryPropagator(home,share,p), ops(p.ops) {} template @@ -156,7 +156,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { prop_nroot_bnd(Space& home, IntView x0, IntView x1, const Ops& ops) { assert((x0.min() < 0) && (x0.max() > 0)); assert((x1.min() < 0) && (x1.max() > 0)); - + GECODE_ME_CHECK(x1.lq(home,ops.fnroot(x0.max()))); GECODE_ME_CHECK(x1.gq(home,-ops.cnroot(-x0.min()))); GECODE_ME_CHECK(x0.le(home,ops.tpow(x1.max()+1))); @@ -168,7 +168,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline NrootBnd::NrootBnd(Home home, IntView x0, IntView x1, const Ops& o) - : BinaryPropagator(home,x0,x1), + : BinaryPropagator(home,x0,x1), ops(o) {} template @@ -186,7 +186,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_ME_CHECK(x1.eq(home,1)); return ES_OK; } else if (ops.exp() == 1) { - return Rel::EqBnd::post(home,x0,x1); + return Rel::EqBnd::post(home,x0,x1); } if (same(x0,x1)) { @@ -194,7 +194,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_ME_CHECK(x0.lq(home,1)); GECODE_ME_CHECK(x0.gq(home,ops.even() ? 0 : -2)); return ES_OK; - } + } // Limits values such that no overflow can occur GECODE_ME_CHECK(x1.lq(home,ops.fnroot(Limits::max))); @@ -221,7 +221,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline NrootBnd::NrootBnd(Space& home, bool share, NrootBnd& p) - : BinaryPropagator(home,share,p), + : BinaryPropagator(home,share,p), ops(p.ops) {} template @@ -235,10 +235,10 @@ namespace Gecode { namespace Int { namespace Arithmetic { NrootBnd::propagate(Space& home, const ModEventDelta&) { assert(!ops.even()); if ((x0.min() >= 0) || (x1.min() >= 0)) - GECODE_REWRITE(*this,(NrootPlusBnd::post(home,x0,x1,ops))); + GECODE_REWRITE(*this,(NrootPlusBnd::post(home(*this),x0,x1,ops))); if ((x0.max() <= 0) || (x1.max() <= 0)) - GECODE_REWRITE(*this,(NrootPlusBnd::post(home,x0,x1,ops))); + GECODE_REWRITE(*this,(NrootPlusBnd::post(home(*this),x0,x1,ops))); GECODE_ES_CHECK(prop_nroot_bnd(home,x0,x1,ops)); @@ -290,7 +290,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - NrootPlusDom::NrootPlusDom(Home home, IntView x0, IntView x1, + NrootPlusDom::NrootPlusDom(Home home, IntView x0, IntView x1, const Ops& o) : BinaryPropagator(home,x0,x1), ops(o) {} @@ -312,9 +312,9 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - NrootPlusDom::NrootPlusDom(Space& home, bool share, + NrootPlusDom::NrootPlusDom(Space& home, bool share, NrootPlusDom& p) - : BinaryPropagator(home,share,p), + : BinaryPropagator(home,share,p), ops(p.ops) {} template @@ -346,7 +346,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { { ViewRanges r(x0); RangesMapNroot rmn(ops); - Iter::Ranges::Map,RangesMapNroot,false> + Iter::Ranges::Map,RangesMapNroot,false> m(r,rmn); GECODE_ME_CHECK(x1.inter_r(home,m,false)); } @@ -354,7 +354,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { { ViewRanges r(x1); RangesMapPow rmp(ops); - Iter::Ranges::Map,RangesMapPow,true> + Iter::Ranges::Map,RangesMapPow,true> m(r,rmp); GECODE_ME_CHECK(x0.inter_r(home,m,false)); } @@ -385,7 +385,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_ME_CHECK(x1.eq(home,1)); return ES_OK; } else if (ops.exp() == 1) { - return Rel::EqDom::post(home,x0,x1); + return Rel::EqDom::post(home,x0,x1); } if (same(x0,x1)) { @@ -393,7 +393,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_ME_CHECK(x0.lq(home,1)); GECODE_ME_CHECK(x0.gq(home,ops.even() ? 0 : -2)); return ES_OK; - } + } // Limits values such that no overflow can occur GECODE_ME_CHECK(x1.lq(home,ops.fnroot(Limits::max))); @@ -420,7 +420,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline NrootDom::NrootDom(Space& home, bool share, NrootDom& p) - : BinaryPropagator(home,share,p), + : BinaryPropagator(home,share,p), ops(p.ops) {} template @@ -445,10 +445,10 @@ namespace Gecode { namespace Int { namespace Arithmetic { NrootDom::propagate(Space& home, const ModEventDelta& med) { assert(!ops.even()); if ((x0.min() >= 0) || (x1.min() >= 0)) - GECODE_REWRITE(*this,(NrootPlusDom::post(home,x0,x1,ops))); + GECODE_REWRITE(*this,(NrootPlusDom::post(home(*this),x0,x1,ops))); if ((x0.max() <= 0) || (x1.max() <= 0)) - GECODE_REWRITE(*this,(NrootPlusDom::post(home,x0,x1,ops))); + GECODE_REWRITE(*this,(NrootPlusDom::post(home(*this),x0,x1,ops))); if (IntView::me(med) != ME_INT_DOM) { GECODE_ES_CHECK(prop_nroot_bnd(home,x0,x1,ops)); @@ -459,7 +459,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { { ViewRanges r(x0); RangesMapNroot rmn(ops); - Iter::Ranges::Map,RangesMapNroot,false> + Iter::Ranges::Map,RangesMapNroot,false> m(r,rmn); GECODE_ME_CHECK(x1.inter_r(home,m,false)); } @@ -467,7 +467,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { { ViewRanges r(x1); RangesMapPow rmp(ops); - Iter::Ranges::Map,RangesMapPow,true> + Iter::Ranges::Map,RangesMapPow,true> m(r,rmp); GECODE_ME_CHECK(x0.inter_r(home,m,false)); } diff --git a/gecode/int/arithmetic/pow-ops.hpp b/gecode/int/arithmetic/pow-ops.hpp index 84d2cc722e..da99d221e1 100755 --- a/gecode/int/arithmetic/pow-ops.hpp +++ b/gecode/int/arithmetic/pow-ops.hpp @@ -40,28 +40,28 @@ namespace Gecode { namespace Int { namespace Arithmetic { forceinline PowOps::PowOps(int n0) : n(n0) {} - forceinline bool + forceinline bool PowOps::even(int m) { return (m & 1) == 0; } - forceinline bool + forceinline bool PowOps::even(void) const { return even(n); } - forceinline int + forceinline int PowOps::exp(void) const { return n; } - forceinline void + forceinline void PowOps::exp(int m) { n=m; } template - inline IntType + inline IntType PowOps::pow(IntType x) const { int m = n; IntType p = 1; @@ -75,7 +75,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return p; } - inline int + inline int PowOps::tpow(int _x) const { int m = n; long long int p = 1; @@ -94,7 +94,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return static_cast(p); } - forceinline bool + forceinline bool PowOps::powgr(long long int r, int x) const { assert(r >= 0); int m = n; @@ -115,7 +115,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return false; } - inline int + inline int PowOps::fnroot(int x) const { if (x < 2) return x; @@ -132,7 +132,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return static_cast(l); } - forceinline bool + forceinline bool PowOps::powle(long long int r, int x) const { assert(r >= 0); int m = n; @@ -153,7 +153,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return true; } - inline int + inline int PowOps::cnroot(int x) const { if (x < 2) return x; @@ -172,28 +172,28 @@ namespace Gecode { namespace Int { namespace Arithmetic { - forceinline bool + forceinline bool SqrOps::even(void) const { return true; } - forceinline int + forceinline int SqrOps::exp(void) const { return 2; } - forceinline void + forceinline void SqrOps::exp(int) { GECODE_NEVER; } template - inline IntType + inline IntType SqrOps::pow(IntType x) const { return x * x; } - inline int + inline int SqrOps::tpow(int _x) const { long long int x = _x; if (x*x > Limits::max) @@ -203,7 +203,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return static_cast(x*x); } - inline int + inline int SqrOps::fnroot(int x) const { if (x < 2) return x; @@ -220,7 +220,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { return static_cast(l); } - inline int + inline int SqrOps::cnroot(int x) const { if (x < 2) return x; diff --git a/gecode/int/arithmetic/pow.hpp b/gecode/int/arithmetic/pow.hpp index 50d4823b88..30a07eebb7 100755 --- a/gecode/int/arithmetic/pow.hpp +++ b/gecode/int/arithmetic/pow.hpp @@ -79,7 +79,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline PowPlusBnd::PowPlusBnd(Home home, VA x0, VB x1, const Ops& o) - : MixBinaryPropagator(home,x0,x1), + : MixBinaryPropagator(home,x0,x1), ops(o) {} template @@ -97,7 +97,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - PowPlusBnd::PowPlusBnd(Space& home, bool share, + PowPlusBnd::PowPlusBnd(Space& home, bool share, PowPlusBnd& p) : MixBinaryPropagator(home,share,p), ops(p.ops) {} @@ -139,14 +139,14 @@ namespace Gecode { namespace Int { namespace Arithmetic { GECODE_ME_CHECK(x0.gq(home,-ops.fnroot(-x1.min()))); GECODE_ME_CHECK(x1.lq(home,ops.pow(x0.max()))); GECODE_ME_CHECK(x1.gq(home,ops.pow(x0.min()))); - } + } return ES_OK; } template forceinline PowBnd::PowBnd(Home home, IntView x0, IntView x1, const Ops& o) - : BinaryPropagator(home,x0,x1), + : BinaryPropagator(home,x0,x1), ops(o) {} template @@ -192,10 +192,10 @@ namespace Gecode { namespace Int { namespace Arithmetic { if (!ops.even() && ((x0.max() <= 0) || (x1.max() <= 0))) return PowPlusBnd ::post(home,MinusView(x0),MinusView(x1),ops); - + if (ops.even()) GECODE_ME_CHECK(x1.gq(home,0)); - + assert((x0.min() < 0) && (x0.max() > 0)); if (ops.even()) { @@ -228,7 +228,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { if ((x0.min() >= 0) || ((x1.min() >= 0) && !ops.even())) GECODE_REWRITE(*this,(PowPlusBnd ::post(home(*this),x0,x1,ops))); - + if (ops.even() && (x0.max() <= 0)) GECODE_REWRITE(*this,(PowPlusBnd ::post(home(*this),MinusView(x0),x1,ops))); @@ -239,7 +239,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { MinusView(x1),ops))); GECODE_ES_CHECK(prop_pow_bnd(home,x0,x1,ops)); - + if (x0.assigned() && x1.assigned()) return (ops.pow(x0.val()) == x1.val()) ? home.ES_SUBSUMED(*this) : ES_FAILED; @@ -309,7 +309,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline PowPlusDom::PowPlusDom(Home home, VA x0, VB x1, const Ops& o) - : MixBinaryPropagator(home,x0,x1), + : MixBinaryPropagator(home,x0,x1), ops(o) {} template @@ -327,7 +327,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline - PowPlusDom::PowPlusDom(Space& home, bool share, + PowPlusDom::PowPlusDom(Space& home, bool share, PowPlusDom& p) : MixBinaryPropagator(home,share,p), ops(p.ops) {} @@ -430,10 +430,10 @@ namespace Gecode { namespace Int { namespace Arithmetic { if (!ops.even() && ((x0.max() <= 0) || (x1.max() <= 0))) return PowPlusDom ::post(home,MinusView(x0),MinusView(x1),ops); - + if (ops.even()) GECODE_ME_CHECK(x1.gq(home,0)); - + assert((x0.min() < 0) && (x0.max() > 0)); if (ops.even()) { @@ -451,7 +451,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { template forceinline PowDom::PowDom(Space& home, bool share, PowDom& p) - : BinaryPropagator(home,share,p), + : BinaryPropagator(home,share,p), ops(p.ops) {} template @@ -477,11 +477,11 @@ namespace Gecode { namespace Int { namespace Arithmetic { if ((x0.min() >= 0) || ((x1.min() >= 0) && !ops.even())) GECODE_REWRITE(*this,(PowPlusDom ::post(home(*this),x0,x1,ops))); - + if (ops.even() && (x0.max() <= 0)) GECODE_REWRITE(*this,(PowPlusDom ::post(home(*this),MinusView(x0),x1,ops))); - + if (!ops.even() && ((x0.max() <= 0) || (x1.max() <= 0))) GECODE_REWRITE(*this,(PowPlusDom ::post(home(*this),MinusView(x0), @@ -529,7 +529,7 @@ namespace Gecode { namespace Int { namespace Arithmetic { } else { ViewValues v1(x1); ValuesMapNrootSigned vmn(ops); - Iter::Values::Map,ValuesMapNrootSigned > + Iter::Values::Map,ValuesMapNrootSigned > s1(v1,vmn); GECODE_ME_CHECK(x0.inter_v(home,s1,false)); } diff --git a/gecode/int/array-traits.hpp b/gecode/int/array-traits.hpp index d14ce3e5db..e74037b5ef 100644 --- a/gecode/int/array-traits.hpp +++ b/gecode/int/array-traits.hpp @@ -42,7 +42,7 @@ namespace Gecode { class BoolVarArgs; class BoolVarArray; class IntArgs; - + /// Traits of %IntVarArgs template<> class ArrayTraits > { @@ -105,7 +105,7 @@ namespace Gecode { typedef IntVar ValueType; typedef IntVarArgs ArgsType; }; - + /// Traits of %IntVarArgs template<> class ArrayTraits { @@ -123,7 +123,7 @@ namespace Gecode { typedef int ValueType; typedef IntArgs ArgsType; }; - + /// Traits of %BoolVarArray template<> class ArrayTraits { @@ -132,7 +132,7 @@ namespace Gecode { typedef BoolVar ValueType; typedef BoolVarArgs ArgsType; }; - + /// Traits of %BoolVarArgs template<> class ArrayTraits { diff --git a/gecode/int/array.cpp b/gecode/int/array.cpp index cd01767e9f..0bc63d9a52 100755 --- a/gecode/int/array.cpp +++ b/gecode/int/array.cpp @@ -47,7 +47,7 @@ namespace Gecode { a[i] = va_arg(args,int); va_end(args); } - + IntVarArray::IntVarArray(Space& home, int n, int min, int max) : VarArray(home,n) { Int::Limits::check(min,"IntVarArray::IntVarArray"); diff --git a/gecode/int/array.hpp b/gecode/int/array.hpp index 2908b0e566..0bb9a4189d 100755 --- a/gecode/int/array.hpp +++ b/gecode/int/array.hpp @@ -47,7 +47,7 @@ namespace Gecode { forceinline IntArgs::IntArgs(int n) : PrimArgArray(n) {} - + forceinline IntArgs::IntArgs(const SharedArray& x) : PrimArgArray(x.size()) { @@ -61,10 +61,10 @@ namespace Gecode { forceinline IntArgs::IntArgs(InputIterator first, InputIterator last) : PrimArgArray(first,last) {} - + forceinline IntArgs::IntArgs(int n, const int* e) : PrimArgArray(n, e) {} - + forceinline IntArgs::IntArgs(const PrimArgArray& a) : PrimArgArray(a) {} diff --git a/gecode/int/bin-packing.cpp b/gecode/int/bin-packing.cpp index f6fedc937f..583ffee815 100644 --- a/gecode/int/bin-packing.cpp +++ b/gecode/int/bin-packing.cpp @@ -42,18 +42,18 @@ namespace Gecode { void - binpacking(Home home, - const IntVarArgs& l, + binpacking(Home home, + const IntVarArgs& l, const IntVarArgs& b, const IntArgs& s, - IntConLevel) { + IntPropLevel) { using namespace Int; if (l.same(home,b)) throw ArgumentSame("Int::binpacking"); if (b.size() != s.size()) - throw ArgumentSizeMismatch("Int::binpacking"); + throw ArgumentSizeMismatch("Int::binpacking"); for (int i=s.size(); i--; ) Limits::nonnegative(s[i],"Int::binpacking"); - if (home.failed()) return; + GECODE_POST; ViewArray lv(home,l.size()); for (int i=l.size(); i--; ) @@ -68,9 +68,9 @@ namespace Gecode { IntSet binpacking(Home home, int d, - const IntVarArgs& l, const IntVarArgs& b, + const IntVarArgs& l, const IntVarArgs& b, const IntArgs& s, const IntArgs& c, - IntConLevel) { + IntPropLevel) { using namespace Int; if (l.same(home,b)) @@ -83,15 +83,17 @@ namespace Gecode { // Check input sizes if ((n*d != s.size()) || (m*d != l.size()) || (d != c.size())) - throw ArgumentSizeMismatch("Int::binpacking"); + throw ArgumentSizeMismatch("Int::binpacking"); for (int i=s.size(); i--; ) Limits::nonnegative(s[i],"Int::binpacking"); for (int i=c.size(); i--; ) Limits::nonnegative(c[i],"Int::binpacking"); - if (home.failed()) + if (home.failed()) return IntSet::empty; + PostInfo pi(home); + // Capacity constraint for each dimension for (int k=d; k--; ) for (int j=m; j--; ) { @@ -107,11 +109,11 @@ namespace Gecode { ViewArray lv(home,m); for (int j=m; j--; ) lv[j] = OffsetView(l[j*d+k],0); - + ViewArray bv(home,n); for (int i=n; i--; ) bv[i] = BinPacking::Item(b[i],s[i*d+k]); - + if (Int::BinPacking::Pack::post(home,lv,bv) == ES_FAILED) { home.fail(); return IntSet::empty; @@ -149,7 +151,7 @@ namespace Gecode { cg.edge(i,j); } } - + if (cg.post() == ES_FAILED) home.fail(); @@ -157,7 +159,7 @@ namespace Gecode { return cg.maxclique(); } } - + } // STATISTICS: int-post diff --git a/gecode/int/bin-packing.hh b/gecode/int/bin-packing.hh index 0b5ad44b31..522966b438 100644 --- a/gecode/int/bin-packing.hh +++ b/gecode/int/bin-packing.hh @@ -156,8 +156,8 @@ namespace Gecode { namespace Int { namespace BinPacking { Pack(Space& home, bool share, Pack& p); public: /// Post propagator for loads \a l and items \a bs - GECODE_INT_EXPORT - static ExecStatus post(Home home, + GECODE_INT_EXPORT + static ExecStatus post(Home home, ViewArray& l, ViewArray& bs); /// Detect non-existence of sums in \a a .. \a b template @@ -166,13 +166,16 @@ namespace Gecode { namespace Int { namespace BinPacking { template bool nosum(const SizeSet& s, int a, int b); /// Perform propagation - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Cost function - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + GECODE_INT_EXPORT + virtual void reschedule(Space& home); /// Copy propagator during cloning - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); /// Destructor virtual size_t dispose(Space& home); @@ -183,7 +186,7 @@ namespace Gecode { namespace Int { namespace BinPacking { class ConflictGraph { protected: /// Home space - Space& home; + Home& home; /// Bin variables const IntVarArgs& b; /// Number of bins @@ -215,12 +218,12 @@ namespace Gecode { namespace Int { namespace BinPacking { /// Clear the whole node set for \a n nodes void empty(int n); /** - * Initialize \a ac as intersection of \a a and \a c, - * \a bc as intersection of \a b and \a c where \a n - * is the maximal number of nodes. Return whether both \ac + * Initialize \a ac as intersection of \a a and \a c, + * \a bc as intersection of \a b and \a c where \a n + * is the maximal number of nodes. Return whether both \ac * and \a bc are empty. */ - static bool iwn(NodeSet& iwa, const NodeSet& a, + static bool iwn(NodeSet& iwa, const NodeSet& a, NodeSet& iwb, const NodeSet& b, const NodeSet& c, int n); }; @@ -255,14 +258,14 @@ namespace Gecode { namespace Int { namespace BinPacking { /// Move iterator to next node (if possible) void operator ++(void); //@} - + /// \name %Node access //@{ /// Return current node int operator ()(void) const; //@} }; - + /// \name Routines for Bosch-Kerbron algorithm //@{ /// Clique information @@ -306,7 +309,7 @@ namespace Gecode { namespace Int { namespace BinPacking { //@} public: /// Initialize graph - ConflictGraph(Space& home, Region& r, const IntVarArgs& b, + ConflictGraph(Home& home, Region& r, const IntVarArgs& b, int m); /// Add or remove an edge between nodes \a i and \a j (\a i must be less than \a j) void edge(int i, int j, bool add=true); diff --git a/gecode/int/bin-packing/conflict-graph.cpp b/gecode/int/bin-packing/conflict-graph.cpp index 807053d788..10b5025f4b 100644 --- a/gecode/int/bin-packing/conflict-graph.cpp +++ b/gecode/int/bin-packing/conflict-graph.cpp @@ -44,7 +44,7 @@ namespace Gecode { namespace Int { namespace BinPacking { assert(!(p.none(nodes()) && x.none(nodes()))); // Iterate over neighbors of pivot node Nodes n(node[pivot(p,x)].n); - // Iterate over elements of p + // Iterate over elements of p Nodes i(p); // The loop iterates over elements in i - n while (i() < nodes()) { @@ -59,7 +59,7 @@ namespace Gecode { namespace Int { namespace BinPacking { Region reg(home); // Found i.val() to be in i - n - + NodeSet np, nx; np.allocate(reg,nodes()); nx.allocate(reg,nodes()); @@ -84,7 +84,7 @@ namespace Gecode { namespace Int { namespace BinPacking { } return ES_OK; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/bin-packing/conflict-graph.hpp b/gecode/int/bin-packing/conflict-graph.hpp index 2e5f44497b..e6f249c860 100644 --- a/gecode/int/bin-packing/conflict-graph.hpp +++ b/gecode/int/bin-packing/conflict-graph.hpp @@ -53,7 +53,7 @@ namespace Gecode { namespace Int { namespace BinPacking { ConflictGraph::NodeSet::NodeSet(Region& r, int n) : Support::RawBitSetBase(r,static_cast(n)) {} forceinline - ConflictGraph::NodeSet::NodeSet(Region& r, int n, + ConflictGraph::NodeSet::NodeSet(Region& r, int n, const NodeSet& ns) : Support::RawBitSetBase(r,static_cast(n),ns) {} forceinline void @@ -85,7 +85,7 @@ namespace Gecode { namespace Int { namespace BinPacking { RawBitSetBase::clearall(static_cast(n)); } forceinline bool - ConflictGraph::NodeSet::iwn(NodeSet& cwa, const NodeSet& a, + ConflictGraph::NodeSet::iwn(NodeSet& cwa, const NodeSet& a, NodeSet& cwb, const NodeSet& b, const NodeSet& c, int _n) { unsigned int n = static_cast(_n); @@ -98,7 +98,7 @@ namespace Gecode { namespace Int { namespace BinPacking { for (unsigned int i=0; i(m)), node(reg.alloc(nodes())), cur(reg,nodes()), max(reg,nodes()) { @@ -188,13 +188,13 @@ namespace Gecode { namespace Int { namespace BinPacking { unsigned int m = node[p].d; while (i() < nodes()) { if (node[i()].d > m) { - p=i(); m=node[p].d; + p=i(); m=node[p].d; } ++i; } while (j() < nodes()) { if (node[j()].d > m) { - p=j(); m=node[p].d; + p=j(); m=node[p].d; } ++j; } @@ -231,8 +231,8 @@ namespace Gecode { namespace Int { namespace BinPacking { ConflictGraph::clique(int i, int j) { unsigned int w = node[i].w + node[j].w; if ((2 > max.c) || ((2 == max.c) && (cur.w > max.w))) { - max.n.empty(nodes()); - max.n.incl(i); max.n.incl(j); + max.n.empty(nodes()); + max.n.incl(i); max.n.incl(j); max.c=2; max.w=w; if (max.c > bins) return ES_FAILED; @@ -244,8 +244,8 @@ namespace Gecode { namespace Int { namespace BinPacking { ConflictGraph::clique(int i, int j, int k) { unsigned int w = node[i].w + node[j].w + node[k].w; if ((3 > max.c) || ((3 == max.c) && (cur.w > max.w))) { - max.n.empty(nodes()); - max.n.incl(i); max.n.incl(j); max.n.incl(k); + max.n.empty(nodes()); + max.n.incl(i); max.n.incl(j); max.n.incl(k); max.c=3; max.w=w; if (max.c > bins) return ES_FAILED; @@ -329,7 +329,7 @@ namespace Gecode { namespace Int { namespace BinPacking { return ES_OK; } - forceinline IntSet + inline IntSet ConflictGraph::maxclique(void) const { Region reg(home); int* n=reg.alloc(max.c); diff --git a/gecode/int/bin-packing/propagate.cpp b/gecode/int/bin-packing/propagate.cpp index 776fac7fc0..8c9019a5c1 100755 --- a/gecode/int/bin-packing/propagate.cpp +++ b/gecode/int/bin-packing/propagate.cpp @@ -44,12 +44,18 @@ namespace Gecode { namespace Int { namespace BinPacking { * */ - PropCost + PropCost Pack::cost(const Space&, const ModEventDelta&) const { return PropCost::quadratic(PropCost::HI,bs.size()); } - Actor* + void + Pack::reschedule(Space& home) { + l.reschedule(home,*this,PC_INT_BND); + bs.reschedule(home,*this,PC_INT_DOM); + } + + Actor* Pack::copy(Space& home, bool share) { return new (home) Pack(home,share,*this); } @@ -75,9 +81,9 @@ namespace Gecode { namespace Int { namespace BinPacking { }; forceinline - TellCache::TellCache(Region& region, int m) + TellCache::TellCache(Region& region, int m) : _nq(region.alloc(m)), _n_nq(0), _eq(-1) {} - forceinline void + forceinline void TellCache::nq(int j) { _nq[_n_nq++] = j; } @@ -107,7 +113,7 @@ namespace Gecode { namespace Int { namespace BinPacking { * Propagation proper * */ - ExecStatus + ExecStatus Pack::propagate(Space& home, const ModEventDelta& med) { // Number of items int n = bs.size(); @@ -180,7 +186,7 @@ namespace Gecode { namespace Int { namespace BinPacking { return home.ES_SUBSUMED(*this); } - + { TellCache tc(region,m); @@ -189,7 +195,7 @@ namespace Gecode { namespace Int { namespace BinPacking { for (ViewValues j(bs[i].bin()); j(); ++j) { if (bs[i].size() > l[j.val()].max()) tc.nq(j.val()); - if (s[j.val()] - bs[i].size() < l[j.val()].min()) + if (s[j.val()] - bs[i].size() < l[j.val()].min()) tc.eq(j.val()); } GECODE_ES_CHECK(tc.tell(home,bs[i].bin())); @@ -225,7 +231,7 @@ namespace Gecode { namespace Int { namespace BinPacking { // Set up size information for (int i=0; i j(bs[i].bin()); j(); ++j) + for (ViewValues j(bs[i].bin()); j(); ++j) s[j.val()].add(bs[i].size()); } @@ -235,11 +241,11 @@ namespace Gecode { namespace Int { namespace BinPacking { return ES_FAILED; int ap, bp; // Must there be packed more items into bin? - if (nosum(static_cast(s[j]), l[j].min(), l[j].min(), + if (nosum(static_cast(s[j]), l[j].min(), l[j].min(), ap, bp)) GECODE_ME_CHECK(l[j].gq(home,bp)); // Must there be packed less items into bin? - if (nosum(static_cast(s[j]), l[j].max(), l[j].max(), + if (nosum(static_cast(s[j]), l[j].max(), l[j].max(), ap, bp)) GECODE_ME_CHECK(l[j].lq(home,ap)); } @@ -253,7 +259,7 @@ namespace Gecode { namespace Int { namespace BinPacking { // Items must be removed in decreasing size! s[j.val()].minus(bs[i].size()); // Can item i still be packed into bin j? - if (nosum(s[j.val()], + if (nosum(s[j.val()], l[j.val()].min() - bs[i].size(), l[j.val()].max() - bs[i].size())) tc.nq(j.val()); @@ -297,7 +303,7 @@ namespace Gecode { namespace Int { namespace BinPacking { int nm = n; // Only count positive remaining bin loads - for (int j=m; j--; ) + for (int j=m; j--; ) if (l[j].max() < 0) { return ES_FAILED; } else if (c > l[j].max()) { @@ -311,7 +317,7 @@ namespace Gecode { namespace Int { namespace BinPacking { { int k=0; for (int i=c+1; i--; ) - for (int n=n_s[i]; n--; ) + for (int j=n_s[i]; j--; ) s[k++]=i; assert(k == nm); } @@ -320,7 +326,7 @@ namespace Gecode { namespace Int { namespace BinPacking { int n1 = 0; // Items in N2 are from n1 ... n12 - 1, we count elements in N1 and N2 int n12 = 0; - // Items in N3 are from n12 ... n3 - 1 + // Items in N3 are from n12 ... n3 - 1 int n3 = 0; // Free space in N2 int f2 = 0; @@ -334,7 +340,7 @@ namespace Gecode { namespace Int { namespace BinPacking { // Initialize n3 and s3 for (n3 = n12; n3 < nm; n3++) s3 += s[n3]; - + // Compute lower bounds for (int k=0; k<=c/2; k++) { // Make N1 larger by adding elements and N2 smaller @@ -358,10 +364,18 @@ namespace Gecode { namespace Int { namespace BinPacking { Pack::post(Home home, ViewArray& l, ViewArray& bs) { // Sort according to size Support::quicksort(&bs[0], bs.size()); + // Total size of items + int s = 0; + // Constrain bins + for (int i=bs.size(); i--; ) { + s += bs[i].size(); + GECODE_ME_CHECK(bs[i].bin().gq(home,0)); + GECODE_ME_CHECK(bs[i].bin().le(home,l.size())); + } // Eliminate zero sized items (which are at the end as the size are sorted) { int n = bs.size(); - while (bs[n-1].size() == 0) + while ((n > 0) && (bs[n-1].size() == 0)) n--; bs.size(n); } @@ -374,13 +388,6 @@ namespace Gecode { namespace Int { namespace BinPacking { // No bins available return ES_FAILED; } else { - int s = 0; - // Constrain bins - for (int i=bs.size(); i--; ) { - s += bs[i].size(); - GECODE_ME_CHECK(bs[i].bin().gq(home,0)); - GECODE_ME_CHECK(bs[i].bin().le(home,l.size())); - } // Constrain load for (int j=l.size(); j--; ) { GECODE_ME_CHECK(l[j].gq(home,0)); diff --git a/gecode/int/bin-packing/propagate.hpp b/gecode/int/bin-packing/propagate.hpp index 9ec9b991b6..a4f800092e 100755 --- a/gecode/int/bin-packing/propagate.hpp +++ b/gecode/int/bin-packing/propagate.hpp @@ -42,13 +42,13 @@ namespace Gecode { namespace Int { namespace BinPacking { * */ forceinline - Item::Item(void) + Item::Item(void) : s(0) {} forceinline Item::Item(IntView b, int s0) : DerivedView(b), s(s0) {} - forceinline IntView + forceinline IntView Item::bin(void) const { return x; } @@ -56,11 +56,11 @@ namespace Gecode { namespace Int { namespace BinPacking { void Item::bin(IntView b) { x = b; } - forceinline int + forceinline int Item::size(void) const { return s; } - forceinline void + forceinline void Item::size(int s0) { s = s0; } @@ -72,7 +72,7 @@ namespace Gecode { namespace Int { namespace BinPacking { } - forceinline bool + forceinline bool same(const Item& i, const Item& j) { return same(i.bin(),j.bin()) && (i.size() == j.size()); } @@ -83,7 +83,7 @@ namespace Gecode { namespace Int { namespace BinPacking { } /// For sorting according to size - forceinline bool + forceinline bool operator <(const Item& i, const Item& j) { return i.size() > j.size(); } @@ -96,7 +96,7 @@ namespace Gecode { namespace Int { namespace BinPacking { forceinline SizeSet::SizeSet(void) {} forceinline - SizeSet::SizeSet(Region& region, int n_max) + SizeSet::SizeSet(Region& region, int n_max) : n(0), t(0), s(region.alloc(n_max)) {} forceinline void SizeSet::add(int s0) { @@ -118,7 +118,7 @@ namespace Gecode { namespace Int { namespace BinPacking { forceinline SizeSetMinusOne::SizeSetMinusOne(void) {} forceinline - SizeSetMinusOne::SizeSetMinusOne(Region& region, int n_max) + SizeSetMinusOne::SizeSetMinusOne(Region& region, int n_max) : SizeSet(region,n_max), p(-1) {} forceinline void SizeSetMinusOne::minus(int s0) { @@ -144,7 +144,7 @@ namespace Gecode { namespace Int { namespace BinPacking { return s[(i < p) ? i : i+1]; } - + /* * Packing propagator @@ -161,13 +161,13 @@ namespace Gecode { namespace Int { namespace BinPacking { } forceinline - Pack::Pack(Space& home, bool shared, Pack& p) + Pack::Pack(Space& home, bool shared, Pack& p) : Propagator(home,shared,p), t(p.t) { l.update(home,shared,p.l); bs.update(home,shared,p.bs); } - forceinline size_t + forceinline size_t Pack::dispose(Space& home) { l.cancel(home,*this,PC_INT_BND); bs.cancel(home,*this,PC_INT_DOM); diff --git a/gecode/int/bool.cpp b/gecode/int/bool.cpp index b771120ff4..dbbf134638 100644 --- a/gecode/int/bool.cpp +++ b/gecode/int/bool.cpp @@ -41,9 +41,9 @@ namespace Gecode { void - rel(Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntConLevel) { + rel(Home home, BoolVar x0, IntRelType irt, BoolVar x1, IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; switch (irt) { case IRT_EQ: GECODE_ES_FAIL((Bool::Eq @@ -74,9 +74,9 @@ namespace Gecode { } void - rel(Home home, BoolVar x0, IntRelType irt, int n, IntConLevel) { + rel(Home home, BoolVar x0, IntRelType irt, int n, IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; BoolView x(x0); if (n == 0) { switch (irt) { @@ -115,9 +115,9 @@ namespace Gecode { void rel(Home home, BoolVar x0, IntRelType irt, BoolVar x1, Reify r, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; switch (irt) { case IRT_EQ: switch (r.mode()) { @@ -210,9 +210,9 @@ namespace Gecode { void rel(Home home, BoolVar x0, IntRelType irt, int n, Reify r, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; BoolView x(x0); BoolView y(r.var()); if (n == 0) { @@ -372,9 +372,9 @@ namespace Gecode { void rel(Home home, const BoolVarArgs& x, IntRelType irt, BoolVar y, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; switch (irt) { case IRT_EQ: for (int i=x.size(); i--; ) { @@ -418,9 +418,9 @@ namespace Gecode { void rel(Home home, const BoolVarArgs& x, IntRelType irt, int n, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; if (n == 0) { switch (irt) { case IRT_LQ: @@ -469,9 +469,10 @@ namespace Gecode { } void - rel(Home home, const BoolVarArgs& x, IntRelType irt, IntConLevel) { + rel(Home home, const BoolVarArgs& x, IntRelType irt, IntPropLevel) { using namespace Int; - if (home.failed() || ((irt != IRT_NQ) && (x.size() < 2))) + GECODE_POST; + if ((irt != IRT_NQ) && (x.size() < 2)) return; switch (irt) { @@ -524,11 +525,11 @@ namespace Gecode { void rel(Home home, const BoolVarArgs& x, IntRelType irt, const BoolVarArgs& y, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.size() != y.size()) throw ArgumentSizeMismatch("Int::rel"); - if (home.failed()) return; + GECODE_POST; switch (irt) { case IRT_GR: @@ -574,9 +575,9 @@ namespace Gecode { void rel(Home home, BoolVar x0, BoolOpType o, BoolVar x1, BoolVar x2, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; switch (o) { case BOT_AND: { @@ -589,7 +590,7 @@ namespace Gecode { GECODE_ES_FAIL((Bool::Or ::post(home,x0,x1,x2))); break; - case BOT_IMP: + case BOT_IMP: { NegBoolView n0(x0); GECODE_ES_FAIL((Bool::Or @@ -614,9 +615,9 @@ namespace Gecode { void rel(Home home, BoolVar x0, BoolOpType o, BoolVar x1, int n, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; if (n == 0) { switch (o) { case BOT_AND: @@ -690,9 +691,9 @@ namespace Gecode { void rel(Home home, BoolOpType o, const BoolVarArgs& x, BoolVar y, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; int m = x.size(); Region r(home); switch (o) { @@ -753,11 +754,11 @@ namespace Gecode { void rel(Home home, BoolOpType o, const BoolVarArgs& x, int n, - IntConLevel) { + IntPropLevel) { using namespace Int; if ((n < 0) || (n > 1)) throw NotZeroOne("Int::rel"); - if (home.failed()) return; + GECODE_POST; int m = x.size(); Region r(home); switch (o) { @@ -822,17 +823,17 @@ namespace Gecode { void clause(Home home, BoolOpType o, const BoolVarArgs& x, const BoolVarArgs& y, - int n, IntConLevel) { + int n, IntPropLevel) { using namespace Int; if ((n < 0) || (n > 1)) throw NotZeroOne("Int::rel"); - if (home.failed()) return; + GECODE_POST; switch (o) { case BOT_AND: if (n == 0) { ViewArray xv(home,x.size()); for (int i=x.size(); i--; ) { - NegBoolView n(x[i]); xv[i]=n; + NegBoolView nxi(x[i]); xv[i]=nxi; } ViewArray yv(home,y); xv.unique(home); yv.unique(home); @@ -859,7 +860,7 @@ namespace Gecode { ViewArray xv(home,x); ViewArray yv(home,y.size()); for (int i=y.size(); i--; ) { - NegBoolView n(y[i]); yv[i]=n; + NegBoolView nyi(y[i]); yv[i]=nyi; } xv.unique(home); yv.unique(home); GECODE_ES_FAIL((Bool::ClauseTrue @@ -873,9 +874,9 @@ namespace Gecode { void clause(Home home, BoolOpType o, const BoolVarArgs& x, const BoolVarArgs& y, - BoolVar z, IntConLevel) { + BoolVar z, IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; switch (o) { case BOT_AND: { @@ -909,13 +910,15 @@ namespace Gecode { void ite(Home home, BoolVar b, IntVar x, IntVar y, IntVar z, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; - if (icl == ICL_BND) { - GECODE_ES_FAIL(Bool::IteBnd::post(home,b,x,y,z)); + GECODE_POST; + if (vbd(ipl) == IPL_BND) { + GECODE_ES_FAIL((Bool::IteBnd + ::post(home,b,x,y,z))); } else { - GECODE_ES_FAIL(Bool::IteDom::post(home,b,x,y,z)); + GECODE_ES_FAIL((Bool::IteDom + ::post(home,b,x,y,z))); } } diff --git a/gecode/int/bool.hh b/gecode/int/bool.hh index 0b5f3e0aef..cae6ca99d0 100644 --- a/gecode/int/bool.hh +++ b/gecode/int/bool.hh @@ -70,6 +70,8 @@ namespace Gecode { namespace Int { namespace Bool { public: /// Cost function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -91,6 +93,8 @@ namespace Gecode { namespace Int { namespace Bool { BVA b0, BVB b1, BVC b2); /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -372,6 +376,8 @@ namespace Gecode { namespace Int { namespace Bool { virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Cost function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ \bigvee_{i=0}^{|x|-1} x_i = y\f$ @@ -464,16 +470,16 @@ namespace Gecode { namespace Int { namespace Bool { NaryEqv(Space& home, bool share, NaryEqv& p); public: /// Copy propagator during cloning - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); /// Cost function (defined as low binary) - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual PropCost cost(const Space& home, const ModEventDelta& med) const; /// Perform propagation - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x_0 \Leftrightarrow x_1 \Leftrightarrow \cdots \Leftrightarrow x_{|x|-1}=p\f$ - GECODE_INT_EXPORT + GECODE_INT_EXPORT static ExecStatus post(Home home, ViewArray& x, int pm2); /// Delete propagator and return its size virtual size_t dispose(Space& home); @@ -522,6 +528,8 @@ namespace Gecode { namespace Int { namespace Bool { virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Cost function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ \bigvee_{i=0}^{|x|-1} x_i \vee \bigvee_{i=0}^{|x|-1} y_i = z\f$ @@ -572,20 +580,22 @@ namespace Gecode { namespace Int { namespace Bool { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template + template class IteBase : public Propagator { protected: /// View for condition BoolView b; /// Views - View x0, x1, x2; + V0 x0; V1 x1; V2 x2; /// Constructor for cloning \a p IteBase(Space& home, bool share, IteBase& p); /// Constructor for creation - IteBase(Home home, BoolView b, View x0, View x1, View x2); + IteBase(Home home, BoolView b, V0 x0, V1 x1, V2 x2); public: /// Cost function (defined as low ternary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -596,24 +606,24 @@ namespace Gecode { namespace Int { namespace Bool { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class IteBnd : public IteBase { + template + class IteBnd : public IteBase { protected: - using IteBase::b; - using IteBase::x0; - using IteBase::x1; - using IteBase::x2; + using IteBase::b; + using IteBase::x0; + using IteBase::x1; + using IteBase::x2; /// Constructor for cloning \a p IteBnd(Space& home, bool share, IteBnd& p); /// Constructor for creation - IteBnd(Home home, BoolView b, View x0, View x1, View x2); + IteBnd(Home home, BoolView b, V0 x0, V1 x1, V2 x2); public: /// Copy propagator during cloning virtual Actor* copy(Space& home, bool share); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post if-then-else propagator - static ExecStatus post(Home home, BoolView b, View x0, View x1, View x2); + static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2); }; /** @@ -622,17 +632,17 @@ namespace Gecode { namespace Int { namespace Bool { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class IteDom : public IteBase { + template + class IteDom : public IteBase { protected: - using IteBase::b; - using IteBase::x0; - using IteBase::x1; - using IteBase::x2; + using IteBase::b; + using IteBase::x0; + using IteBase::x1; + using IteBase::x2; /// Constructor for cloning \a p IteDom(Space& home, bool share, IteDom& p); /// Constructor for creation - IteDom(Home home, BoolView b, View x0, View x1, View x2); + IteDom(Home home, BoolView b, V0 x0, V1 x1, V2 x2); public: /// Copy propagator during cloning virtual Actor* copy(Space& home, bool share); @@ -641,7 +651,7 @@ namespace Gecode { namespace Int { namespace Bool { /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post if-then-else propagator - static ExecStatus post(Home home, BoolView b, View x0, View x1, View x2); + static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2); }; }}} diff --git a/gecode/int/bool/base.hpp b/gecode/int/bool/base.hpp index 5cc0a9acd5..36d59cd7ca 100755 --- a/gecode/int/bool/base.hpp +++ b/gecode/int/bool/base.hpp @@ -73,6 +73,13 @@ namespace Gecode { namespace Int { namespace Bool { return PropCost::unary(PropCost::LO); } + template + void + BoolBinary::reschedule(Space& home) { + x0.reschedule(home,*this,PC_BOOL_VAL); + x1.reschedule(home,*this,PC_BOOL_VAL); + } + template forceinline size_t BoolBinary::dispose(Space& home) { @@ -122,6 +129,14 @@ namespace Gecode { namespace Int { namespace Bool { return PropCost::binary(PropCost::LO); } + template + void + BoolTernary::reschedule(Space& home) { + x0.reschedule(home,*this,PC_BOOL_VAL); + x1.reschedule(home,*this,PC_BOOL_VAL); + x2.reschedule(home,*this,PC_BOOL_VAL); + } + template forceinline size_t BoolTernary::dispose(Space& home) { diff --git a/gecode/int/bool/clause.hpp b/gecode/int/bool/clause.hpp index 721c67cb7b..db9f33ab6c 100755 --- a/gecode/int/bool/clause.hpp +++ b/gecode/int/bool/clause.hpp @@ -326,6 +326,24 @@ namespace Gecode { namespace Int { namespace Bool { return ES_NOFIX; } + template + void + Clause::reschedule(Space& home) { + z.reschedule(home,*this,PC_BOOL_VAL); + if (n_zero == x.size() + y.size()) + VX::schedule(home,*this,ME_BOOL_VAL); + for (int i=x.size(); i--; ) + if (x[i].one()) { + VX::schedule(home,*this,ME_BOOL_VAL); + return; + } + for (int i=y.size(); i--; ) + if (y[i].one()) { + VX::schedule(home,*this,ME_BOOL_VAL); + return; + } + } + template ExecStatus Clause::propagate(Space& home, const ModEventDelta&) { @@ -341,7 +359,7 @@ namespace Gecode { namespace Int { namespace Bool { GECODE_ME_CHECK(z.zero_none(home)); c.dispose(home); } else { - // There is exactly one view which is one + // There is at least one view which is one GECODE_ME_CHECK(z.one_none(home)); } return home.ES_SUBSUMED(*this); diff --git a/gecode/int/bool/eqv.cpp b/gecode/int/bool/eqv.cpp index b6276e150a..e6a13812d7 100755 --- a/gecode/int/bool/eqv.cpp +++ b/gecode/int/bool/eqv.cpp @@ -72,8 +72,8 @@ namespace Gecode { namespace Int { namespace Bool { if (pm2 == 1) { return Bool::Eq::post(home,x[0],x[1]); } else { - NegBoolView n(x[1]); - return Bool::Eq::post(home,x[0],n); + NegBoolView nx(x[1]); + return Bool::Eq::post(home,x[0],nx); } } x.size(n); diff --git a/gecode/int/bool/eqv.hpp b/gecode/int/bool/eqv.hpp index e828b9067d..85d0d57af4 100755 --- a/gecode/int/bool/eqv.hpp +++ b/gecode/int/bool/eqv.hpp @@ -160,7 +160,7 @@ namespace Gecode { namespace Int { namespace Bool { forceinline NaryEqv::NaryEqv(Home home, ViewArray& x0, int pm20) - : BinaryPropagator(home,x0[0],x0[1]), + : BinaryPropagator(home,x0[0],x0[1]), x(x0), pm2(pm20) { assert(x.size() >= 2); x.drop_fst(2); diff --git a/gecode/int/bool/ite.hpp b/gecode/int/bool/ite.hpp index 3655f6fb79..5acae40261 100755 --- a/gecode/int/bool/ite.hpp +++ b/gecode/int/bool/ite.hpp @@ -41,9 +41,9 @@ namespace Gecode { namespace Int { namespace Bool { - template + template forceinline - IteBase::IteBase(Home home, BoolView b0, View y0, View y1, View y2) + IteBase::IteBase(Home home, BoolView b0, V0 y0, V1 y1, V2 y2) : Propagator(home), b(b0), x0(y0), x1(y1), x2(y2) { b.subscribe(home,*this,PC_BOOL_VAL); x0.subscribe(home,*this,pc); @@ -51,9 +51,10 @@ namespace Gecode { namespace Int { namespace Bool { x2.subscribe(home,*this,pc); } - template + template forceinline - IteBase::IteBase(Space& home, bool share, IteBase& p) + IteBase::IteBase(Space& home, bool share, + IteBase& p) : Propagator(home,share,p) { b.update(home,share,p.b); x0.update(home,share,p.x0); @@ -61,15 +62,24 @@ namespace Gecode { namespace Int { namespace Bool { x2.update(home,share,p.x2); } - template + template PropCost - IteBase::cost(const Space&, const ModEventDelta&) const { + IteBase::cost(const Space&, const ModEventDelta&) const { return PropCost::ternary(PropCost::LO); } - template + template + void + IteBase::reschedule(Space& home) { + b.reschedule(home,*this,PC_BOOL_VAL); + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + x2.reschedule(home,*this,pc); + } + + template forceinline size_t - IteBase::dispose(Space& home) { + IteBase::dispose(Space& home) { b.cancel(home,*this,PC_BOOL_VAL); x0.cancel(home,*this,pc); x1.cancel(home,*this,pc); @@ -80,46 +90,46 @@ namespace Gecode { namespace Int { namespace Bool { - template + template forceinline - IteBnd::IteBnd(Home home, BoolView b, View x0, View x1, View x2) - : IteBase(home,b,x0,x1,x2) {} + IteBnd::IteBnd(Home home, BoolView b, V0 x0, V1 x1, V2 x2) + : IteBase(home,b,x0,x1,x2) {} - template + template forceinline - IteBnd::IteBnd(Space& home, bool share, IteBnd& p) - : IteBase(home,share,p) {} + IteBnd::IteBnd(Space& home, bool share, IteBnd& p) + : IteBase(home,share,p) {} - template + template Actor* - IteBnd::copy(Space& home, bool share) { - return new (home) IteBnd(home,share,*this); + IteBnd::copy(Space& home, bool share) { + return new (home) IteBnd(home,share,*this); } - template + template inline ExecStatus - IteBnd::post(Home home, BoolView b, View x0, View x1, View x2) { - if (same(x0,x1) || b.one()) - return Rel::EqBnd::post(home,x2,x0); + IteBnd::post(Home home, BoolView b, V0 x0, V1 x1, V2 x2) { + if (b.one()) + return Rel::EqBnd::post(home,x2,x0); if (b.zero()) - return Rel::EqBnd::post(home,x2,x1); + return Rel::EqBnd::post(home,x2,x1); GECODE_ME_CHECK(x2.lq(home,std::max(x0.max(),x1.max()))); GECODE_ME_CHECK(x2.gq(home,std::min(x0.min(),x1.min()))); - (void) new (home) IteBnd(home,b,x0,x1,x2); + (void) new (home) IteBnd(home,b,x0,x1,x2); return ES_OK; } - template + template ExecStatus - IteBnd::propagate(Space& home, const ModEventDelta&) { + IteBnd::propagate(Space& home, const ModEventDelta&) { if (b.one()) - GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x0))); + GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x0))); if (b.zero()) - GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x1))); + GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x1))); GECODE_ME_CHECK(x2.lq(home,std::max(x0.max(),x1.max()))); GECODE_ME_CHECK(x2.gq(home,std::min(x0.min(),x1.min()))); - + RelTest eq20 = rtest_eq_bnd(x2,x0); RelTest eq21 = rtest_eq_bnd(x2,x1); @@ -131,7 +141,7 @@ namespace Gecode { namespace Int { namespace Bool { if (eq21 == RT_TRUE) return home.ES_SUBSUMED(*this); else - GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x1))); + GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x1))); } if (eq21 == RT_FALSE) { @@ -139,9 +149,9 @@ namespace Gecode { namespace Int { namespace Bool { if (eq20 == RT_TRUE) return home.ES_SUBSUMED(*this); else - GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x0))); + GECODE_REWRITE(*this,(Rel::EqBnd::post(home(*this),x2,x0))); } - + if ((eq20 == RT_TRUE) && (eq21 == RT_TRUE)) return home.ES_SUBSUMED(*this); @@ -150,56 +160,56 @@ namespace Gecode { namespace Int { namespace Bool { - template + template forceinline - IteDom::IteDom(Home home, BoolView b, View x0, View x1, View x2) - : IteBase(home,b,x0,x1,x2) {} + IteDom::IteDom(Home home, BoolView b, V0 x0, V1 x1, V2 x2) + : IteBase(home,b,x0,x1,x2) {} - template + template forceinline - IteDom::IteDom(Space& home, bool share, IteDom& p) - : IteBase(home,share,p) {} + IteDom::IteDom(Space& home, bool share, IteDom& p) + : IteBase(home,share,p) {} - template + template Actor* - IteDom::copy(Space& home, bool share) { - return new (home) IteDom(home,share,*this); + IteDom::copy(Space& home, bool share) { + return new (home) IteDom(home,share,*this); } - template + template inline ExecStatus - IteDom::post(Home home, BoolView b, View x0, View x1, View x2) { - if (same(x0,x1) || b.one()) - return Rel::EqDom::post(home,x2,x0); + IteDom::post(Home home, BoolView b, V0 x0, V1 x1, V2 x2) { + if (b.one()) + return Rel::EqDom::post(home,x2,x0); if (b.zero()) - return Rel::EqDom::post(home,x2,x1); + return Rel::EqDom::post(home,x2,x1); GECODE_ME_CHECK(x2.lq(home,std::max(x0.max(),x1.max()))); GECODE_ME_CHECK(x2.gq(home,std::min(x0.min(),x1.min()))); - (void) new (home) IteDom(home,b,x0,x1,x2); + (void) new (home) IteDom(home,b,x0,x1,x2); return ES_OK; } - template + template PropCost - IteDom::cost(const Space&, const ModEventDelta& med) const { - if (View::me(med) == ME_INT_DOM) + IteDom::cost(const Space&, const ModEventDelta& med) const { + if (V0::me(med) == ME_INT_DOM) return PropCost::ternary(PropCost::HI); else return PropCost::ternary(PropCost::LO); } - template + template ExecStatus - IteDom::propagate(Space& home, const ModEventDelta& med) { + IteDom::propagate(Space& home, const ModEventDelta& med) { if (b.one()) - GECODE_REWRITE(*this,(Rel::EqDom::post(home(*this),x2,x0))); + GECODE_REWRITE(*this,(Rel::EqDom::post(home(*this),x2,x0))); if (b.zero()) - GECODE_REWRITE(*this,(Rel::EqDom::post(home(*this),x2,x1))); + GECODE_REWRITE(*this,(Rel::EqDom::post(home(*this),x2,x1))); GECODE_ME_CHECK(x2.lq(home,std::max(x0.max(),x1.max()))); GECODE_ME_CHECK(x2.gq(home,std::min(x0.min(),x1.min()))); - if (View::me(med) != ME_INT_DOM) { + if (V0::me(med) != ME_INT_DOM) { RelTest eq20 = rtest_eq_bnd(x2,x0); RelTest eq21 = rtest_eq_bnd(x2,x1); @@ -212,22 +222,22 @@ namespace Gecode { namespace Int { namespace Bool { return home.ES_SUBSUMED(*this); else GECODE_REWRITE(*this, - (Rel::EqDom::post(home(*this),x2,x1))); + (Rel::EqDom::post(home(*this),x2,x1))); } - + if (eq21 == RT_FALSE) { GECODE_ME_CHECK(b.one_none(home)); if (eq20 == RT_TRUE) return home.ES_SUBSUMED(*this); else GECODE_REWRITE(*this, - (Rel::EqDom::post(home(*this),x2,x0))); + (Rel::EqDom::post(home(*this),x2,x0))); } - + if ((eq20 == RT_TRUE) && (eq21 == RT_TRUE)) return home.ES_SUBSUMED(*this); - return home.ES_FIX_PARTIAL(*this,View::med(ME_INT_DOM)); + return home.ES_FIX_PARTIAL(*this,V0::med(ME_INT_DOM)); } RelTest eq20 = rtest_eq_dom(x2,x0); @@ -242,24 +252,25 @@ namespace Gecode { namespace Int { namespace Bool { return home.ES_SUBSUMED(*this); else GECODE_REWRITE(*this, - (Rel::EqDom::post(home(*this),x2,x1))); + (Rel::EqDom::post(home(*this),x2,x1))); } - + if (eq21 == RT_FALSE) { GECODE_ME_CHECK(b.one_none(home)); if (eq20 == RT_TRUE) return home.ES_SUBSUMED(*this); else GECODE_REWRITE(*this, - (Rel::EqDom::post(home(*this),x2,x0))); + (Rel::EqDom::post(home(*this),x2,x0))); } - + assert((eq20 != RT_TRUE) || (eq21 != RT_TRUE)); - ViewRanges r0(x0), r1(x1); - Iter::Ranges::Union,ViewRanges > u(r0,r1); - - if (!same(x0,x2) && !same(x1,x2)) + ViewRanges r0(x0); + ViewRanges r1(x1); + Iter::Ranges::Union,ViewRanges > u(r0,r1); + + if (!shared(x0,x2) && !shared(x1,x2)) GECODE_ME_CHECK(x2.inter_r(home,u,false)); else GECODE_ME_CHECK(x2.inter_r(home,u,true)); diff --git a/gecode/int/bool/or.hpp b/gecode/int/bool/or.hpp index 23412dc384..3b826fbd72 100755 --- a/gecode/int/bool/or.hpp +++ b/gecode/int/bool/or.hpp @@ -814,6 +814,19 @@ namespace Gecode { namespace Int { namespace Bool { return ES_NOFIX; } + template + void + NaryOr::reschedule(Space& home) { + y.reschedule(home,*this,PC_BOOL_VAL); + if (n_zero == x.size()) + VX::schedule(home,*this,ME_BOOL_VAL); + for (int i=x.size(); i--; ) + if (x[i].one()) { + VX::schedule(home,*this,ME_BOOL_VAL); + break; + } + } + template forceinline size_t NaryOr::dispose(Space& home) { @@ -838,7 +851,7 @@ namespace Gecode { namespace Int { namespace Bool { // All views are zero GECODE_ME_CHECK(y.zero_none(home)); } else { - // There is exactly one view which is one + // There is at least one view which is one GECODE_ME_CHECK(y.one_none(home)); } return home.ES_SUBSUMED(*this); diff --git a/gecode/int/branch.cpp b/gecode/int/branch.cpp index 33e0bacf1c..b52bf10655 100755 --- a/gecode/int/branch.cpp +++ b/gecode/int/branch.cpp @@ -39,36 +39,37 @@ namespace Gecode { - BrancherHandle + void branch(Home home, const IntVarArgs& x, - IntVarBranch vars, IntValBranch vals, + IntVarBranch vars, IntValBranch vals, IntBranchFilter bf, IntVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewselint(home,vars) + ViewSel* vs[1] = { + Branch::viewselint(home,vars) }; switch (vals.select()) { case IntValBranch::SEL_VALUES_MIN: - return Branch::ViewValuesBrancher<1,true>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<1,true>::post(home,xv,vs,bf,vvp); break; case IntValBranch::SEL_VALUES_MAX: - return Branch::ViewValuesBrancher<1,false>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<1,false>::post(home,xv,vs,bf,vvp); break; default: - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommitint(home,x.size(),vals),bf,vvp); + break; } } - BrancherHandle + void branch(Home home, const IntVarArgs& x, - TieBreak vars, IntValBranch vals, + TieBreak vars, IntValBranch vals, IntBranchFilter bf, IntVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == IntVarBranch::SEL_NONE) || (vars.a.select() == IntVarBranch::SEL_RND)) @@ -83,56 +84,56 @@ namespace Gecode { vars.d = INT_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == IntVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,bf,vvp); + branch(home,x,vars.a,vals,bf,vvp); } else { ViewArray xv(home,x); if (vars.c.select() == IntVarBranch::SEL_NONE) { - ViewSel* vs[2] = { + ViewSel* vs[2] = { Branch::viewselint(home,vars.a),Branch::viewselint(home,vars.b) }; switch (vals.select()) { case IntValBranch::SEL_VALUES_MIN: - return Branch::ViewValuesBrancher<2,true>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<2,true>::post(home,xv,vs,bf,vvp); break; case IntValBranch::SEL_VALUES_MAX: - return Branch::ViewValuesBrancher<2,false>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<2,false>::post(home,xv,vs,bf,vvp); break; default: - return ViewValBrancher + ViewValBrancher ::post(home,xv,vs,Branch::valselcommitint(home,x.size(),vals), bf,vvp); } } else if (vars.d.select() == IntVarBranch::SEL_NONE) { - ViewSel* vs[3] = { + ViewSel* vs[3] = { Branch::viewselint(home,vars.a),Branch::viewselint(home,vars.b), Branch::viewselint(home,vars.c) }; switch (vals.select()) { case IntValBranch::SEL_VALUES_MIN: - return Branch::ViewValuesBrancher<3,true>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<3,true>::post(home,xv,vs,bf,vvp); break; case IntValBranch::SEL_VALUES_MAX: - return Branch::ViewValuesBrancher<3,false>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<3,false>::post(home,xv,vs,bf,vvp); break; default: - return ViewValBrancher + ViewValBrancher ::post(home,xv,vs,Branch::valselcommitint(home,x.size(),vals), bf,vvp); } } else { - ViewSel* vs[4] = { + ViewSel* vs[4] = { Branch::viewselint(home,vars.a),Branch::viewselint(home,vars.b), Branch::viewselint(home,vars.c),Branch::viewselint(home,vars.d) }; switch (vals.select()) { case IntValBranch::SEL_VALUES_MIN: - return Branch::ViewValuesBrancher<4,true>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<4,true>::post(home,xv,vs,bf,vvp); break; case IntValBranch::SEL_VALUES_MAX: - return Branch::ViewValuesBrancher<4,false>::post(home,xv,vs,bf,vvp); + Branch::ViewValuesBrancher<4,false>::post(home,xv,vs,bf,vvp); break; default: - return ViewValBrancher + ViewValBrancher ::post(home,xv,vs,Branch::valselcommitint(home,x.size(),vals), bf,vvp); } @@ -140,53 +141,53 @@ namespace Gecode { } } - BrancherHandle + void branch(Home home, IntVar x, IntValBranch vals, IntVarValPrint vvp) { IntVarArgs xv(1); xv[0]=x; - return branch(home, xv, INT_VAR_NONE(), vals, NULL, vvp); + branch(home, xv, INT_VAR_NONE(), vals, NULL, vvp); } - - BrancherHandle + + void assign(Home home, const IntVarArgs& x, IntAssign ia, IntBranchFilter bf, IntVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; ViewArray xv(home,x); - ViewSel* vs[1] = { + ViewSel* vs[1] = { new (home) ViewSelNone(home,INT_VAR_NONE()) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommitint(home,ia),bf,vvp); } - BrancherHandle + void assign(Home home, IntVar x, IntAssign ia, IntVarValPrint vvp) { IntVarArgs xv(1); xv[0]=x; - return assign(home, xv, ia, NULL, vvp); + assign(home, xv, ia, NULL, vvp); } - - BrancherHandle + + void branch(Home home, const BoolVarArgs& x, - IntVarBranch vars, IntValBranch vals, + IntVarBranch vars, IntValBranch vals, BoolBranchFilter bf, BoolVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewselbool(home,vars) + ViewSel* vs[1] = { + Branch::viewselbool(home,vars) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommitbool(home,x.size(),vals),bf,vvp); } - BrancherHandle + void branch(Home home, const BoolVarArgs& x, - TieBreak vars, IntValBranch vals, + TieBreak vars, IntValBranch vals, BoolBranchFilter bf, BoolVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == IntVarBranch::SEL_NONE) || (vars.a.select() == IntVarBranch::SEL_RND)) @@ -201,57 +202,57 @@ namespace Gecode { vars.d = INT_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == IntVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,bf,vvp); + branch(home,x,vars.a,vals,bf,vvp); } else { ViewArray xv(home,x); - ValSelCommitBase* - vsc = Branch::valselcommitbool(home,x.size(),vals); + ValSelCommitBase* + vsc = Branch::valselcommitbool(home,x.size(),vals); if (vars.c.select() == IntVarBranch::SEL_NONE) { - ViewSel* vs[2] = { + ViewSel* vs[2] = { Branch::viewselbool(home,vars.a),Branch::viewselbool(home,vars.b) }; - return ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); + ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); } else if (vars.d.select() == IntVarBranch::SEL_NONE) { - ViewSel* vs[3] = { + ViewSel* vs[3] = { Branch::viewselbool(home,vars.a),Branch::viewselbool(home,vars.b), Branch::viewselbool(home,vars.c) }; - return ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); + ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); } else { - ViewSel* vs[4] = { + ViewSel* vs[4] = { Branch::viewselbool(home,vars.a),Branch::viewselbool(home,vars.b), Branch::viewselbool(home,vars.c),Branch::viewselbool(home,vars.d) }; - return ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); + ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); } } } - BrancherHandle + void branch(Home home, BoolVar x, IntValBranch vals, BoolVarValPrint vvp) { BoolVarArgs xv(1); xv[0]=x; - return branch(home, xv, INT_VAR_NONE(), vals, NULL, vvp); + branch(home, xv, INT_VAR_NONE(), vals, NULL, vvp); } - - BrancherHandle + + void assign(Home home, const BoolVarArgs& x, IntAssign ia, BoolBranchFilter bf, BoolVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; ViewArray xv(home,x); - ViewSel* vs[1] = { + ViewSel* vs[1] = { new (home) ViewSelNone(home,INT_VAR_NONE()) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommitbool(home,ia),bf,vvp); } - BrancherHandle + void assign(Home home, BoolVar x, IntAssign ia, BoolVarValPrint vvp) { BoolVarArgs xv(1); xv[0]=x; - return assign(home, xv, ia, NULL, vvp); + assign(home, xv, ia, NULL, vvp); } - + } // STATISTICS: int-post diff --git a/gecode/int/branch.hh b/gecode/int/branch.hh index e5856a7d88..430734f31c 100755 --- a/gecode/int/branch.hh +++ b/gecode/int/branch.hh @@ -54,7 +54,7 @@ namespace Gecode { namespace Int { namespace Branch { * views that can be used together with the generic view/value * brancher classes. * - * All merit-based view selection classes require + * All merit-based view selection classes require * \code #include \endcode * \ingroup Other */ @@ -233,7 +233,7 @@ namespace Gecode { namespace Int { namespace Branch { * views that can be used together with the generic view/value * branchers. * - * All value selection classes require + * All value selection classes require * \code #include \endcode * \ingroup Other */ @@ -501,7 +501,7 @@ namespace Gecode { namespace Int { namespace Branch { * views that can be used together with the generic view/value * branchers. * - * All value commit classes require + * All value commit classes require * \code #include \endcode * \ingroup Other */ @@ -602,22 +602,22 @@ namespace Gecode { namespace Int { namespace Branch { /// Return value and commit for integer views GECODE_INT_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommitint(Space& home, int n, const IntValBranch& ivb); /// Return value and commit for Boolean views GECODE_INT_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommitbool(Space& home, int n, const IntValBranch& ivb); /// Return value and commit for integer views GECODE_INT_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommitint(Space& home, const IntAssign& ia); /// Return value and commit for Boolean views GECODE_INT_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommitbool(Space& home, const IntAssign& ia); }}} @@ -639,7 +639,7 @@ namespace Gecode { namespace Int { namespace Branch { ViewValuesBrancher(Space& home, bool shared, ViewValuesBrancher& b); /// Constructor for creation ViewValuesBrancher(Home home, ViewArray& x, - ViewSel* vs[n], + ViewSel* vs[n], BranchFilter bf, IntVarValPrint vvp); public: /// Return choice @@ -662,9 +662,9 @@ namespace Gecode { namespace Int { namespace Branch { /// Perform cloning virtual Actor* copy(Space& home, bool share); /// Constructor for creation - static BrancherHandle post(Home home, ViewArray& x, - ViewSel* vs[n], - BranchFilter bf, IntVarValPrint vvp); + static void post(Home home, ViewArray& x, + ViewSel* vs[n], + BranchFilter bf, IntVarValPrint vvp); }; }}} diff --git a/gecode/int/branch/assign.hpp b/gecode/int/branch/assign.hpp index 00116ea0e6..be74161185 100755 --- a/gecode/int/branch/assign.hpp +++ b/gecode/int/branch/assign.hpp @@ -45,7 +45,7 @@ namespace Gecode { IntAssign::IntAssign(Rnd r) : ValBranch(r), s(SEL_RND) {} - forceinline + forceinline IntAssign::IntAssign(VoidFunction v, VoidFunction c) : ValBranch(v,c), s(SEL_VAL_COMMIT) {} diff --git a/gecode/int/branch/merit.hpp b/gecode/int/branch/merit.hpp index 7a4739f379..9205cfeaa6 100755 --- a/gecode/int/branch/merit.hpp +++ b/gecode/int/branch/merit.hpp @@ -89,7 +89,7 @@ namespace Gecode { namespace Int { namespace Branch { : MeritBase(home,vb) {} template forceinline - MeritDegreeSize::MeritDegreeSize(Space& home, bool shared, + MeritDegreeSize::MeritDegreeSize(Space& home, bool shared, MeritDegreeSize& m) : MeritBase(home,shared,m) {} template @@ -133,7 +133,7 @@ namespace Gecode { namespace Int { namespace Branch { : MeritBase(home,vb), activity(vb.activity()) {} template forceinline - MeritActivitySize::MeritActivitySize(Space& home, bool shared, + MeritActivitySize::MeritActivitySize(Space& home, bool shared, MeritActivitySize& m) : MeritBase(home,shared,m) { activity.update(home, shared, m.activity); diff --git a/gecode/int/branch/ngl.hpp b/gecode/int/branch/ngl.hpp index 6ba932513e..8d1bdf19c5 100755 --- a/gecode/int/branch/ngl.hpp +++ b/gecode/int/branch/ngl.hpp @@ -55,7 +55,7 @@ namespace Gecode { namespace Int { namespace Branch { EqNGL::status(const Space&) const { if (x.assigned()) return (x.val() == n) ? NGL::SUBSUMED : NGL::FAILED; - else + else return x.in(n) ? NGL::NONE : NGL::FAILED; } template @@ -83,7 +83,7 @@ namespace Gecode { namespace Int { namespace Branch { NqNGL::status(const Space&) const { if (x.assigned()) return (x.val() == n) ? NGL::FAILED : NGL::SUBSUMED; - else + else return x.in(n) ? NGL::NONE : NGL::SUBSUMED; } template diff --git a/gecode/int/branch/val-commit.hpp b/gecode/int/branch/val-commit.hpp index bf3c0963f1..33605051f2 100755 --- a/gecode/int/branch/val-commit.hpp +++ b/gecode/int/branch/val-commit.hpp @@ -60,9 +60,9 @@ namespace Gecode { namespace Int { namespace Branch { } template forceinline void - ValCommitEq::print(const Space&, unsigned int a, View, int i, + ValCommitEq::print(const Space&, unsigned int a, View, int i, int n, std::ostream& o) const { - o << "var[" << i << "] " + o << "var[" << i << "] " << ((a == 0) ? "=" : "!=") << " " << n; } @@ -91,7 +91,7 @@ namespace Gecode { namespace Int { namespace Branch { forceinline void ValCommitLq::print(const Space&, unsigned int a, View, int i, int n, std::ostream& o) const { - o << "var[" << i << "] " + o << "var[" << i << "] " << ((a == 0) ? "<=" : ">") << " " << n; } @@ -118,9 +118,9 @@ namespace Gecode { namespace Int { namespace Branch { } template forceinline void - ValCommitGq::print(const Space&, unsigned int a, View, int i, + ValCommitGq::print(const Space&, unsigned int a, View, int i, int n, std::ostream& o) const { - o << "var[" << i << "] " + o << "var[" << i << "] " << ((a == 0) ? ">=" : "<") << " " << n; } @@ -147,9 +147,9 @@ namespace Gecode { namespace Int { namespace Branch { } template forceinline void - ValCommitGr::print(const Space&, unsigned int a, View, int i, + ValCommitGr::print(const Space&, unsigned int a, View, int i, int n, std::ostream& o) const { - o << "var[" << i << "] " + o << "var[" << i << "] " << ((a == 0) ? ">" : "<=") << " " << n; } diff --git a/gecode/int/branch/val-sel-commit.cpp b/gecode/int/branch/val-sel-commit.cpp index 8df94014e8..9981a7bdb0 100644 --- a/gecode/int/branch/val-sel-commit.cpp +++ b/gecode/int/branch/val-sel-commit.cpp @@ -39,41 +39,41 @@ namespace Gecode { namespace Int { namespace Branch { - ValSelCommitBase* + ValSelCommitBase* valselcommitint(Space& home, int n, const IntValBranch& ivb) { assert((ivb.select() != IntValBranch::SEL_VALUES_MIN) && (ivb.select() != IntValBranch::SEL_VALUES_MAX)); switch (ivb.select()) { case IntValBranch::SEL_MIN: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_MED: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_MAX: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_RND: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_SPLIT_MIN: - return new (home) + return new (home) ValSelCommit,ValCommitLq >(home,ivb); case IntValBranch::SEL_SPLIT_MAX: - return new (home) + return new (home) ValSelCommit,ValCommitGr >(home,ivb); case IntValBranch::SEL_RANGE_MIN: - return new (home) + return new (home) ValSelCommit >(home,ivb); case IntValBranch::SEL_RANGE_MAX: - return new (home) + return new (home) ValSelCommit >(home,ivb); case IntValBranch::SEL_VAL_COMMIT: if (ivb.commit() == NULL) { - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); } else { - return new (home) + return new (home) ValSelCommit,ValCommitFunction >(home,ivb); } case IntValBranch::SEL_NEAR_MIN: @@ -88,19 +88,19 @@ namespace Gecode { namespace Int { namespace Branch { Limits::check(v[i],"Int::branch"); switch (ivb.select()) { case IntValBranch::SEL_NEAR_MIN: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); case IntValBranch::SEL_NEAR_MAX: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); case IntValBranch::SEL_NEAR_INC: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); case IntValBranch::SEL_NEAR_DEC: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); default: GECODE_NEVER; @@ -111,27 +111,27 @@ namespace Gecode { namespace Int { namespace Branch { } } - ValSelCommitBase* + ValSelCommitBase* valselcommitint(Space& home, const IntAssign& ia) { switch (ia.select()) { case IntAssign::SEL_MIN: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_MED: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_MAX: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_RND: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_VAL_COMMIT: if (ia.commit() == NULL) { - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); } else { - return new (home) + return new (home) ValSelCommit,ValCommitFunction >(home,ia); } default: @@ -139,7 +139,7 @@ namespace Gecode { namespace Int { namespace Branch { } } - ValSelCommitBase* + ValSelCommitBase* valselcommitbool(Space& home, int n, const IntValBranch& ivb) { switch (ivb.select()) { case IntValBranch::SEL_MIN: @@ -147,23 +147,23 @@ namespace Gecode { namespace Int { namespace Branch { case IntValBranch::SEL_SPLIT_MIN: case IntValBranch::SEL_RANGE_MIN: case IntValBranch::SEL_VALUES_MIN: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_MAX: case IntValBranch::SEL_SPLIT_MAX: case IntValBranch::SEL_RANGE_MAX: case IntValBranch::SEL_VALUES_MAX: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_RND: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); case IntValBranch::SEL_VAL_COMMIT: if (ivb.commit() == NULL) { - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ivb); } else { - return new (home) + return new (home) ValSelCommit,ValCommitFunction >(home,ivb); } case IntValBranch::SEL_NEAR_MIN: @@ -179,19 +179,19 @@ namespace Gecode { namespace Int { namespace Branch { throw OutOfLimits("Int::branch"); switch (ivb.select()) { case IntValBranch::SEL_NEAR_MIN: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); case IntValBranch::SEL_NEAR_MAX: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); case IntValBranch::SEL_NEAR_INC: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); case IntValBranch::SEL_NEAR_DEC: - return new (home) + return new (home) ValSelCommit, ValCommitEq >(home,ivb); default: GECODE_NEVER; @@ -202,27 +202,27 @@ namespace Gecode { namespace Int { namespace Branch { } } - ValSelCommitBase* + ValSelCommitBase* valselcommitbool(Space& home, const IntAssign& ia) { switch (ia.select()) { case IntAssign::SEL_MIN: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_MED: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_MAX: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_RND: - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); case IntAssign::SEL_VAL_COMMIT: if (ia.commit() == NULL) { - return new (home) + return new (home) ValSelCommit,ValCommitEq >(home,ia); } else { - return new (home) + return new (home) ValSelCommit,ValCommitFunction >(home,ia); } default: diff --git a/gecode/int/branch/val-sel.hpp b/gecode/int/branch/val-sel.hpp index 92352d0767..3aad095f76 100755 --- a/gecode/int/branch/val-sel.hpp +++ b/gecode/int/branch/val-sel.hpp @@ -39,63 +39,63 @@ namespace Gecode { namespace Int { namespace Branch { template forceinline - ValSelMin::ValSelMin(Space& home, const ValBranch& vb) + ValSelMin::ValSelMin(Space& home, const ValBranch& vb) : ValSel(home,vb) {} template forceinline ValSelMin::ValSelMin(Space& home, bool shared, ValSelMin& vs) : ValSel(home,shared,vs) {} template - forceinline int + forceinline int ValSelMin::val(const Space&, View x, int) { return x.min(); } template forceinline - ValSelMax::ValSelMax(Space& home, const ValBranch& vb) + ValSelMax::ValSelMax(Space& home, const ValBranch& vb) : ValSel(home,vb) {} template forceinline ValSelMax::ValSelMax(Space& home, bool shared, ValSelMax& vs) : ValSel(home,shared,vs) {} template - forceinline int + forceinline int ValSelMax::val(const Space&, View x, int) { return x.max(); } template forceinline - ValSelMed::ValSelMed(Space& home, const ValBranch& vb) + ValSelMed::ValSelMed(Space& home, const ValBranch& vb) : ValSel(home,vb) {} template forceinline ValSelMed::ValSelMed(Space& home, bool shared, ValSelMed& vs) : ValSel(home,shared,vs) {} template - forceinline int + forceinline int ValSelMed::val(const Space&, View x, int) { return x.med(); } template forceinline - ValSelAvg::ValSelAvg(Space& home, const ValBranch& vb) + ValSelAvg::ValSelAvg(Space& home, const ValBranch& vb) : ValSel(home,vb) {} template forceinline ValSelAvg::ValSelAvg(Space& home, bool shared, ValSelAvg& vs) : ValSel(home,shared,vs) {} template - forceinline int + forceinline int ValSelAvg::val(const Space&, View x, int) { return (x.width() == 2U) ? x.min() : ((x.min()+x.max()) / 2); } template forceinline - ValSelRnd::ValSelRnd(Space& home, const ValBranch& vb) + ValSelRnd::ValSelRnd(Space& home, const ValBranch& vb) : ValSel(home,vb), r(vb.rnd()) {} template forceinline @@ -164,13 +164,13 @@ namespace Gecode { namespace Int { namespace Branch { template forceinline - ValSelNearMinMax::ValSelNearMinMax(Space& home, - const ValBranch& vb) - : ValSel(home,vb), + ValSelNearMinMax::ValSelNearMinMax(Space& home, + const ValBranch& vb) + : ValSel(home,vb), c(static_cast(vb).values()) {} template forceinline - ValSelNearMinMax::ValSelNearMinMax(Space& home, bool shared, + ValSelNearMinMax::ValSelNearMinMax(Space& home, bool shared, ValSelNearMinMax& vs) : ValSel(home,shared,vs) { c.update(home,shared,vs.c); @@ -213,13 +213,13 @@ namespace Gecode { namespace Int { namespace Branch { template forceinline - ValSelNearIncDec::ValSelNearIncDec(Space& home, - const ValBranch& vb) - : ValSel(home,vb), + ValSelNearIncDec::ValSelNearIncDec(Space& home, + const ValBranch& vb) + : ValSel(home,vb), c(static_cast(vb).values()) {} template forceinline - ValSelNearIncDec::ValSelNearIncDec(Space& home, bool shared, + ValSelNearIncDec::ValSelNearIncDec(Space& home, bool shared, ValSelNearIncDec& vs) : ValSel(home,shared,vs) { c.update(home,shared,vs.c); diff --git a/gecode/int/branch/val.hpp b/gecode/int/branch/val.hpp index 8c7547cfe4..84b381bb78 100755 --- a/gecode/int/branch/val.hpp +++ b/gecode/int/branch/val.hpp @@ -37,19 +37,19 @@ namespace Gecode { - forceinline + forceinline IntValBranch::IntValBranch(Select s0) : s(s0) {} - forceinline + forceinline IntValBranch::IntValBranch(Rnd r) : ValBranch(r), s(SEL_RND) {} - forceinline + forceinline IntValBranch::IntValBranch(VoidFunction v, VoidFunction c) : ValBranch(v,c), s(SEL_VAL_COMMIT) {} - forceinline + forceinline IntValBranch::IntValBranch(Select s0, IntSharedArray n0) : n(n0), s(s0) {} @@ -58,7 +58,7 @@ namespace Gecode { return s; } - forceinline IntSharedArray + inline IntSharedArray IntValBranch::values(void) const { return n; } diff --git a/gecode/int/branch/var.hpp b/gecode/int/branch/var.hpp index b22b6cc51e..9f3259541d 100755 --- a/gecode/int/branch/var.hpp +++ b/gecode/int/branch/var.hpp @@ -37,31 +37,31 @@ namespace Gecode { - forceinline + forceinline IntVarBranch::IntVarBranch(void) : VarBranch(NULL), s(SEL_NONE) {} - forceinline + forceinline IntVarBranch::IntVarBranch(Select s0, BranchTbl t) : VarBranch(t), s(s0) {} - forceinline + forceinline IntVarBranch::IntVarBranch(Rnd r) : VarBranch(r), s(SEL_RND) {} - forceinline + forceinline IntVarBranch::IntVarBranch(Select s0, double d, BranchTbl t) : VarBranch(d,t), s(s0) {} - forceinline + forceinline IntVarBranch::IntVarBranch(Select s0, AFC a, BranchTbl t) : VarBranch(a,t), s(s0) {} - forceinline + forceinline IntVarBranch::IntVarBranch(Select s0, Activity a, BranchTbl t) : VarBranch(a,t), s(s0) {} - forceinline + forceinline IntVarBranch::IntVarBranch(Select s0, VoidFunction mf, BranchTbl t) : VarBranch(mf,t), s(s0) {} diff --git a/gecode/int/branch/view-values.hpp b/gecode/int/branch/view-values.hpp index 1d94ec76e0..463b55030f 100755 --- a/gecode/int/branch/view-values.hpp +++ b/gecode/int/branch/view-values.hpp @@ -95,16 +95,16 @@ namespace Gecode { namespace Int { namespace Branch { forceinline ViewValuesBrancher:: ViewValuesBrancher(Home home, ViewArray& x, - ViewSel* vs[n], + ViewSel* vs[n], BranchFilter bf, IntVarValPrint vvp0) : ViewBrancher(home,x,vs,bf), vvp(vvp0) {} template - BrancherHandle - ViewValuesBrancher::post(Home home, ViewArray& x, + void + ViewValuesBrancher::post(Home home, ViewArray& x, ViewSel* vs[n], BranchFilter bf, IntVarValPrint vvp) { - return *new (home) ViewValuesBrancher(home,x,vs,bf,vvp); + (void) new (home) ViewValuesBrancher(home,x,vs,bf,vvp); } template @@ -139,7 +139,7 @@ namespace Gecode { namespace Int { namespace Branch { template ExecStatus - ViewValuesBrancher::commit(Space& home, const Choice& c, + ViewValuesBrancher::commit(Space& home, const Choice& c, unsigned int a) { const PosValuesChoice& pvc = static_cast(c); @@ -150,7 +150,7 @@ namespace Gecode { namespace Int { namespace Branch { template NGL* - ViewValuesBrancher::ngl(Space& home, const Choice& c, + ViewValuesBrancher::ngl(Space& home, const Choice& c, unsigned int a) const { const PosValuesChoice& pvc = static_cast(c); @@ -161,7 +161,7 @@ namespace Gecode { namespace Int { namespace Branch { template void - ViewValuesBrancher::print(const Space& home, const Choice& c, + ViewValuesBrancher::print(const Space& home, const Choice& c, unsigned int a, std::ostream& o) const { const PosValuesChoice& pvc = static_cast(c); diff --git a/gecode/int/channel.cpp b/gecode/int/channel.cpp index d4c4f8a28d..cf8f1a597c 100755 --- a/gecode/int/channel.cpp +++ b/gecode/int/channel.cpp @@ -44,7 +44,7 @@ namespace Gecode { void channel(Home home, const IntVarArgs& x, int xoff, const IntVarArgs& y, int yoff, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; using namespace Channel; int n = x.size(); @@ -56,13 +56,13 @@ namespace Gecode { Limits::check(yoff,"Int::channel"); if ((xoff < 0) || (yoff < 0)) throw OutOfLimits("Int::channel"); - if (home.failed()) return; + GECODE_POST; if (n == 0) return; if ((xoff < 2) && (yoff < 2) && (xoff == yoff)) { - if (icl == ICL_DOM) { - DomInfo >* di = + if (vbd(ipl) == IPL_DOM) { + DomInfo >* di = static_cast(home). alloc > >(2*(n+xoff)); for (int i=n; i--; ) { @@ -84,7 +84,7 @@ namespace Gecode { ::post(home,n+xoff,di,noff,noff))); } } else { - ValInfo* vi = + ValInfo* vi = static_cast(home).alloc >(2*(n+xoff)); for (int i=n; i--; ) { vi[xoff+i ].init(x[i],n+xoff); @@ -106,8 +106,8 @@ namespace Gecode { } } } else { - if (icl == ICL_DOM) { - DomInfo* di = + if (vbd(ipl) == IPL_DOM) { + DomInfo* di = static_cast(home).alloc >(2*n); for (int i=n; i--; ) { di[i ].init(x[i],n); @@ -123,7 +123,7 @@ namespace Gecode { ::post(home,n,di,ox,oy))); } } else { - ValInfo* vi = + ValInfo* vi = static_cast(home).alloc >(2*n); for (int i=n; i--; ) { vi[i ].init(x[i],n); @@ -145,24 +145,24 @@ namespace Gecode { void channel(Home home, const IntVarArgs& x, const IntVarArgs& y, - IntConLevel icl) { - channel(home, x, 0, y, 0, icl); + IntPropLevel ipl) { + channel(home, x, 0, y, 0, ipl); } void - channel(Home home, BoolVar x0, IntVar x1, IntConLevel) { + channel(Home home, BoolVar x0, IntVar x1, IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Channel::LinkSingle::post(home,x0,x1)); } void channel(Home home, const BoolVarArgs& x, IntVar y, int o, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.same(home)) throw ArgumentSame("Int::channel"); Limits::check(o,"Int::channel"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Channel::LinkMulti::post(home,xv,y,o)); } diff --git a/gecode/int/channel.hh b/gecode/int/channel.hh index 1e3bc7ba16..9f9b95a2bb 100755 --- a/gecode/int/channel.hh +++ b/gecode/int/channel.hh @@ -75,6 +75,8 @@ namespace Gecode { namespace Int { namespace Channel { public: /// Propagation cost (defined as low quadratic) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -219,18 +221,25 @@ namespace Gecode { namespace Int { namespace Channel { LinkMulti(Home home, ViewArray& x, IntView y, int o0); public: /// Copy propagator during cloning + GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); /// Cost function (low unary if \a y is assigned, low linear otherwise) + GECODE_INT_EXPORT virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + GECODE_INT_EXPORT + virtual void reschedule(Space& home); /// Give advice to propagator + GECODE_INT_EXPORT virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation + GECODE_INT_EXPORT virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for \f$ x_i = 1\leftrightarrow y=i+o\f$ - GECODE_INT_EXPORT static ExecStatus post(Home home, ViewArray& x, IntView y, int o); /// Delete propagator and return its size + GECODE_INT_EXPORT virtual size_t dispose(Space& home); }; diff --git a/gecode/int/channel/base.hpp b/gecode/int/channel/base.hpp index a6324979da..cc1726fb6a 100755 --- a/gecode/int/channel/base.hpp +++ b/gecode/int/channel/base.hpp @@ -63,6 +63,13 @@ namespace Gecode { namespace Int { namespace Channel { return PropCost::quadratic(PropCost::LO, 2*n); } + template + void + Base::reschedule(Space& home) { + for (int i=2*n; i--; ) + xy[i].view.reschedule(home,*this,pc); + } + template forceinline size_t Base::dispose(Space& home) { diff --git a/gecode/int/channel/dom.hpp b/gecode/int/channel/dom.hpp index 75e609ccd2..2e4bd2b125 100755 --- a/gecode/int/channel/dom.hpp +++ b/gecode/int/channel/dom.hpp @@ -177,7 +177,7 @@ namespace Gecode { namespace Int { namespace Channel { template forceinline - Dom::Dom(Space& home, bool share, + Dom::Dom(Space& home, bool share, Dom& p) : Base,Offset,PC_INT_DOM>(home,share,p) {} diff --git a/gecode/int/channel/link-multi.cpp b/gecode/int/channel/link-multi.cpp index 88dec9bee6..43aa924735 100755 --- a/gecode/int/channel/link-multi.cpp +++ b/gecode/int/channel/link-multi.cpp @@ -82,14 +82,6 @@ namespace Gecode { namespace Int { namespace Channel { } - forceinline - LinkMulti::LinkMulti(Space& home, bool share, LinkMulti& p) - : MixNaryOnePropagator - (home,share,p), status(S_NONE), o(p.o) { - assert(p.status == S_NONE); - c.update(home,share,p.c); - } - Actor* LinkMulti::copy(Space& home, bool share) { return new (home) LinkMulti(home,share,*this); @@ -113,6 +105,13 @@ namespace Gecode { namespace Int { namespace Channel { return PropCost::linear(PropCost::LO, x.size()); } + void + LinkMulti::reschedule(Space& home) { + if (status == S_ONE) + BoolView::schedule(home,*this,ME_BOOL_VAL); + y.reschedule(home,*this,PC_INT_DOM); + } + ExecStatus LinkMulti::advise(Space&, Advisor&, const Delta& d) { if (status == S_RUN) diff --git a/gecode/int/channel/link-multi.hpp b/gecode/int/channel/link-multi.hpp index c7b20d5f85..d7b3180f34 100755 --- a/gecode/int/channel/link-multi.hpp +++ b/gecode/int/channel/link-multi.hpp @@ -45,6 +45,14 @@ namespace Gecode { namespace Int { namespace Channel { // Propagator is scheduled because of the dependency subscription } + forceinline + LinkMulti::LinkMulti(Space& home, bool share, LinkMulti& p) + : MixNaryOnePropagator + (home,share,p), status(S_NONE), o(p.o) { + assert(p.status == S_NONE); + c.update(home,share,p.c); + } + forceinline ExecStatus LinkMulti::post(Home home, ViewArray& x, IntView y, int o) { int n=x.size(); diff --git a/gecode/int/channel/val.hpp b/gecode/int/channel/val.hpp index a9646ea31f..65d97d66c4 100755 --- a/gecode/int/channel/val.hpp +++ b/gecode/int/channel/val.hpp @@ -189,7 +189,7 @@ namespace Gecode { namespace Int { namespace Channel { template forceinline - Val::Val(Space& home, bool share, + Val::Val(Space& home, bool share, Val& p) : Base,Offset,PC_INT_VAL>(home,share,p) {} diff --git a/gecode/int/circuit.cpp b/gecode/int/circuit.cpp index b8e0e6f517..0b6b21768b 100755 --- a/gecode/int/circuit.cpp +++ b/gecode/int/circuit.cpp @@ -42,19 +42,19 @@ namespace Gecode { void - circuit(Home home, int offset, const IntVarArgs& x, IntConLevel icl) { + circuit(Home home, int offset, const IntVarArgs& x, IntPropLevel ipl) { Int::Limits::nonnegative(offset,"Int::circuit"); if (x.size() == 0) throw Int::TooFewArguments("Int::circuit"); if (x.same(home)) throw Int::ArgumentSame("Int::circuit"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); - + if (offset == 0) { typedef Int::NoOffset NOV; NOV no; - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL((Int::Circuit::Dom ::post(home,xv,no))); } else { @@ -64,7 +64,7 @@ namespace Gecode { } else { typedef Int::Offset OV; OV off(-offset); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL((Int::Circuit::Dom ::post(home,xv,off))); } else { @@ -74,14 +74,14 @@ namespace Gecode { } } void - circuit(Home home, const IntVarArgs& x, IntConLevel icl) { - circuit(home,0,x,icl); + circuit(Home home, const IntVarArgs& x, IntPropLevel ipl) { + circuit(home,0,x,ipl); } - + void circuit(Home home, const IntArgs& c, int offset, const IntVarArgs& x, const IntVarArgs& y, IntVar z, - IntConLevel icl) { + IntPropLevel ipl) { Int::Limits::nonnegative(offset,"Int::circuit"); int n = x.size(); if (n == 0) @@ -90,8 +90,8 @@ namespace Gecode { throw Int::ArgumentSame("Int::circuit"); if ((y.size() != n) || (c.size() != n*n)) throw Int::ArgumentSizeMismatch("Int::circuit"); - circuit(home, offset, x, icl); - if (home.failed()) return; + circuit(home, offset, x, ipl); + GECODE_POST; IntArgs cx(offset+n); for (int i=0; i xv(home,n+1); for (int i=n; i--; ) xv[i] = Int::IntView(x[i]); @@ -143,7 +143,7 @@ namespace Gecode { element(home, x, e, n); typedef Int::NoOffset NOV; NOV no; - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL((Int::Circuit::Dom ::post(home,xv,no))); } else { @@ -160,7 +160,7 @@ namespace Gecode { element(home, ox, e, offset+n); typedef Int::Offset OV; OV off(-offset); - if (icl == ICL_DOM) { + if (vbd(ipl) == IPL_DOM) { GECODE_ES_FAIL((Int::Circuit::Dom ::post(home,xv,off))); } else { @@ -171,15 +171,15 @@ namespace Gecode { } void path(Home home, const IntVarArgs& x, IntVar s, IntVar e, - IntConLevel icl) { - path(home,0,x,s,e,icl); + IntPropLevel ipl) { + path(home,0,x,s,e,ipl); } - + void path(Home home, const IntArgs& c, int offset, const IntVarArgs& x, IntVar s, IntVar e, const IntVarArgs& y, IntVar z, - IntConLevel icl) { + IntPropLevel ipl) { Int::Limits::nonnegative(offset,"Int::path"); int n = x.size(); if (n == 0) @@ -188,8 +188,8 @@ namespace Gecode { throw Int::ArgumentSame("Int::path"); if ((y.size() != n) || (c.size() != n*n)) throw Int::ArgumentSizeMismatch("Int::path"); - if (home.failed()) return; - path(home, offset, x, s, e, icl); + GECODE_POST; + path(home, offset, x, s, e, ipl); IntArgs cx(offset+n+1); for (int i=0; i { protected: using NaryPropagator::x; + /// Remember where to start the next time the propagator runs + int start; /// Array for performing value propagation for distinct ViewArray y; /// Offset transformation @@ -69,7 +71,7 @@ namespace Gecode { namespace Int { namespace Circuit { Base(Home home, ViewArray& x, Offset& o); /// Check whether the view value graph is strongly connected ExecStatus connected(Space& home); - /// Ensure path property: prune edges that could give to small cycles + /// Ensure path property: prune edges that could give too small cycles ExecStatus path(Space& home); public: /// Delete propagator and return its size @@ -143,6 +145,8 @@ namespace Gecode { namespace Int { namespace Circuit { * low linear. Otherwise it is high quadratic. */ virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for circuit on \a x diff --git a/gecode/int/circuit/base.hpp b/gecode/int/circuit/base.hpp index bedd8231e2..62e4fbae4c 100755 --- a/gecode/int/circuit/base.hpp +++ b/gecode/int/circuit/base.hpp @@ -40,21 +40,22 @@ namespace Gecode { namespace Int { namespace Circuit { template forceinline Base::Base(Home home, ViewArray& x, Offset& o0) - : NaryPropagator(home,x), y(home,x), o(o0) { + : NaryPropagator(home,x), + start(0), y(home,x), o(o0) { home.notice(*this,AP_WEAKLY); } template forceinline Base::Base(Space& home, bool share, Base& p) - : NaryPropagator(home,share,p) { + : NaryPropagator(home,share,p), start(p.start) { o.update(p.o); y.update(home,share,p.y); } /// Information required for non-recursive checking for a single scc template - class SsccInfo { + class NodeInfo { public: int min, low, pre; Int::ViewValues v; @@ -72,17 +73,25 @@ namespace Gecode { namespace Int { namespace Circuit { Base::connected(Space& home) { int n = x.size(); - /// First non-assigned node. - int start = 0; - while (x[start].assigned()) { - start = o(x[start]).val(); - if (start == 0) break; + /// First non-assigned node reachable from start + { + int v = start; + /// Number of nodes not yet visited + int m = n; + while (x[v].assigned()) { + m--; + v = o(x[v]).val(); + // Reached start node again, check whether all nodes have been visited + if (start == v) + return (m == 0) ? home.ES_SUBSUMED(*this) : ES_FAILED; + } + start = v; } /// Information needed for checking scc's Region r(home); typedef typename Offset::ViewType OView; - SsccInfo* si = r.alloc >(n); + NodeInfo* si = r.alloc >(n); unsigned int n_edges = 0; for (int i=n; i--; ) { n_edges += x[i].size(); @@ -178,9 +187,28 @@ namespace Gecode { namespace Int { namespace Circuit { } goto cont; } + // Whether all nodes have been visited if (cnt != n) return ES_FAILED; + + /* + * Whether there is more than one subtree + * + * This propagation rule is taken from: Kathryn Glenn Francis, + * Peter Stuckey, Explaining Circuit Propagation, + * Constraints (2014) 19:1-29. + * + */ + if (subtree_min > 1) { + for (Int::ViewValues v(o(x[start])); v(); ++v) + if (si[v.val()].pre < subtree_min) { + nq[n_nq].x = o(x[v.val()]); + nq[n_nq].n = v.val(); + n_nq++; + } + } + ExecStatus es = ES_FIX; // Assign all mandatory edges while (n_eq-- > 0) { @@ -190,6 +218,7 @@ namespace Gecode { namespace Int { namespace Circuit { if (me_modified(me)) es = ES_NOFIX; } + // Remove all edges that would require a non-simple cycle while (n_nq-- > 0) { ModEvent me = nq[n_nq].x.nq(home,nq[n_nq].n); @@ -198,6 +227,10 @@ namespace Gecode { namespace Int { namespace Circuit { if (me_modified(me)) es = ES_NOFIX; } + + // Move start to different node for next run + start = o(x[start]).min(); + return es; } } diff --git a/gecode/int/circuit/dom.hpp b/gecode/int/circuit/dom.hpp index 66e3c23464..bb2fb532c2 100755 --- a/gecode/int/circuit/dom.hpp +++ b/gecode/int/circuit/dom.hpp @@ -66,6 +66,17 @@ namespace Gecode { namespace Int { namespace Circuit { return PropCost::quadratic(PropCost::HI, x.size()); } + template + void + Dom::reschedule(Space& home) { + for (int i=y.size(); i--; ) + if (y[i].assigned()) { + View::schedule(home, *this, ME_INT_VAL); + return; + } + View::schedule(home, *this, ME_INT_DOM); + } + template ExecStatus Dom::propagate(Space& home, const ModEventDelta& med) { diff --git a/gecode/int/count.cpp b/gecode/int/count.cpp index a23743a78e..9996d2533d 100644 --- a/gecode/int/count.cpp +++ b/gecode/int/count.cpp @@ -42,12 +42,12 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, int n, - IntRelType irt, int m, IntConLevel) { + IntRelType irt, int m, IntPropLevel) { using namespace Int; Limits::check(n,"Int::count"); Limits::check(m,"Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); ConstIntView y(n); @@ -84,17 +84,17 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, IntVar y, - IntRelType irt, int m, IntConLevel icl) { + IntRelType irt, int m, IntPropLevel ipl) { using namespace Int; Limits::check(m,"Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); switch (irt) { case IRT_EQ: { ConstIntView z(m); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) GECODE_ES_FAIL((Count::EqView ::post(home,xv,y,z,0))); else @@ -121,7 +121,7 @@ namespace Gecode { case IRT_GQ: { ConstIntView z(m); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) GECODE_ES_FAIL((Count::GqView ::post(home,xv,y,z,0))); else @@ -136,19 +136,19 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, const IntSet& y, - IntRelType irt, int m, IntConLevel) { + IntRelType irt, int m, IntPropLevel) { using namespace Int; if (y.size() == 1) { count(home,x,y.min(),irt,m); return; } - + Limits::check(y.min(),"Int::count"); Limits::check(y.max(),"Int::count"); Limits::check(m,"Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); switch (irt) { @@ -180,12 +180,12 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, const IntArgs& y, - IntRelType irt, int m, IntConLevel) { + IntRelType irt, int m, IntPropLevel) { using namespace Int; if (x.size() != y.size()) throw ArgumentSizeMismatch("Int::count"); Limits::check(m,"Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xy(home,x.size()); for (int i=x.size(); i--; ) @@ -224,10 +224,10 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, int n, - IntRelType irt, IntVar z, IntConLevel) { + IntRelType irt, IntVar z, IntPropLevel) { using namespace Int; Limits::check(n,"Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); ConstIntView yv(n); switch (irt) { @@ -266,13 +266,13 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, IntVar y, - IntRelType irt, IntVar z, IntConLevel icl) { + IntRelType irt, IntVar z, IntPropLevel ipl) { using namespace Int; - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); switch (irt) { case IRT_EQ: - if ((icl == ICL_DOM) || (icl == ICL_DEF)) + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) GECODE_ES_FAIL((Count::EqView ::post(home,xv,y,z,0))); else @@ -296,15 +296,15 @@ namespace Gecode { ::post(home,xv,y,z,0))); break; case IRT_GR: - if ((icl == ICL_DOM) || (icl == ICL_DEF)) + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) GECODE_ES_FAIL((Count::GqView ::post(home,xv,y,z,1))); else GECODE_ES_FAIL((Count::GqView - ::post(home,xv,y,z,0))); + ::post(home,xv,y,z,1))); break; case IRT_GQ: - if ((icl == ICL_DOM) || (icl == ICL_DEF)) + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) GECODE_ES_FAIL((Count::GqView ::post(home,xv,y,z,0))); else @@ -318,18 +318,18 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, const IntSet& y, - IntRelType irt, IntVar z, IntConLevel) { + IntRelType irt, IntVar z, IntPropLevel) { using namespace Int; if (y.size() == 1) { count(home,x,y.min(),irt,z); return; } - + Limits::check(y.min(),"Int::count"); Limits::check(y.max(),"Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); switch (irt) { case IRT_EQ: @@ -367,11 +367,11 @@ namespace Gecode { void count(Home home, const IntVarArgs& x, const IntArgs& y, - IntRelType irt, IntVar z, IntConLevel) { + IntRelType irt, IntVar z, IntPropLevel) { using namespace Int; if (x.size() != y.size()) throw ArgumentSizeMismatch("Int::count"); - if (home.failed()) return; + GECODE_POST; ViewArray xy(home,x.size()); for (int i=x.size(); i--; ) diff --git a/gecode/int/count.hh b/gecode/int/count.hh index 4e442031f4..7fc57898a2 100644 --- a/gecode/int/count.hh +++ b/gecode/int/count.hh @@ -54,15 +54,12 @@ namespace Gecode { namespace Int { namespace Count { * */ //@{ - /// Description of view type - enum ViewTypeDesc { - VTD_CONSTVIEW, ///< Constant view - VTD_INTSET, ///< Integer set - VTD_VARVIEW ///< Variable view - }; - /// Return the view type description of \a y + /// Return whether \a y is an integer set + template + bool isintset(VY y); + /// Return whether \a y is a value template - ViewTypeDesc vtd(VY y); + bool isval(VY y); /// Subscribe propagator \a p to view \a y template @@ -70,6 +67,9 @@ namespace Gecode { namespace Int { namespace Count { /// Cancel propagator \a p for view \a y template void cancel(Space& home, Propagator& p, VY y); + /// Schedule propagator \a p for view \a y + template + void reschedule(Space& home, Propagator& p, VY y); /// Test whether \a x and \a y are equal template @@ -153,6 +153,8 @@ namespace Gecode { namespace Int { namespace Count { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -161,7 +163,7 @@ namespace Gecode { namespace Int { namespace Count { * \brief %Propagator for counting views (equal integer to number of equal views) * * Not all combinations of views are possible. The types \a VX - * and \a VY must be either equal, or \a VY must be ConstIntView, + * and \a VY must be either equal, or \a VY must be ConstIntView, * ZeroIntView, or IntSet. * * Requires \code #include \endcode @@ -191,7 +193,7 @@ namespace Gecode { namespace Int { namespace Count { * \brief %Propagator for counting views (greater or equal integer to number of equal views) * * Not all combinations of views are possible. The types \a VX - * and \a VY must be either equal, or \a VY must be ConstIntView, + * and \a VY must be either equal, or \a VY must be ConstIntView, * ZeroIntView, or IntSet. * * Requires \code #include \endcode @@ -221,7 +223,7 @@ namespace Gecode { namespace Int { namespace Count { * \brief %Propagator for counting views (less or equal integer to number of equal views) * * Not all combinations of views are possible. The types \a VX - * and \a VY must be either equal, or \a VY must be ConstIntView, + * and \a VY must be either equal, or \a VY must be ConstIntView, * ZeroIntView, or IntSet. * * Requires \code #include \endcode @@ -281,6 +283,8 @@ namespace Gecode { namespace Int { namespace Count { virtual size_t dispose(Space& home); /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); protected: /// Count how many views are equal now void count(Space& home); @@ -296,7 +300,7 @@ namespace Gecode { namespace Int { namespace Count { * \brief %Propagator for counting views (equal to number of equal views) * * Not all combinations of views are possible. The types \a VX - * and \a VY must be either equal, or \a VY must be ConstIntView, + * and \a VY must be either equal, or \a VY must be ConstIntView, * ZeroIntView, or IntSet. * * Requires \code #include \endcode @@ -331,7 +335,7 @@ namespace Gecode { namespace Int { namespace Count { * \brief %Propagator for counting views (less or equal to number of equal views) * * Not all combinations of views are possible. The types \a VX - * and \a VY must be either equal, or \a VY must be ConstIntView, + * and \a VY must be either equal, or \a VY must be ConstIntView, * ZeroIntView, or IntSet. * * Requires \code #include \endcode @@ -366,7 +370,7 @@ namespace Gecode { namespace Int { namespace Count { * \brief %Propagator for counting views (greater or equal to number of equal views) * * Not all combinations of views are possible. The types \a VX - * and \a VY must be either equal, or \a VY must be ConstIntView, + * and \a VY must be either equal, or \a VY must be ConstIntView, * ZeroIntView, or IntSet. * * Requires \code #include \endcode diff --git a/gecode/int/count/int-base.hpp b/gecode/int/count/int-base.hpp index 5dad43e1e4..678280ba94 100755 --- a/gecode/int/count/int-base.hpp +++ b/gecode/int/count/int-base.hpp @@ -42,7 +42,7 @@ namespace Gecode { namespace Int { namespace Count { IntBase::IntBase(Home home, ViewArray& x0, int n_s0, VY y0, int c0) : Propagator(home), x(x0), n_s(n_s0), y(y0), c(c0) { - if (vtd(y) == VTD_INTSET) + if (isintset(y)) home.notice(*this,AP_DISPOSE); for (int i=n_s; i--; ) x[i].subscribe(home,*this,PC_INT_DOM); @@ -52,7 +52,7 @@ namespace Gecode { namespace Int { namespace Count { template forceinline size_t IntBase::dispose(Space& home) { - if (vtd(y) == VTD_INTSET) + if (isintset(y)) home.ignore(*this,AP_DISPOSE); for (int i=n_s; i--; ) x[i].cancel(home,*this,PC_INT_DOM); @@ -75,6 +75,14 @@ namespace Gecode { namespace Int { namespace Count { return PropCost::linear(PropCost::LO,x.size()); } + template + void + IntBase::reschedule(Space& home) { + for (int i=n_s; i--; ) + x[i].reschedule(home,*this,PC_INT_DOM); + Gecode::Int::Count::reschedule(home,*this,y); + } + }}} // STATISTICS: int-prop diff --git a/gecode/int/count/int-gq.hpp b/gecode/int/count/int-gq.hpp index fc63866ec8..9038434357 100755 --- a/gecode/int/count/int-gq.hpp +++ b/gecode/int/count/int-gq.hpp @@ -123,7 +123,7 @@ namespace Gecode { namespace Int { namespace Count { return home.ES_SUBSUMED(*this); if (c == n_x) { // All views must be equal - GECODE_ES_CHECK(post_true(home,x,y)); + GECODE_ES_CHECK(post_true(home,x,y)); return home.ES_SUBSUMED(*this); } // Now, there must be new subscriptions from x[n_s] up to x[c+1] diff --git a/gecode/int/count/rel.hpp b/gecode/int/count/rel.hpp index a7114f4305..cb31d01a7b 100755 --- a/gecode/int/count/rel.hpp +++ b/gecode/int/count/rel.hpp @@ -45,28 +45,29 @@ namespace Gecode { namespace Int { namespace Count { */ template - forceinline ViewTypeDesc - vtd(VY y) { + forceinline bool + isintset(VY y) { (void) y; - return VTD_VARVIEW; + return false; } template<> - forceinline ViewTypeDesc - vtd(const IntSet& y) { + forceinline bool + isintset(IntSet y) { (void) y; - return VTD_INTSET; + return true; } - template<> - forceinline ViewTypeDesc - vtd(ConstIntView y) { - (void) y; - return VTD_CONSTVIEW; + + + template + forceinline bool + isval(VY y) { + return y.assigned(); } template<> - forceinline ViewTypeDesc - vtd(ZeroIntView y) { + forceinline bool + isval(IntSet y) { (void) y; - return VTD_CONSTVIEW; + return true; } @@ -91,6 +92,17 @@ namespace Gecode { namespace Int { namespace Count { y.cancel(home, p, PC_INT_DOM); } + forceinline void + reschedule(Space& home, Propagator& p, IntSet& y) { + (void) home; (void) p; (void) y; + } + template + forceinline void + reschedule(Space& home, Propagator& p, VY y) { + (void) y; // To satisy MSVC + y.schedule(home, p, PC_INT_DOM); + } + template forceinline RelTest holds(VX x, ConstIntView y) { diff --git a/gecode/int/count/view-base.hpp b/gecode/int/count/view-base.hpp index e60c08ad1c..b2578ceda5 100755 --- a/gecode/int/count/view-base.hpp +++ b/gecode/int/count/view-base.hpp @@ -42,7 +42,7 @@ namespace Gecode { namespace Int { namespace Count { ViewBase::ViewBase(Home home, ViewArray& x0, VY y0, VZ z0, int c0) : Propagator(home), x(x0), y(y0), z(z0), c(c0) { - if (vtd(y) == VTD_INTSET) + if (isintset(y)) home.notice(*this,AP_DISPOSE); x.subscribe(home,*this,PC_INT_DOM); subscribe(home,*this,y); @@ -64,10 +64,18 @@ namespace Gecode { namespace Int { namespace Count { return PropCost::linear(PropCost::LO,x.size()+1); } + template + void + ViewBase::reschedule(Space& home) { + x.reschedule(home,*this,PC_INT_DOM); + Gecode::Int::Count::reschedule(home,*this,y); + z.reschedule(home,*this,PC_INT_BND); + } + template forceinline size_t ViewBase::dispose(Space& home) { - if (vtd(y) == VTD_INTSET) + if (isintset(y)) home.ignore(*this,AP_DISPOSE); x.cancel(home,*this,PC_INT_DOM); cancel(home,*this,y); @@ -116,7 +124,7 @@ namespace Gecode { namespace Int { namespace Count { } template forceinline bool - ViewBase::sharing(const ViewArray& x, + ViewBase::sharing(const ViewArray& x, const VY& y, const VZ& z) { if (shared(y,z)) return true; diff --git a/gecode/int/count/view-eq.hpp b/gecode/int/count/view-eq.hpp index d6c52d9e8e..a4d4f6b225 100755 --- a/gecode/int/count/view-eq.hpp +++ b/gecode/int/count/view-eq.hpp @@ -40,16 +40,16 @@ namespace Gecode { namespace Int { namespace Count { template forceinline EqView::EqView(Home home, - ViewArray& x, VY y, VZ z, int c) + ViewArray& x, VY y, VZ z, int c) : ViewBase(home,x,y,z,c) {} template ExecStatus EqView::post(Home home, - ViewArray& x, VY y, VZ z, int c) { + ViewArray& x, VY y, VZ z, int c) { GECODE_ME_CHECK(z.gq(home,-c)); GECODE_ME_CHECK(z.lq(home,x.size()-c)); - if ((vtd(y) != VTD_VARVIEW) && z.assigned()) + if (isval(y) && z.assigned()) return EqInt::post(home,x,y,z.val()+c); if (sharing(x,y,z)) (void) new (home) EqView(home,x,y,z,c); @@ -61,7 +61,7 @@ namespace Gecode { namespace Int { namespace Count { template forceinline EqView::EqView(Space& home, bool share, - EqView& p) + EqView& p) : ViewBase(home,share,p) {} template @@ -87,16 +87,16 @@ namespace Gecode { namespace Int { namespace Count { GECODE_ES_CHECK(post_true(home,x,y)); return home.ES_SUBSUMED(*this); } - if (!dom || (vtd(y) != VTD_VARVIEW)) { + if (!dom || isval(y)) { VY yc(y); GECODE_REWRITE(*this,(EqInt - ::post(home(*this),x,yc,z.val()+c))); + ::post(home(*this),x,yc,z.val()+c))); } } - if (dom && (vtd(y) == VTD_VARVIEW) && (z.min() > 0)) { - /* + if (dom && !isval(y) && (z.min() > 0)) { + /* * Only if the propagator is at fixpoint here, continue * when things are shared: the reason is that prune * requires that the views in x overlap with y! @@ -108,7 +108,7 @@ namespace Gecode { namespace Int { namespace Count { return ES_NOFIX; } - + return shr ? ES_NOFIX : ES_FIX; } diff --git a/gecode/int/count/view-gq.hpp b/gecode/int/count/view-gq.hpp index 867cedf03d..4ee8727c5d 100755 --- a/gecode/int/count/view-gq.hpp +++ b/gecode/int/count/view-gq.hpp @@ -45,9 +45,9 @@ namespace Gecode { namespace Int { namespace Count { template ExecStatus GqView::post(Home home, - ViewArray& x, VY y, VZ z, int c) { + ViewArray& x, VY y, VZ z, int c) { GECODE_ME_CHECK(z.lq(home,x.size()-c)); - if ((vtd(y) != VTD_VARVIEW) && z.assigned()) + if (isval(y) && z.assigned()) return GqInt::post(home,x,y,z.val()+c); if (sharing(x,y,z)) (void) new (home) GqView(home,x,y,z,c); @@ -59,7 +59,7 @@ namespace Gecode { namespace Int { namespace Count { template forceinline GqView::GqView(Space& home, bool share, - GqView& p) + GqView& p) : ViewBase(home,share,p) {} template @@ -76,19 +76,19 @@ namespace Gecode { namespace Int { namespace Count { GECODE_ME_CHECK(z.lq(home,atmost())); if (z.min() == atmost()) { - GECODE_ES_CHECK(post_true(home,x,y)); + GECODE_ES_CHECK(post_true(home,x,y)); return home.ES_SUBSUMED(*this); } if (x.size() == 0) return home.ES_SUBSUMED(*this); - if (z.assigned() && (!dom || (vtd(y) != VTD_VARVIEW))) { + if (z.assigned() && (!dom ||isval(y))) { VY yc(y); GECODE_REWRITE(*this,(GqInt::post(home(*this),x,yc,z.val()+c))); } - if (dom && (vtd(y) == VTD_VARVIEW) && (z.min() > 0)) { - /* + if (dom && !isval(y) && (z.min() > 0)) { + /* * Only if the propagator is at fixpoint here, continue * when things are shared: the reason is that prune * requires that the views in x overlap with y! @@ -100,7 +100,7 @@ namespace Gecode { namespace Int { namespace Count { return ES_NOFIX; } - + return shr ? ES_NOFIX : ES_FIX; } diff --git a/gecode/int/cumulative.cpp b/gecode/int/cumulative.cpp index 9d11c2fcf6..1e8df28c3e 100755 --- a/gecode/int/cumulative.cpp +++ b/gecode/int/cumulative.cpp @@ -41,29 +41,27 @@ #include -namespace Gecode { +namespace Gecode { namespace Int { namespace Cumulative { template void cumulative(Home home, Cap c, const TaskTypeArgs& t, - const IntVarArgs& s, const IntArgs& p, const IntArgs& u, - IntConLevel icl) { - using namespace Gecode::Int; - using namespace Gecode::Int::Cumulative; + const IntVarArgs& s, const IntArgs& p, const IntArgs& u, + IntPropLevel ipl) { if ((s.size() != p.size()) || (s.size() != u.size()) || (s.size() != t.size())) - throw Int::ArgumentSizeMismatch("Int::cumulative"); + throw ArgumentSizeMismatch("Int::cumulative"); long long int w = 0; for (int i=p.size(); i--; ) { Limits::nonnegative(p[i],"Int::cumulative"); Limits::nonnegative(u[i],"Int::cumulative"); - Limits::check(static_cast(s[i].max()) + p[i], + Limits::check(static_cast(s[i].max()) + p[i], "Int::cumulative"); mul_check(p[i],u[i]); w += s[i].width(); } mul_check(c.max(),w,s.size()); - if (home.failed()) return; + GECODE_POST; int minU = INT_MAX; int minU2 = INT_MAX; int maxU = INT_MIN; for (int i=u.size(); i--;) { @@ -79,7 +77,7 @@ namespace Gecode { (minU > c.max()/2) || (minU2 > c.max()/2 && minU+minU2>c.max()); if (disjunctive) { GECODE_ME_FAIL(c.gq(home,maxU)); - unary(home,t,s,p,icl); + unary(home,t,s,p,ipl); } else { bool fixp = true; for (int i=t.size(); i--;) @@ -95,40 +93,23 @@ namespace Gecode { for (int i=0; i 0) tasks[cur++].init(s[i],p[i],u[i]); - GECODE_ES_FAIL((ManProp::post(home,c,tasks))); + GECODE_ES_FAIL(manpost(home,c,tasks,ipl)); } else { TaskArray tasks(home,nonOptionals); int cur = 0; for (int i=s.size(); i--;) if (u[i] > 0) tasks[cur++].init(t[i],s[i],p[i],u[i]); - GECODE_ES_FAIL((ManProp::post(home,c,tasks))); + GECODE_ES_FAIL(manpost(home,c,tasks,ipl)); } } } - void - cumulative(Home home, int c, const TaskTypeArgs& t, - const IntVarArgs& s, const IntArgs& p, const IntArgs& u, - IntConLevel icl) { - Int::Limits::nonnegative(c,"Int::cumulative"); - cumulative(home,Int::ConstIntView(c),t,s,p,u,icl); - } - void - cumulative(Home home, IntVar c, const TaskTypeArgs& t, - const IntVarArgs& s, const IntArgs& p, const IntArgs& u, - IntConLevel icl) { - if (c.assigned()) - cumulative(home,c.val(),t,s,p,u,icl); - else - cumulative(home,Int::IntView(c),t,s,p,u,icl); - } - template void cumulative(Home home, Cap c, const TaskTypeArgs& t, const IntVarArgs& s, const IntArgs& p, const IntArgs& u, - const BoolVarArgs& m, IntConLevel icl) { + const BoolVarArgs& m, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Cumulative; if ((s.size() != p.size()) || (s.size() != u.size()) || @@ -144,8 +125,8 @@ namespace Gecode { w += s[i].width(); } mul_check(c.max(),w,s.size()); - if (home.failed()) return; - + GECODE_POST; + bool allMandatory = true; for (int i=m.size(); i--;) { if (!m[i].one()) { @@ -154,7 +135,7 @@ namespace Gecode { } } if (allMandatory) { - cumulative(home,c,t,s,p,u,icl); + cumulative(home,c,t,s,p,u,ipl); } else { bool fixp = true; for (int i=t.size(); i--;) @@ -170,39 +151,22 @@ namespace Gecode { for (int i=0; i0) tasks[cur++].init(s[i],p[i],u[i],m[i]); - GECODE_ES_FAIL((OptProp::post(home,c,tasks))); + GECODE_ES_FAIL(optpost(home,c,tasks,ipl)); } else { TaskArray tasks(home,nonOptionals); int cur = 0; for (int i=s.size(); i--;) if (u[i]>0) tasks[cur++].init(t[i],s[i],p[i],u[i],m[i]); - GECODE_ES_FAIL((OptProp::post(home,c,tasks))); + GECODE_ES_FAIL(optpost(home,c,tasks,ipl)); } } } - - void - cumulative(Home home, int c, const TaskTypeArgs& t, - const IntVarArgs& s, const IntArgs& p, const IntArgs& u, - const BoolVarArgs& m, IntConLevel icl) { - Int::Limits::nonnegative(c,"Int::cumulative"); - cumulative(home,Int::ConstIntView(c),t,s,p,u,m,icl); - } - void - cumulative(Home home, IntVar c, const TaskTypeArgs& t, - const IntVarArgs& s, const IntArgs& p, const IntArgs& u, - const BoolVarArgs& m, IntConLevel icl) { - if (c.assigned()) - cumulative(home,c.val(),t,s,p,u,m,icl); - else - cumulative(home,Int::IntView(c),t,s,p,u,m,icl); - } - + template void - cumulative(Home home, Cap c, const IntVarArgs& s, - const IntArgs& p, const IntArgs& u, IntConLevel icl) { + cumulative(Home home, Cap c, const IntVarArgs& s, + const IntArgs& p, const IntArgs& u, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Cumulative; if ((s.size() != p.size()) || (s.size() != u.size())) @@ -217,7 +181,7 @@ namespace Gecode { w += s[i].width(); } mul_check(c.max(),w,s.size()); - if (home.failed()) return; + GECODE_POST; int minU = INT_MAX; int minU2 = INT_MAX; int maxU = INT_MIN; for (int i=u.size(); i--;) { @@ -229,11 +193,11 @@ namespace Gecode { if (u[i] > maxU) maxU = u[i]; } - bool disjunctive = + bool disjunctive = (minU > c.max()/2) || (minU2 > c.max()/2 && minU+minU2>c.max()); if (disjunctive) { GECODE_ME_FAIL(c.gq(home,maxU)); - unary(home,s,p,icl); + unary(home,s,p,ipl); } else { int nonOptionals = 0; for (int i=u.size(); i--;) @@ -243,29 +207,14 @@ namespace Gecode { for (int i=0; i0) t[cur++].init(s[i],p[i],u[i]); - GECODE_ES_FAIL((ManProp::post(home,c,t))); + GECODE_ES_FAIL(manpost(home,c,t,ipl)); } } - void - cumulative(Home home, int c, const IntVarArgs& s, - const IntArgs& p, const IntArgs& u, IntConLevel icl) { - Int::Limits::nonnegative(c,"Int::cumulative"); - cumulative(home,Int::ConstIntView(c),s,p,u,icl); - } - void - cumulative(Home home, IntVar c, const IntVarArgs& s, - const IntArgs& p, const IntArgs& u, IntConLevel icl) { - if (c.assigned()) - cumulative(home,c.val(),s,p,u,icl); - else - cumulative(home,Int::IntView(c),s,p,u,icl); - } - template void - cumulative(Home home, Cap c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, const BoolVarArgs& m, IntConLevel icl) { + cumulative(Home home, Cap c, const IntVarArgs& s, const IntArgs& p, + const IntArgs& u, const BoolVarArgs& m, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Cumulative; if ((s.size() != p.size()) || (s.size() != u.size()) || @@ -281,7 +230,7 @@ namespace Gecode { w += s[i].width(); } mul_check(c.max(),w,s.size()); - if (home.failed()) return; + GECODE_POST; bool allMandatory = true; for (int i=m.size(); i--;) { @@ -291,7 +240,7 @@ namespace Gecode { } } if (allMandatory) { - cumulative(home,c,s,p,u,icl); + cumulative(home,c,s,p,u,ipl); } else { int nonOptionals = 0; for (int i=u.size(); i--;) @@ -301,30 +250,15 @@ namespace Gecode { for (int i=0; i0) t[cur++].init(s[i],p[i],u[i],m[i]); - GECODE_ES_FAIL((OptProp::post(home,c,t))); + GECODE_ES_FAIL(optpost(home,c,t,ipl)); } } - void - cumulative(Home home, int c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, const BoolVarArgs& m, IntConLevel icl) { - Int::Limits::nonnegative(c,"Int::cumulative"); - cumulative(home,Int::ConstIntView(c),s,p,u,m,icl); - } - void - cumulative(Home home, IntVar c, const IntVarArgs& s, const IntArgs& p, - const IntArgs& u, const BoolVarArgs& m, IntConLevel icl) { - if (c.assigned()) - cumulative(home,c.val(),s,p,u,m,icl); - else - cumulative(home,Int::IntView(c),s,p,u,m,icl); - } - template void - cumulative(Home home, Cap c, const IntVarArgs& s, + cumulative(Home home, Cap c, const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, - const IntArgs& u, IntConLevel icl) { + const IntArgs& u, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Cumulative; if ((s.size() != p.size()) || (s.size() != e.size()) || @@ -342,7 +276,7 @@ namespace Gecode { w += s[i].width(); } mul_check(c.max(),w,s.size()); - if (home.failed()) return; + GECODE_POST; bool fixP = true; for (int i=p.size(); i--;) { @@ -355,7 +289,7 @@ namespace Gecode { IntArgs pp(p.size()); for (int i=p.size(); i--;) pp[i] = p[i].val(); - cumulative(home,c,s,pp,u,icl); + cumulative(home,c,s,pp,u,ipl); } else { int nonOptionals = 0; for (int i=u.size(); i--;) @@ -365,32 +299,15 @@ namespace Gecode { for (int i=0; i0) t[cur++].init(s[i],p[i],e[i],u[i]); - GECODE_ES_FAIL((ManProp::post(home,c,t))); + GECODE_ES_FAIL(manpost(home,c,t,ipl)); } } - void - cumulative(Home home, int c, const IntVarArgs& s, - const IntVarArgs& p, const IntVarArgs& e, - const IntArgs& u, IntConLevel icl) { - Int::Limits::nonnegative(c,"Int::cumulative"); - cumulative(home,Int::ConstIntView(c),s,p,e,u,icl); - } - void - cumulative(Home home, IntVar c, const IntVarArgs& s, - const IntVarArgs& p, const IntVarArgs& e, - const IntArgs& u, IntConLevel icl) { - if (c.assigned()) - cumulative(home,c.val(),s,p,e,u,icl); - else - cumulative(home,Int::IntView(c),s,p,e,u,icl); - } - template void cumulative(Home home, Cap c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, - IntConLevel icl) { + const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, + IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Cumulative; if ((s.size() != p.size()) || (s.size() != u.size()) || @@ -408,7 +325,7 @@ namespace Gecode { w += s[i].width(); } mul_check(c.max(),w,s.size()); - if (home.failed()) return; + GECODE_POST; bool allMandatory = true; for (int i=m.size(); i--;) { @@ -418,7 +335,7 @@ namespace Gecode { } } if (allMandatory) { - cumulative(home,c,s,p,e,u,icl); + cumulative(home,c,s,p,e,u,ipl); } else { int nonOptionals = 0; for (int i=u.size(); i--;) @@ -428,27 +345,123 @@ namespace Gecode { for (int i=s.size(); i--; ) if (u[i]>0) t[cur++].init(s[i],p[i],e[i],u[i],m[i]); - GECODE_ES_FAIL((OptProp::post(home,c,t))); + GECODE_ES_FAIL(optpost(home,c,t,ipl)); } } +}}} + +namespace Gecode { + + void + cumulative(Home home, int c, const TaskTypeArgs& t, + const IntVarArgs& s, const IntArgs& p, const IntArgs& u, + IntPropLevel ipl) { + Int::Limits::nonnegative(c,"Int::cumulative"); + Int::Cumulative::cumulative(home,Int::ConstIntView(c),t,s,p,u,ipl); + } + + void + cumulative(Home home, IntVar c, const TaskTypeArgs& t, + const IntVarArgs& s, const IntArgs& p, const IntArgs& u, + IntPropLevel ipl) { + if (c.assigned()) + cumulative(home,c.val(),t,s,p,u,ipl); + else + Int::Cumulative::cumulative(home,Int::IntView(c),t,s,p,u,ipl); + } + + + void + cumulative(Home home, int c, const TaskTypeArgs& t, + const IntVarArgs& s, const IntArgs& p, const IntArgs& u, + const BoolVarArgs& m, IntPropLevel ipl) { + Int::Limits::nonnegative(c,"Int::cumulative"); + Int::Cumulative::cumulative(home,Int::ConstIntView(c),t,s,p,u,m,ipl); + } + + void + cumulative(Home home, IntVar c, const TaskTypeArgs& t, + const IntVarArgs& s, const IntArgs& p, const IntArgs& u, + const BoolVarArgs& m, IntPropLevel ipl) { + if (c.assigned()) + cumulative(home,c.val(),t,s,p,u,m,ipl); + else + Int::Cumulative::cumulative(home,Int::IntView(c),t,s,p,u,m,ipl); + } + + + void + cumulative(Home home, int c, const IntVarArgs& s, + const IntArgs& p, const IntArgs& u, IntPropLevel ipl) { + Int::Limits::nonnegative(c,"Int::cumulative"); + Int::Cumulative::cumulative(home,Int::ConstIntView(c),s,p,u,ipl); + } + + void + cumulative(Home home, IntVar c, const IntVarArgs& s, + const IntArgs& p, const IntArgs& u, IntPropLevel ipl) { + if (c.assigned()) + cumulative(home,c.val(),s,p,u,ipl); + else + Int::Cumulative::cumulative(home,Int::IntView(c),s,p,u,ipl); + } + + + void + cumulative(Home home, int c, const IntVarArgs& s, const IntArgs& p, + const IntArgs& u, const BoolVarArgs& m, IntPropLevel ipl) { + Int::Limits::nonnegative(c,"Int::cumulative"); + Int::Cumulative::cumulative(home,Int::ConstIntView(c),s,p,u,m,ipl); + } + + void + cumulative(Home home, IntVar c, const IntVarArgs& s, const IntArgs& p, + const IntArgs& u, const BoolVarArgs& m, IntPropLevel ipl) { + if (c.assigned()) + cumulative(home,c.val(),s,p,u,m,ipl); + else + Int::Cumulative::cumulative(home,Int::IntView(c),s,p,u,m,ipl); + } + + + void + cumulative(Home home, int c, const IntVarArgs& s, + const IntVarArgs& p, const IntVarArgs& e, + const IntArgs& u, IntPropLevel ipl) { + Int::Limits::nonnegative(c,"Int::cumulative"); + Int::Cumulative::cumulative(home,Int::ConstIntView(c),s,p,e,u,ipl); + } + + void + cumulative(Home home, IntVar c, const IntVarArgs& s, + const IntVarArgs& p, const IntVarArgs& e, + const IntArgs& u, IntPropLevel ipl) { + if (c.assigned()) + cumulative(home,c.val(),s,p,e,u,ipl); + else + Int::Cumulative::cumulative(home,Int::IntView(c),s,p,e,u,ipl); + } + + void cumulative(Home home, int c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, - IntConLevel icl) { + const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, + IntPropLevel ipl) { Int::Limits::nonnegative(c,"Int::cumulative"); - cumulative(home,Int::ConstIntView(c),s,p,e,u,m,icl); + Int::Cumulative::cumulative(home,Int::ConstIntView(c),s,p,e,u,m,ipl); } + void cumulative(Home home, IntVar c, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, - IntConLevel icl) { + const IntVarArgs& e, const IntArgs& u, const BoolVarArgs& m, + IntPropLevel ipl) { if (c.assigned()) - cumulative(home,c.val(),s,p,e,u,m,icl); + cumulative(home,c.val(),s,p,e,u,m,ipl); else - cumulative(home,Int::IntView(c),s,p,e,u,m,icl); + Int::Cumulative::cumulative(home,Int::IntView(c),s,p,e,u,m,ipl); } - + } // STATISTICS: int-post diff --git a/gecode/int/cumulative.hh b/gecode/int/cumulative.hh index 420a820d40..e282698e6c 100755 --- a/gecode/int/cumulative.hh +++ b/gecode/int/cumulative.hh @@ -69,7 +69,7 @@ namespace Gecode { namespace Int { namespace Cumulative { #include namespace Gecode { namespace Int { namespace Cumulative { - + /// Cumulative (mandatory) task with fixed processing time class ManFixPTask : public Unary::ManFixPTask { protected: @@ -678,15 +678,21 @@ namespace Gecode { namespace Int { namespace Cumulative { namespace Gecode { namespace Int { namespace Cumulative { - /// Perform basic propagation - template - ExecStatus basic(Space& home, bool& subsumed, Cap c, TaskArray& t); + /// Check for subsumption (all tasks must be assigned) + template + ExecStatus + subsumed(Space& home, Propagator& p, int c, TaskArray& t); /// Check mandatory tasks \a t for overload template ExecStatus overload(Space& home, int c, TaskArray& t); - /// Propagate by edge finding + /// Perform time-tabling propagation + template + ExecStatus timetabling(Space& home, Propagator& p, Cap c, + TaskArray& t); + + /// Propagate by edge-finding template ExecStatus edgefinding(Space& home, int c, TaskArray& t); @@ -696,10 +702,10 @@ namespace Gecode { namespace Int { namespace Cumulative { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class ManProp : public TaskProp { + template + class ManProp : public TaskProp { protected: - using TaskProp::t; + using TaskProp::t; /// Resource capacity Cap c; /// Constructor for creation @@ -723,10 +729,10 @@ namespace Gecode { namespace Int { namespace Cumulative { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class OptProp : public TaskProp { + template + class OptProp : public TaskProp { protected: - using TaskProp::t; + using TaskProp::t; /// Resource capacity Cap c; /// Constructor for creation @@ -744,13 +750,25 @@ namespace Gecode { namespace Int { namespace Cumulative { virtual size_t dispose(Space& home); }; + /// Post mandatory task propagator according to propagation level + template + ExecStatus + cmanpost(Home home, Cap c, TaskArray& t, IntPropLevel ipl); + + /// Post optional task propagator according to propagation level + template + ExecStatus + coptpost(Home home, Cap c, TaskArray& t, IntPropLevel ipl); + }}} -#include +#include +#include #include #include #include #include +#include #endif diff --git a/gecode/int/cumulative/basic.hpp b/gecode/int/cumulative/basic.hpp deleted file mode 100755 index 6e5433f292..0000000000 --- a/gecode/int/cumulative/basic.hpp +++ /dev/null @@ -1,211 +0,0 @@ -/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ -/* - * Main authors: - * Christian Schulte - * Guido Tack - * - * Copyright: - * Christian Schulte, 2010 - * Guido Tack, 2010 - * - * Last modified: - * $Date$ by $Author$ - * $Revision$ - * - * This file is part of Gecode, the generic constraint - * development environment: - * http://www.gecode.org - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -namespace Gecode { namespace Int { namespace Cumulative { - - /// Event for task - class Event { - public: - /// Event type for task with order in which they are processed - enum Type { - LRT = 0, ///< Latest required time of task - LCT = 1, ///< Latest completion time of task - EST = 2, ///< Earliest start time of task - ZRO = 3, ///< Zero-length task start time - ERT = 4, ///< Earliest required time of task - END = 5 ///< End marker - }; - Type e; ///< Type of event - int t; ///< Time of event - int i; ///< Number of task - /// Initialize event - void init(Type e, int t, int i); - /// Order among events - bool operator <(const Event& e) const; - }; - - /// Sort order for tasks by decreasing capacity - template - class TaskByDecCap { - public: - /// Sort order - bool operator ()(const Task& t1, const Task& t2) const; - }; - - forceinline void - Event::init(Event::Type e0, int t0, int i0) { - e=e0; t=t0; i=i0; - } - - forceinline bool - Event::operator <(const Event& e) const { - if (this->t == e.t) - return this->e < e.e; - return this->t < e.t; - } - - template - forceinline bool - TaskByDecCap::operator ()(const Task& t1, const Task& t2) const { - return t1.c() > t2.c(); - } - - - // Basic propagation - template - ExecStatus - basic(Space& home, bool& subsumed, Cap c, TaskArray& t) { - subsumed = false; - int ccur = c.max(); - int cmax = ccur; - int cmin = ccur; - // Sort tasks by decreasing capacity - TaskByDecCap tbdc; - Support::quicksort(&t[0], t.size(), tbdc); - - Region r(home); - - Event* e = r.alloc(4*t.size()+1); - - // Initialize events - bool assigned=true; - { - bool required=false; - int n=0; - for (int i=t.size(); i--; ) - if (t[i].assigned()) { - // Only add required part - if (t[i].pmin() > 0) { - required = true; - e[n++].init(Event::ERT,t[i].lst(),i); - e[n++].init(Event::LRT,t[i].ect(),i); - } else if (t[i].pmax() == 0) { - required = true; - e[n++].init(Event::ZRO,t[i].lst(),i); - } - } else { - assigned = false; - e[n++].init(Event::EST,t[i].est(),i); - e[n++].init(Event::LCT,t[i].lct(),i); - // Check whether task has required part - if (t[i].lst() < t[i].ect()) { - required = true; - e[n++].init(Event::ERT,t[i].lst(),i); - e[n++].init(Event::LRT,t[i].ect(),i); - } - } - - // Check whether no task has a required part - if (!required) { - subsumed = assigned; - return ES_FIX; - } - - // Write end marker - e[n++].init(Event::END,Int::Limits::infinity,-1); - - // Sort events - Support::quicksort(e, n); - } - - // Set of current but not required tasks - Support::BitSet tasks(r,static_cast(t.size())); - - // Process events, use ccur as the capacity that is still free - while (e->e != Event::END) { - // Current time - int time = e->t; - - // Process events for completion of required part - for ( ; (e->t == time) && (e->e == Event::LRT); e++) - if (t[e->i].mandatory()) { - tasks.set(static_cast(e->i)); ccur += t[e->i].c(); - } - // Process events for completion of task - for ( ; (e->t == time) && (e->e == Event::LCT); e++) - tasks.clear(static_cast(e->i)); - // Process events for start of task - for ( ; (e->t == time) && (e->e == Event::EST); e++) - tasks.set(static_cast(e->i)); - // Process events for zero-length task - for ( ; (e->t == time) && (e->e == Event::ZRO); e++) { - ccur -= t[e->i].c(); - if (ccur < cmin) cmin=ccur; - if (ccur < 0) - return ES_FAILED; - ccur += t[e->i].c(); - } - - // norun start time for 0-length tasks - int zltime = time; - // Process events for start of required part - for ( ; (e->t == time) && (e->e == Event::ERT); e++) - if (t[e->i].mandatory()) { - tasks.clear(static_cast(e->i)); - ccur -= t[e->i].c(); - if (ccur < cmin) cmin=ccur; - zltime = time+1; - if (ccur < 0) - return ES_FAILED; - } else if (t[e->i].optional() && (t[e->i].c() > ccur)) { - GECODE_ME_CHECK(t[e->i].excluded(home)); - } - - // Exploit that tasks are sorted according to capacity - for (Iter::Values::BitSet > j(tasks); - j() && (t[j.val()].c() > ccur); ++j) - // Task j cannot run from time to next time - 1 - if (t[j.val()].mandatory()) { - if (t[j.val()].pmin() > 0) { - GECODE_ME_CHECK(t[j.val()].norun(home, time, e->t - 1)); - } else { - GECODE_ME_CHECK(t[j.val()].norun(home, zltime, e->t - 1)); - } - } - } - - GECODE_ME_CHECK(c.gq(home,cmax-cmin)); - - subsumed = assigned; - return ES_NOFIX; - } - -}}} - -// STATISTICS: int-prop diff --git a/gecode/int/cumulative/edge-finding.hpp b/gecode/int/cumulative/edge-finding.hpp index 637f642575..a970b039ad 100755 --- a/gecode/int/cumulative/edge-finding.hpp +++ b/gecode/int/cumulative/edge-finding.hpp @@ -84,22 +84,22 @@ namespace Gecode { namespace Int { namespace Cumulative { OmegaLambdaTree ol(r,c,t); for (int j=0; j static_cast(c)*t[j].lct())) { int i = ol.responsible(); prec[i] = std::max(prec[i], t[j].lct()); ol.lremove(i); } ol.shift(j); - } + } /////////////////////// // Propagation - + // Compute array of unique capacities and a mapping // from the task array to the corresponding entry in // the capacity array - + int* cap = r.alloc(t.size()); for (int i=t.size(); i--;) cap[i] = i; @@ -112,7 +112,7 @@ namespace Gecode { namespace Int { namespace Cumulative { capacities[cap[i]] = t[i].c(); capInv[cap[i]] = i; } - + int n_c = 0; for (int i=0, cur_c=INT_MIN; i(t.size()*n_c); for (int i=t.size()*n_c; i--;) - update[i] = -Int::Limits::infinity; + update[i] = -Limits::infinity; ExtOmegaTree eo(r,c,ol); for (int i=0; i(c-capacities[i])*t[j].lct(); long long int eml = plus(eo.env(j), -lctj); long long int diff_l; if (eml == -Limits::llinfinity) diff_l = -Limits::llinfinity; else - diff_l = ceil_div_xx(eml, + diff_l = ceil_div_xx(eml, static_cast(capacities[i])); - int diff = (diff_l <= -Limits::infinity) ? + int diff = (diff_l <= -Limits::infinity) ? -Limits::infinity : static_cast(diff_l); u = std::max(u,diff); update[i*t.size()+j] = u; @@ -156,7 +156,7 @@ namespace Gecode { namespace Int { namespace Cumulative { precMap[i] = i; PrecOrder po(prec); Support::quicksort(precMap, t.size(), po); - + int curJ = 0; for (int i=0; i prec[i]: @@ -186,7 +186,7 @@ namespace Gecode { namespace Int { namespace Cumulative { GECODE_ES_CHECK(edgefinding(home,c,b)); return ES_OK; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/cumulative/limits.hpp b/gecode/int/cumulative/limits.hpp index aa0460b2ee..587cc1af99 100644 --- a/gecode/int/cumulative/limits.hpp +++ b/gecode/int/cumulative/limits.hpp @@ -39,15 +39,15 @@ namespace Gecode { namespace Int { namespace Cumulative { inline void mul_check(long long int x, long long int y) { - if (Int::Limits::overflow_mul(x,y)) - throw OutOfLimits("Int::cumulative"); + if (Limits::overflow_mul(x,y)) + throw OutOfLimits("cumulative"); } inline void mul_check(long long int x, long long int y, long long int z) { - if (Int::Limits::overflow_mul(x,y) || - Int::Limits::overflow_mul(x*y,z)) - throw OutOfLimits("Int::cumulative"); + if (Limits::overflow_mul(x,y) || + Limits::overflow_mul(x*y,z)) + throw OutOfLimits("cumulative"); } }}} diff --git a/gecode/int/cumulative/man-prop.hpp b/gecode/int/cumulative/man-prop.hpp index 3ab16c3830..a8f9cf1f50 100755 --- a/gecode/int/cumulative/man-prop.hpp +++ b/gecode/int/cumulative/man-prop.hpp @@ -38,25 +38,25 @@ */ namespace Gecode { namespace Int { namespace Cumulative { - - template + + template forceinline - ManProp::ManProp(Home home, Cap c0, TaskArray& t) - : TaskProp(home,t), c(c0) { - c.subscribe(home,*this,Int::PC_INT_BND); + ManProp::ManProp(Home home, Cap c0, TaskArray& t) + : TaskProp(home,t), c(c0) { + c.subscribe(home,*this,PC_INT_BND); } - template + template forceinline - ManProp::ManProp(Space& home, bool shared, - ManProp& p) - : TaskProp(home,shared,p) { + ManProp::ManProp(Space& home, bool shared, + ManProp& p) + : TaskProp(home,shared,p) { c.update(home,shared,p.c); } - template - forceinline ExecStatus - ManProp::post(Home home, Cap c, TaskArray& t) { + template + ExecStatus + ManProp::post(Home home, Cap c, TaskArray& t) { // Capacity must be nonnegative GECODE_ME_CHECK(c.gq(home, 0)); // Check that tasks do not overload resource @@ -70,42 +70,43 @@ namespace Gecode { namespace Int { namespace Cumulative { TaskArray::UnaryTask> mt(home,t.size()); for (int i=t.size(); i--; ) mt[i]=t[i]; - return Unary::ManProp::UnaryTask> + return Unary::ManProp::UnaryTask,PL> ::post(home,mt); } else { - (void) new (home) ManProp(home,c,t); + (void) new (home) ManProp(home,c,t); } } return ES_OK; } - template - Actor* - ManProp::copy(Space& home, bool share) { - return new (home) ManProp(home,share,*this); + template + Actor* + ManProp::copy(Space& home, bool share) { + return new (home) ManProp(home,share,*this); } - template - forceinline size_t - ManProp::dispose(Space& home) { - (void) TaskProp::dispose(home); + template + forceinline size_t + ManProp::dispose(Space& home) { + (void) TaskProp::dispose(home); c.cancel(home,*this,PC_INT_BND); return sizeof(*this); } - template - ExecStatus - ManProp::propagate(Space& home, const ModEventDelta& med) { + template + ExecStatus + ManProp::propagate(Space& home, const ModEventDelta& med) { // Only bounds changes? - if (Int::IntView::me(med) != Int::ME_INT_DOM) + if (IntView::me(med) != ME_INT_DOM) GECODE_ES_CHECK(overload(home,c.max(),t)); - GECODE_ES_CHECK(edgefinding(home,c.max(),t)); - bool subsumed; - ExecStatus es = basic(home,subsumed,c,t); - GECODE_ES_CHECK(es); - if (subsumed) - return home.ES_SUBSUMED(*this); - if (Cap::varderived() && c.assigned() && c.val()==1) { + + if (PL::advanced) + GECODE_ES_CHECK(edgefinding(home,c.max(),t)); + + if (PL::basic) + GECODE_ES_CHECK(timetabling(home,*this,c,t)); + + if (Cap::varderived() && c.assigned() && (c.val() == 1)) { // Check that tasks do not overload resource for (int i=t.size(); i--; ) if (t[i].c() > 1) @@ -115,11 +116,14 @@ namespace Gecode { namespace Int { namespace Cumulative { for (int i=t.size(); i--;) ut[i]=t[i]; GECODE_REWRITE(*this, - (Unary::ManProp::UnaryTask> + (Unary::ManProp::UnaryTask,PL> ::post(home(*this),ut))); - } else { - return es; } + + if (!PL::basic && c.assigned()) + GECODE_ES_CHECK(subsumed(home,*this,c.val(),t)); + + return ES_NOFIX; } }}} diff --git a/gecode/int/cumulative/opt-prop.hpp b/gecode/int/cumulative/opt-prop.hpp index 1aa0695ce0..d7f4e65237 100755 --- a/gecode/int/cumulative/opt-prop.hpp +++ b/gecode/int/cumulative/opt-prop.hpp @@ -40,31 +40,31 @@ #include namespace Gecode { namespace Int { namespace Cumulative { - - template + + template forceinline - OptProp::OptProp(Home home, Cap c0, TaskArray& t) - : TaskProp(home,t), c(c0) { + OptProp::OptProp(Home home, Cap c0, TaskArray& t) + : TaskProp(home,t), c(c0) { c.subscribe(home,*this,PC_INT_BND); } - template + template forceinline - OptProp::OptProp(Space& home, bool shared, - OptProp& p) - : TaskProp(home,shared,p) { + OptProp::OptProp(Space& home, bool shared, + OptProp& p) + : TaskProp(home,shared,p) { c.update(home,shared,p.c); } - template - forceinline ExecStatus - OptProp::post(Home home, Cap c, TaskArray& t) { + template + ExecStatus + OptProp::post(Home home, Cap c, TaskArray& t) { // Capacity must be nonnegative GECODE_ME_CHECK(c.gq(home, 0)); // Check for overload by single task and remove excluded tasks int n=t.size(), m=0; for (int i=n; i--; ) { - if (t[i].c() > c.max()) + if (t[i].c() > c.max()) GECODE_ME_CHECK(t[i].excluded(home)); if (t[i].excluded()) t[i]=t[--n]; @@ -84,69 +84,70 @@ namespace Gecode { namespace Int { namespace Cumulative { return ES_OK; } } - if (c.assigned() && c.val()==1) { + if (c.assigned() && (c.val() == 1)) { TaskArray::UnaryTask> mt(home,t.size()); for (int i=t.size(); i--; ) mt[i]=t[i]; - return Unary::OptProp::UnaryTask> + return Unary::OptProp::UnaryTask,PL> ::post(home,mt); } if (m == t.size()) { TaskArray::ManTask> mt(home,m); for (int i=m; i--; ) mt[i].init(t[i]); - return ManProp::ManTask,Cap> + return ManProp::ManTask,Cap,PL> ::post(home,c,mt); } - (void) new (home) OptProp(home,c,t); + (void) new (home) OptProp(home,c,t); return ES_OK; } - template - Actor* - OptProp::copy(Space& home, bool share) { - return new (home) OptProp(home,share,*this); + template + Actor* + OptProp::copy(Space& home, bool share) { + return new (home) OptProp(home,share,*this); } - template - forceinline size_t - OptProp::dispose(Space& home) { - (void) TaskProp::dispose(home); + template + forceinline size_t + OptProp::dispose(Space& home) { + (void) TaskProp::dispose(home); c.cancel(home,*this,PC_INT_BND); return sizeof(*this); } - template - ExecStatus - OptProp::propagate(Space& home, const ModEventDelta& med) { + template + ExecStatus + OptProp::propagate(Space& home, const ModEventDelta& med) { // Did one of the Boolean views change? - if (Int::BoolView::me(med) == Int::ME_BOOL_VAL) - GECODE_ES_CHECK((purge(home,*this,t,c))); + if (BoolView::me(med) == ME_BOOL_VAL) + GECODE_ES_CHECK((purge(home,*this,t,c))); + // Only bounds changes? - if (Int::IntView::me(med) != Int::ME_INT_DOM) + if (IntView::me(med) != ME_INT_DOM) GECODE_ES_CHECK(overload(home,c.max(),t)); - bool subsumed; - GECODE_ES_CHECK(basic(home,subsumed,c,t)); - if (subsumed) - return home.ES_SUBSUMED(*this); - - // Partition into mandatory and optional activities - int n = t.size(); - int i=0, j=n-1; - while (true) { - while ((i < n) && t[i].mandatory()) i++; - while ((j >= 0) && !t[j].mandatory()) j--; - if (i >= j) break; - std::swap(t[i],t[j]); - } + if (PL::basic) + GECODE_ES_CHECK(timetabling(home,*this,c,t)); + + if (PL::advanced) { + // Partition into mandatory and optional activities + int n = t.size(); + int i=0, j=n-1; + while (true) { + while ((i < n) && t[i].mandatory()) i++; + while ((j >= 0) && !t[j].mandatory()) j--; + if (i >= j) break; + std::swap(t[i],t[j]); + } - if (i > 1) { - // Truncate array to only contain mandatory tasks - t.size(i); - GECODE_ES_CHECK(edgefinding(home,c.max(),t)); - // Restore to also include optional tasks - t.size(n); + if (i > 1) { + // Truncate array to only contain mandatory tasks + t.size(i); + GECODE_ES_CHECK(edgefinding(home,c.max(),t)); + // Restore to also include optional tasks + t.size(n); + } } if (Cap::varderived() && c.assigned() && c.val()==1) { @@ -159,11 +160,14 @@ namespace Gecode { namespace Int { namespace Cumulative { for (int i=t.size(); i--;) ut[i]=t[i]; GECODE_REWRITE(*this, - (Unary::OptProp::UnaryTask> - ::post(home(*this),ut))); - } else { - return ES_NOFIX; + (Unary::OptProp::UnaryTask,PL> + ::post(home(*this),ut))); } + + if (!PL::basic && c.assigned()) + GECODE_ES_CHECK(subsumed(home,*this,c.val(),t)); + + return ES_NOFIX; } }}} diff --git a/gecode/int/cumulative/overload.hpp b/gecode/int/cumulative/overload.hpp index 659de64a32..496e14e143 100755 --- a/gecode/int/cumulative/overload.hpp +++ b/gecode/int/cumulative/overload.hpp @@ -57,7 +57,7 @@ namespace Gecode { namespace Int { namespace Cumulative { } return ES_OK; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/cumulative/post.hpp b/gecode/int/cumulative/post.hpp new file mode 100755 index 0000000000..050f50de85 --- /dev/null +++ b/gecode/int/cumulative/post.hpp @@ -0,0 +1,72 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { namespace Cumulative { + + template + forceinline ExecStatus + manpost(Home home, Cap c, TaskArray& t, IntPropLevel ipl) { + switch (ba(ipl)) { + case IPL_BASIC: default: + return ManProp::post(home,c,t); + case IPL_ADVANCED: + return ManProp::post(home,c,t); + case IPL_BASIC_ADVANCED: + return ManProp::post(home,c,t); + } + GECODE_NEVER; + return ES_OK; + } + + template + forceinline ExecStatus + optpost(Home home, Cap c, TaskArray& t, IntPropLevel ipl) { + switch (ba(ipl)) { + case IPL_BASIC: default: + return OptProp::post(home,c,t); + case IPL_ADVANCED: + return OptProp::post(home,c,t); + case IPL_BASIC_ADVANCED: + return OptProp::post(home,c,t); + } + GECODE_NEVER; + return ES_OK; + } + +}}} + +// STATISTICS: int-post diff --git a/gecode/int/cumulative/subsumption.hpp b/gecode/int/cumulative/subsumption.hpp new file mode 100755 index 0000000000..feac02be50 --- /dev/null +++ b/gecode/int/cumulative/subsumption.hpp @@ -0,0 +1,73 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { namespace Cumulative { + + template + forceinline ExecStatus + subsumed(Space& home, Propagator& p, int c, TaskArray& t) { + Region r(home); + + if (Event* e = Event::events(r,t)) { + // Process events, use ccur as the capacity that is still free + do { + // Current time + int time = e->time(); + // Process events for completion of required part + for ( ; (e->type() == Event::LRT) && (e->time() == time); e++) + c += t[e->idx()].c(); + // Process events for zero-length task + for ( ; (e->type() == Event::ZRO) && (e->time() == time); e++) + if (c < t[e->idx()].c()) + return ES_FAILED; + // Process events for start of required part + for ( ; (e->type() == Event::ERT) && (e->time() == time); e++) { + c -= t[e->idx()].c(); + if (c < 0) + return ES_FAILED; + } + } while (e->type() != Event::END); + } else { + return ES_OK; + } + + return home.ES_SUBSUMED(p); + } + +}}} + +// STATISTICS: int-prop diff --git a/gecode/int/cumulative/task-view.hpp b/gecode/int/cumulative/task-view.hpp index 5d6e5f936f..1bea1bf04e 100755 --- a/gecode/int/cumulative/task-view.hpp +++ b/gecode/int/cumulative/task-view.hpp @@ -57,7 +57,7 @@ namespace Gecode { namespace Int { namespace Cumulative { s << t.est() << ":[" << t.pmin() << ',' << t.c() << "]:" << t.lct(); return os << s.str(); } - + template std::basic_ostream& operator <<(std::basic_ostream& os, const OptFixPTaskBwd& t) { @@ -78,7 +78,7 @@ namespace Gecode { namespace Int { namespace Cumulative { << (t.mandatory() ? '1' : (t.optional() ? '?' : '0')); return os << s.str(); } - + }}} // STATISTICS: int-var diff --git a/gecode/int/cumulative/task.hpp b/gecode/int/cumulative/task.hpp index 8e4f140824..137c28adf5 100755 --- a/gecode/int/cumulative/task.hpp +++ b/gecode/int/cumulative/task.hpp @@ -46,7 +46,7 @@ namespace Gecode { namespace Int { namespace Cumulative { forceinline ManFixPTask::ManFixPTask(void) {} forceinline - ManFixPTask::ManFixPTask(IntVar s, int p, int c) + ManFixPTask::ManFixPTask(IntVar s, int p, int c) : Unary::ManFixPTask(s,p), _c(c) {} forceinline void ManFixPTask::init(IntVar s, int p, int c) { @@ -87,7 +87,7 @@ namespace Gecode { namespace Int { namespace Cumulative { forceinline ManFixPSETask::ManFixPSETask(void) {} forceinline - ManFixPSETask::ManFixPSETask(TaskType t, IntVar s, int p, int c) + ManFixPSETask::ManFixPSETask(TaskType t, IntVar s, int p, int c) : Unary::ManFixPSETask(t,s,p), _c(c) {} forceinline void ManFixPSETask::init(TaskType t, IntVar s, int p, int c) { @@ -120,7 +120,7 @@ namespace Gecode { namespace Int { namespace Cumulative { s << t.est() << ":[" << t.pmin() << ',' << t.c() << "]:" << t.lct(); return os << s.str(); } - + /* * Mandatory flexible task */ @@ -250,7 +250,7 @@ namespace Gecode { namespace Int { namespace Cumulative { << (t.mandatory() ? '1' : (t.optional() ? '?' : '0')); return os << s.str(); } - + }}} // STATISTICS: int-var diff --git a/gecode/int/cumulative/time-tabling.hpp b/gecode/int/cumulative/time-tabling.hpp new file mode 100755 index 0000000000..b4766c124f --- /dev/null +++ b/gecode/int/cumulative/time-tabling.hpp @@ -0,0 +1,134 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * Guido Tack + * + * Copyright: + * Christian Schulte, 2010 + * Guido Tack, 2010 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { namespace Cumulative { + + /// Sort order for tasks by decreasing capacity + template + class TaskByDecCap { + public: + /// Sort order + bool operator ()(const Task& t1, const Task& t2) const; + }; + + template + forceinline bool + TaskByDecCap::operator ()(const Task& t1, const Task& t2) const { + return t1.c() > t2.c(); + } + + // Basic propagation (timetabling) + template + forceinline ExecStatus + timetabling(Space& home, Propagator& p, Cap c, TaskArray& t) { + int ccur = c.max(); + int cmax = ccur; + int cmin = ccur; + + // Sort tasks by decreasing capacity + TaskByDecCap tbdc; + Support::quicksort(&t[0], t.size(), tbdc); + + Region r(home); + + bool assigned; + if (Event* e = Event::events(r,t,assigned)) { + // Set of current but not required tasks + Support::BitSet tasks(r,static_cast(t.size())); + + // Process events, use ccur as the capacity that is still free + do { + // Current time + int time = e->time(); + + // Process events for completion of required part + for ( ; (e->type() == Event::LRT) && (e->time() == time); e++) + if (t[e->idx()].mandatory()) { + tasks.set(static_cast(e->idx())); + ccur += t[e->idx()].c(); + } + // Process events for completion of task + for ( ; (e->type() == Event::LCT) && (e->time() == time); e++) + tasks.clear(static_cast(e->idx())); + // Process events for start of task + for ( ; (e->type() == Event::EST) && (e->time() == time); e++) + tasks.set(static_cast(e->idx())); + // Process events for zero-length task + for ( ; (e->type() == Event::ZRO) && (e->time() == time); e++) { + ccur -= t[e->idx()].c(); + if (ccur < cmin) cmin=ccur; + if (ccur < 0) + return ES_FAILED; + ccur += t[e->idx()].c(); + } + + // norun start time + int nrstime = time; + // Process events for start of required part + for ( ; (e->type() == Event::ERT) && (e->time() == time); e++) + if (t[e->idx()].mandatory()) { + tasks.clear(static_cast(e->idx())); + ccur -= t[e->idx()].c(); + if (ccur < cmin) cmin=ccur; + nrstime = time+1; + if (ccur < 0) + return ES_FAILED; + } else if (t[e->idx()].optional() && (t[e->idx()].c() > ccur)) { + GECODE_ME_CHECK(t[e->idx()].excluded(home)); + } + + // Exploit that tasks are sorted according to capacity + for (Iter::Values::BitSet > j(tasks); + j() && (t[j.val()].c() > ccur); ++j) + // Task j cannot run from zltime to next time - 1 + if (t[j.val()].mandatory()) + GECODE_ME_CHECK(t[j.val()].norun(home, nrstime, e->time() - 1)); + } while (e->type() != Event::END); + + GECODE_ME_CHECK(c.gq(home,cmax-cmin)); + } + + if (assigned) + return home.ES_SUBSUMED(p); + return ES_NOFIX; + } + +}}} + +// STATISTICS: int-prop diff --git a/gecode/int/cumulative/tree.hpp b/gecode/int/cumulative/tree.hpp index 4e007a3628..6c128a6f39 100755 --- a/gecode/int/cumulative/tree.hpp +++ b/gecode/int/cumulative/tree.hpp @@ -67,10 +67,10 @@ namespace Gecode { namespace Int { namespace Cumulative { } template - forceinline void + forceinline void OmegaTree::insert(int i) { - leaf(i).e = tasks[i].e(); - leaf(i).env = + leaf(i).e = tasks[i].e(); + leaf(i).env = static_cast(c)*tasks[i].est()+tasks[i].e(); update(i); } @@ -87,7 +87,7 @@ namespace Gecode { namespace Int { namespace Cumulative { OmegaTree::env(void) const { return root().env; } - + /* * Extended Omega tree */ @@ -108,7 +108,7 @@ namespace Gecode { namespace Int { namespace Cumulative { ExtOmegaTree::init(int ci0) { ci = ci0; for (int i=tasks.size(); i--; ) { - leaf(i).e = 0; + leaf(i).e = 0; leaf(i).env = leaf(i).cenv = -Limits::llinfinity; } init(); @@ -123,10 +123,10 @@ namespace Gecode { namespace Int { namespace Cumulative { forceinline long long int ExtOmegaTree::env(int i) { // Enter task i - leaf(i).e = tasks[i].e(); - leaf(i).env = + leaf(i).e = tasks[i].e(); + leaf(i).env = static_cast(c)*tasks[i].est()+tasks[i].e(); - leaf(i).cenv = + leaf(i).cenv = static_cast(c-ci)*tasks[i].est()+tasks[i].e(); TaskTree::update(i); @@ -135,7 +135,7 @@ namespace Gecode { namespace Int { namespace Cumulative { { long long int e = 0; while (!n_leaf(met)) { - if (plus(node[n_right(met)].cenv,e) > + if (plus(node[n_right(met)].cenv,e) > static_cast(c-ci) * tasks[i].lct()) { met = n_right(met); } else { @@ -146,7 +146,7 @@ namespace Gecode { namespace Int { namespace Cumulative { /* * The following idea to compute the cut in one go is taken from: - * Joseph Scott, Filtering Algorithms for Discrete Resources, + * Joseph Scott, Filtering Algorithms for Discrete Resources, * Master Thesis, Uppsala University, 2010 (in preparation). */ @@ -168,7 +168,7 @@ namespace Gecode { namespace Int { namespace Cumulative { return plus(a_env,b_e); } - + /* * Omega lambda tree @@ -221,7 +221,7 @@ namespace Gecode { namespace Int { namespace Cumulative { } template - forceinline void + forceinline void OmegaLambdaTree::shift(int i) { // i is in omega assert(leaf(i).env > -Limits::llinfinity); @@ -240,7 +240,7 @@ namespace Gecode { namespace Int { namespace Cumulative { // i not in omega but in lambda assert(leaf(i).env == -Limits::llinfinity); assert(leaf(i).lenv > -Limits::llinfinity); - leaf(i).le = 0; + leaf(i).le = 0; leaf(i).lenv = -Limits::llinfinity; leaf(i).resLe = OmegaLambdaNode::undef; leaf(i).resLenv = OmegaLambdaNode::undef; @@ -252,25 +252,25 @@ namespace Gecode { namespace Int { namespace Cumulative { OmegaLambdaTree::lempty(void) const { return root().resLenv < 0; } - + template - forceinline int + forceinline int OmegaLambdaTree::responsible(void) const { return root().resLenv; } - + template forceinline long long int OmegaLambdaTree::env(void) const { return root().env; } - + template forceinline long long int OmegaLambdaTree::lenv(void) const { return root().lenv; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/cumulatives.cpp b/gecode/int/cumulatives.cpp index 16b75119d7..2fed84ef4b 100644 --- a/gecode/int/cumulatives.cpp +++ b/gecode/int/cumulatives.cpp @@ -78,13 +78,13 @@ namespace Gecode { const IntVarArgs& s, const Processing& p, const IntVarArgs& e, const Usage& u, const IntArgs& c, bool at_most, - IntConLevel) { + IntPropLevel) { if (m.size() != s.size() || s.size() != p.size() || p.size() != e.size() || e.size() != u.size()) throw Int::ArgumentSizeMismatch("Int::cumulatives"); - if (home.failed()) return; + GECODE_POST; ViewArray::Result> vm = make_view_array(home, m); @@ -115,7 +115,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -124,7 +124,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -133,7 +133,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -142,7 +142,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntVarArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -151,7 +151,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -160,7 +160,7 @@ namespace Gecode { const IntVarArgs& s, const IntVarArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -169,7 +169,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } @@ -178,7 +178,7 @@ namespace Gecode { const IntVarArgs& s, const IntArgs& p, const IntVarArgs& e, const IntArgs& u, const IntArgs& c, bool at_most, - IntConLevel cl) { + IntPropLevel cl) { post_cumulatives(home, m, s, p, e, u, c, at_most, cl); } diff --git a/gecode/int/cumulatives.hh b/gecode/int/cumulatives.hh index 85db8cb970..e1a0af0504 100644 --- a/gecode/int/cumulatives.hh +++ b/gecode/int/cumulatives.hh @@ -111,6 +111,8 @@ namespace Gecode { namespace Int { namespace Cumulatives { virtual Actor* copy(Space& home, bool share); /// Cost function (defined as low quadratic) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator diff --git a/gecode/int/cumulatives/val.hpp b/gecode/int/cumulatives/val.hpp index bfcf944a0c..b56ebc0382 100644 --- a/gecode/int/cumulatives/val.hpp +++ b/gecode/int/cumulatives/val.hpp @@ -113,6 +113,16 @@ namespace Gecode { namespace Int { namespace Cumulatives { return PropCost::quadratic(PropCost::LO, s.size()); } + template + void + Val::reschedule(Space& home) { + m.reschedule(home,*this,Int::PC_INT_DOM); + s.reschedule(home,*this,Int::PC_INT_BND); + p.reschedule(home,*this,Int::PC_INT_BND); + e.reschedule(home,*this,Int::PC_INT_BND); + u.reschedule(home,*this,Int::PC_INT_BND); + } + template Actor* Val::copy(Space& home, bool share) { diff --git a/gecode/int/distinct.cpp b/gecode/int/distinct.cpp index 3fa44b6fca..030b44407f 100644 --- a/gecode/int/distinct.cpp +++ b/gecode/int/distinct.cpp @@ -4,7 +4,11 @@ * Christian Schulte * Gabor Szokoli * + * Contributing authors: + * Roberto Castañeda Lozano + * * Copyright: + * Roberto Castañeda Lozano, 2015 * Christian Schulte, 2002 * Gabor Szokoli, 2003 * @@ -38,22 +42,22 @@ */ #include +#include namespace Gecode { - using namespace Int; - void - distinct(Home home, const IntVarArgs& x, IntConLevel icl) { + distinct(Home home, const IntVarArgs& x, IntPropLevel ipl) { + using namespace Int; if (x.same(home)) throw ArgumentSame("Int::distinct"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); - switch (icl) { - case ICL_BND: + switch (vbd(ipl)) { + case IPL_BND: GECODE_ES_FAIL(Distinct::Bnd::post(home,xv)); break; - case ICL_DOM: + case IPL_DOM: GECODE_ES_FAIL(Distinct::Dom::post(home,xv)); break; default: @@ -63,12 +67,13 @@ namespace Gecode { void distinct(Home home, const IntArgs& c, const IntVarArgs& x, - IntConLevel icl) { + IntPropLevel ipl) { + using namespace Int; if (x.same(home)) throw ArgumentSame("Int::distinct"); if (c.size() != x.size()) throw ArgumentSizeMismatch("Int::distinct"); - if (home.failed()) return; + GECODE_POST; ViewArray cx(home,x.size()); for (int i = c.size(); i--; ) { long long int cx_min = (static_cast(c[i]) + @@ -80,11 +85,11 @@ namespace Gecode { Limits::check(cx_max,"Int::distinct"); cx[i] = OffsetView(x[i],c[i]); } - switch (icl) { - case ICL_BND: + switch (vbd(ipl)) { + case IPL_BND: GECODE_ES_FAIL(Distinct::Bnd::post(home,cx)); break; - case ICL_DOM: + case IPL_DOM: GECODE_ES_FAIL(Distinct::Dom::post(home,cx)); break; default: @@ -92,6 +97,118 @@ namespace Gecode { } } + void + distinct(Home home, const BoolVarArgs& b, const IntVarArgs& x, + IntPropLevel ipl) { + using namespace Int; + if (x.same(home)) + throw ArgumentSame("Int::distinct"); + if (b.size() != x.size()) + throw ArgumentSizeMismatch("Int::distinct"); + GECODE_POST; + + int n = x.size(); + int min = Limits::max; + int max = Limits::min; + int m = 0; + for (int i=n; i--; ) + if (!b[i].zero()) { + min = std::min(min,x[i].min()); + max = std::max(max,x[i].max()); + m++; + } + + if (m < 2) + return; + + int start; + if (max < Limits::max-m) + start = max+1; + else if (min > Limits::min+m) + start = min-(m+1); + else + throw OutOfLimits("Int::distinct"); + + ViewArray y(home,m); + int j = 0; + for (int i=n; i--; ) + if (b[i].one()) { + y[j] = x[i]; j++; + } else if (b[i].none()) { + y[j] = IntVar(home, Limits::min, Limits::max); + GECODE_ES_FAIL((Bool::IteDom::post + (home, b[i], x[i], start+j, y[j]))); + j++; + } + assert(j == m); + + switch (vbd(ipl)) { + case IPL_BND: + GECODE_ES_FAIL(Distinct::Bnd::post(home,y)); + break; + case IPL_DOM: + GECODE_ES_FAIL(Distinct::Dom::post(home,y)); + break; + default: + GECODE_ES_FAIL(Distinct::Val::post(home,y)); + } + } + + void + distinct(Home home, const IntVarArgs& x, int c, + IntPropLevel ipl) { + using namespace Int; + if (x.same(home)) + throw ArgumentSame("Int::distinct"); + GECODE_POST; + + int n = x.size(); + int min = Limits::max; + int max = Limits::min; + int m = 0; + for (int i=n; i--; ) + if (!(x[i].assigned() && (x[i].val() == c))) { + min = std::min(min,x[i].min()); + max = std::max(max,x[i].max()); + m++; + } + + if (m < 2) + return; + + int start; + if (max < Limits::max-m) + start = max+1; + else if (min > Limits::min+m) + start = min-(m+1); + else + throw OutOfLimits("Int::distinct"); + + ViewArray y(home,m); + int j = 0; + for (int i=n; i--; ) + if (!x[i].in(c)) { + y[j] = x[i]; j++; + } else if (!(x[i].assigned() && (x[i].val() == c))) { + y[j] = IntVar(home, Limits::min, Limits::max); + GECODE_ES_FAIL(Distinct::EqIte::post + (home, x[i], y[j], c, start+j)); + j++; + } + assert(j == m); + + switch (vbd(ipl)) { + case IPL_BND: + GECODE_ES_FAIL(Distinct::Bnd::post(home,y)); + break; + case IPL_DOM: + GECODE_ES_FAIL(Distinct::Dom::post(home,y)); + break; + default: + GECODE_ES_FAIL(Distinct::Val::post(home,y)); + } + } + } // STATISTICS: int-post diff --git a/gecode/int/distinct.hh b/gecode/int/distinct.hh index 87b4537168..53a0fa1439 100644 --- a/gecode/int/distinct.hh +++ b/gecode/int/distinct.hh @@ -152,6 +152,8 @@ namespace Gecode { namespace Int { namespace Distinct { * low linear. Otherwise it is low quadratic. */ virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Copy propagator during cloning virtual Actor* copy(Space& home, bool share); /// Destructor @@ -299,6 +301,38 @@ namespace Gecode { namespace Int { namespace Distinct { static ExecStatus post(Home home, View x0, View x1, View x2); }; + /** + * \brief Equal-if-then-else domain-consistent propagator + * + * Implements the propagator \f$x_1=(x_0 = c_0) ? c_1 : x_0\f$. + * + * Requires \code #include \endcode + * \ingroup FuncIntProp + */ + class EqIte : public BinaryPropagator { + protected: + using BinaryPropagator::x0; + using BinaryPropagator::x1; + /// The integer constant + int c0, c1; + /// Constructor for cloning \a p + EqIte(Space& home, bool share, EqIte& p); + /// Constructor for creation + EqIte(Home home, IntView x0, IntView x1, int c0, int c1); + public: + /// Copy propagator during cloning + GECODE_INT_EXPORT + virtual Actor* copy(Space& home, bool share); + /// Cost function (defined as high ternary) + GECODE_INT_EXPORT + virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Perform propagation + GECODE_INT_EXPORT + virtual ExecStatus propagate(Space& home, const ModEventDelta& med); + /// Post if-then-else propagator + static ExecStatus post(Home home, IntView x0, IntView x1, int c0, int c1); + }; + }}} #include @@ -307,6 +341,7 @@ namespace Gecode { namespace Int { namespace Distinct { #include #include #include +#include #endif diff --git a/gecode/int/distinct/bnd.hpp b/gecode/int/distinct/bnd.hpp index 1cd2dbc3e5..1a81b59353 100755 --- a/gecode/int/distinct/bnd.hpp +++ b/gecode/int/distinct/bnd.hpp @@ -86,6 +86,12 @@ namespace Gecode { namespace Int { namespace Distinct { return PropCost::quadratic(PropCost::LO, x.size()); } + template + void + Bnd::reschedule(Space& home) { + y.reschedule(home,*this,PC_INT_BND); + } + /// %Rank information class Rank { @@ -113,7 +119,7 @@ namespace Gecode { namespace Int { namespace Distinct { protected: ViewArray x; public: - forceinline + forceinline MinIncIdx(const ViewArray& x0) : x(x0) {} forceinline bool operator ()(const int i, const int j) { @@ -140,7 +146,7 @@ namespace Gecode { namespace Int { namespace Distinct { template forceinline void - pathset_t(HallInfo hall[], + pathset_t(HallInfo hall[], IntType start, IntType end, IntType to) { IntType k, l; for (l=start; (k=l) != end; hall[k].t=to) { @@ -150,7 +156,7 @@ namespace Gecode { namespace Int { namespace Distinct { template forceinline void - pathset_h(HallInfo hall[], + pathset_h(HallInfo hall[], IntType start, IntType end, IntType to) { IntType k, l; for (l=start; (k=l) != end; hall[k].h=to) { @@ -192,8 +198,8 @@ namespace Gecode { namespace Int { namespace Distinct { template forceinline ExecStatus - prop_bnd(Space& home, ViewArray& x, - int* minsorted, int* maxsorted) { + prop_bnd(Space& home, ViewArray& x, + int* minsorted, int* maxsorted) { const int n = x.size(); Region r(home); diff --git a/gecode/int/distinct/eqite.cpp b/gecode/int/distinct/eqite.cpp new file mode 100755 index 0000000000..733d0713ab --- /dev/null +++ b/gecode/int/distinct/eqite.cpp @@ -0,0 +1,110 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +#include + +namespace Gecode { namespace Int { namespace Distinct { + + PropCost + EqIte::cost(const Space&, const ModEventDelta&) const { + return PropCost::binary(PropCost::HI); + } + + Actor* + EqIte::copy(Space& home, bool share) { + return new (home) EqIte(home,share,*this); + } + + ExecStatus + EqIte::propagate(Space& home, const ModEventDelta&) { + switch (rtest_eq_dom(x0,c0)) { + case RT_TRUE: + GECODE_ME_CHECK(x1.eq(home,c1)); + return home.ES_SUBSUMED(*this); + case RT_FALSE: + GECODE_REWRITE(*this,(Rel::EqDom + ::post(home(*this),x0,x1))); + GECODE_NEVER; + case RT_MAYBE: + break; + default: GECODE_NEVER; + } + + GECODE_ME_CHECK(x1.lq(home,std::max(x0.max(),c1))); + GECODE_ME_CHECK(x1.gq(home,std::min(x0.min(),c1))); + + RelTest eq_then = rtest_eq_dom(x1,c1); + RelTest eq_else = rtest_eq_dom(x1,x0); + + if ((eq_then == RT_FALSE) && (eq_else == RT_FALSE)) + return ES_FAILED; + + if (eq_then == RT_FALSE) { + // x1 and c1 are not equal + GECODE_ME_CHECK(x0.nq(home,c0)); + if (eq_else == RT_TRUE) + return home.ES_SUBSUMED(*this); + else + GECODE_REWRITE(*this, + (Rel::EqDom::post(home(*this),x0,x1))); + } + + if (eq_else == RT_FALSE) { + // x0 and x1 are not equal + GECODE_ME_CHECK(x0.eq(home,c0)); + GECODE_ME_CHECK(x1.eq(home,c1)); + return home.ES_SUBSUMED(*this); + } + + + assert((eq_then != RT_TRUE) || (eq_else != RT_TRUE)); + + ViewRanges r0(x0); + Iter::Ranges::Singleton r1(c1,c1); + Iter::Ranges::Union, + Iter::Ranges::Singleton > u(r0,r1); + + GECODE_ME_CHECK(x1.inter_r(home,u,true)); + + return ES_FIX; + } + +}}} + +// STATISTICS: int-prop diff --git a/gecode/int/distinct/eqite.hpp b/gecode/int/distinct/eqite.hpp new file mode 100755 index 0000000000..6674f64817 --- /dev/null +++ b/gecode/int/distinct/eqite.hpp @@ -0,0 +1,63 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Int { namespace Distinct { + + forceinline + EqIte::EqIte(Home home, IntView x0, IntView x1, int d0, int d1) + : BinaryPropagator(home,x0,x1), c0(d0), c1(d1) {} + + forceinline + EqIte::EqIte(Space& home, bool share, EqIte& p) + : BinaryPropagator(home,share,p), + c0(p.c0), c1(p.c1) {} + + + inline ExecStatus + EqIte::post(Home home, IntView x0, IntView x1, int c0, int c1) { + assert(!(x0.assigned() && (x0.val() == c0)) && x0.in(c0)); + GECODE_ME_CHECK(x1.lq(home,std::max(x0.max(),c1))); + GECODE_ME_CHECK(x1.gq(home,std::min(x0.min(),c1))); + (void) new (home) EqIte(home,x0,x1,c0,c1); + return ES_OK; + } + +}}} + +// STATISTICS: int-prop diff --git a/gecode/int/distinct/graph.hpp b/gecode/int/distinct/graph.hpp index ec3ee01253..02044154d0 100755 --- a/gecode/int/distinct/graph.hpp +++ b/gecode/int/distinct/graph.hpp @@ -127,26 +127,26 @@ namespace Gecode { namespace Int { namespace Distinct { e->unlink(); view[i] = view[--n_view]; } else if (x->changed()) { - ViewRanges r(x->view()); + ViewRanges rx(x->view()); Edge* m = x->edge_fst(); // Matching edge Edge** p = x->val_edges_ref(); Edge* e = *p; do { - while (e->val(x)->val() < r.min()) { + while (e->val(x)->val() < rx.min()) { // Skip edge e->unlink(); e->mark(); e = e->next_edge(); } *p = e; - assert(r.min() == e->val(x)->val()); + assert(rx.min() == e->val(x)->val()); // This edges must be kept - for (unsigned int j=r.width(); j--; ) { + for (unsigned int j=rx.width(); j--; ) { e->free(); p = e->next_edge_ref(); e = e->next_edge(); } - ++r; - } while (r()); + ++rx; + } while (rx()); *p = NULL; while (e != NULL) { e->unlink(); e->mark(); @@ -185,7 +185,7 @@ namespace Gecode { namespace Int { namespace Distinct { // Marks all edges as used that are on simple paths in the graph // that start from a free (unmatched node) by depth-first-search Support::StaticStack*,Region> visit(r,n_val); - + // Insert all free nodes: they can be only value nodes as we // have a maximum matching covering all view nodes count++; @@ -205,7 +205,7 @@ namespace Gecode { namespace Int { namespace Distinct { v = (*v)->next_val_ref(); } } - + // Invariant: only value nodes are on the stack! while (!visit.empty()) { ValNode* n = visit.pop(); diff --git a/gecode/int/div.hpp b/gecode/int/div.hpp index 8286e1784e..57d80ca7cf 100755 --- a/gecode/int/div.hpp +++ b/gecode/int/div.hpp @@ -56,26 +56,26 @@ namespace Gecode { namespace Int { } template - forceinline IntType + forceinline IntType ceil_div_px(IntType x, IntType y) { assert(x >= 0); return (y >= 0) ? ceil_div_pp(x,y) : -floor_div_pp(x,-y); } template - forceinline IntType + forceinline IntType floor_div_px(IntType x, IntType y) { assert(x >= 0); return (y >= 0) ? floor_div_pp(x,y) : -ceil_div_pp(x,-y); } template - forceinline IntType + forceinline IntType ceil_div_xp(IntType x, IntType y) { assert(y >= 0); return (x >= 0) ? ceil_div_pp(x,y) : -floor_div_pp(-x,y); } template - forceinline IntType + forceinline IntType floor_div_xp(IntType x, IntType y) { assert(y >= 0); return (x >= 0) ? floor_div_pp(x,y) : -ceil_div_pp(-x,y); diff --git a/gecode/int/dom.cpp b/gecode/int/dom.cpp index 2ce2f5685c..7dd21b8e51 100755 --- a/gecode/int/dom.cpp +++ b/gecode/int/dom.cpp @@ -42,19 +42,19 @@ namespace Gecode { void - dom(Home home, IntVar x, int n, IntConLevel) { + dom(Home home, IntVar x, int n, IntPropLevel) { using namespace Int; Limits::check(n,"Int::dom"); - if (home.failed()) return; + GECODE_POST; IntView xv(x); GECODE_ME_FAIL(xv.eq(home,n)); } void - dom(Home home, const IntVarArgs& x, int n, IntConLevel) { + dom(Home home, const IntVarArgs& x, int n, IntPropLevel) { using namespace Int; Limits::check(n,"Int::dom"); - if (home.failed()) return; + GECODE_POST; for (int i=x.size(); i--; ) { IntView xv(x[i]); GECODE_ME_FAIL(xv.eq(home,n)); @@ -62,22 +62,22 @@ namespace Gecode { } void - dom(Home home, IntVar x, int min, int max, IntConLevel) { + dom(Home home, IntVar x, int min, int max, IntPropLevel) { using namespace Int; Limits::check(min,"Int::dom"); Limits::check(max,"Int::dom"); - if (home.failed()) return; + GECODE_POST; IntView xv(x); GECODE_ME_FAIL(xv.gq(home,min)); GECODE_ME_FAIL(xv.lq(home,max)); } void - dom(Home home, const IntVarArgs& x, int min, int max, IntConLevel) { + dom(Home home, const IntVarArgs& x, int min, int max, IntPropLevel) { using namespace Int; Limits::check(min,"Int::dom"); Limits::check(max,"Int::dom"); - if (home.failed()) return; + GECODE_POST; for (int i=x.size(); i--; ) { IntView xv(x[i]); GECODE_ME_FAIL(xv.gq(home,min)); @@ -86,22 +86,22 @@ namespace Gecode { } void - dom(Home home, IntVar x, const IntSet& is, IntConLevel) { + dom(Home home, IntVar x, const IntSet& is, IntPropLevel) { using namespace Int; Limits::check(is.min(),"Int::dom"); Limits::check(is.max(),"Int::dom"); - if (home.failed()) return; + GECODE_POST; IntView xv(x); IntSetRanges ris(is); GECODE_ME_FAIL(xv.inter_r(home,ris,false)); } void - dom(Home home, const IntVarArgs& x, const IntSet& is, IntConLevel) { + dom(Home home, const IntVarArgs& x, const IntSet& is, IntPropLevel) { using namespace Int; Limits::check(is.min(),"Int::dom"); Limits::check(is.max(),"Int::dom"); - if (home.failed()) return; + GECODE_POST; for (int i = x.size(); i--; ) { IntSetRanges ris(is); IntView xv(x[i]); @@ -110,10 +110,10 @@ namespace Gecode { } void - dom(Home home, IntVar x, int n, Reify r, IntConLevel) { + dom(Home home, IntVar x, int n, Reify r, IntPropLevel) { using namespace Int; Limits::check(n,"Int::dom"); - if (home.failed()) return; + GECODE_POST; switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqDomInt @@ -132,11 +132,11 @@ namespace Gecode { } void - dom(Home home, IntVar x, int min, int max, Reify r, IntConLevel) { + dom(Home home, IntVar x, int min, int max, Reify r, IntPropLevel) { using namespace Int; Limits::check(min,"Int::dom"); Limits::check(max,"Int::dom"); - if (home.failed()) return; + GECODE_POST; switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Dom::ReRange @@ -156,11 +156,11 @@ namespace Gecode { void - dom(Home home, IntVar x, const IntSet& is, Reify r, IntConLevel) { + dom(Home home, IntVar x, const IntSet& is, Reify r, IntPropLevel) { using namespace Int; Limits::check(is.min(),"Int::dom"); Limits::check(is.max(),"Int::dom"); - if (home.failed()) return; + GECODE_POST; switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Dom::ReIntSet::post(home,x,is,r.var()))); @@ -176,9 +176,9 @@ namespace Gecode { } void - dom(Home home, IntVar x, IntVar d, IntConLevel) { - using namespace Int; - if (home.failed()) return; + dom(Home home, IntVar x, IntVar d, IntPropLevel) { + using namespace Int; + GECODE_POST; IntView xv(x), dv(d); if (!same(xv,dv)) { ViewRanges r(dv); @@ -187,9 +187,9 @@ namespace Gecode { } void - dom(Home home, BoolVar x, BoolVar d, IntConLevel) { - using namespace Int; - if (home.failed()) return; + dom(Home home, BoolVar x, BoolVar d, IntPropLevel) { + using namespace Int; + GECODE_POST; if (d.one()) GECODE_ME_FAIL(BoolView(x).one(home)); else if (d.zero()) @@ -197,12 +197,12 @@ namespace Gecode { } void - dom(Home home, const IntVarArgs& x, const IntVarArgs& d, IntConLevel) { - using namespace Int; + dom(Home home, const IntVarArgs& x, const IntVarArgs& d, IntPropLevel) { + using namespace Int; if (x.size() != d.size()) throw ArgumentSizeMismatch("Int::dom"); for (int i=x.size(); i--; ) { - if (home.failed()) return; + GECODE_POST; IntView xv(x[i]), dv(d[i]); if (!same(xv,dv)) { ViewRanges r(dv); @@ -212,12 +212,12 @@ namespace Gecode { } void - dom(Home home, const BoolVarArgs& x, const BoolVarArgs& d, IntConLevel) { - using namespace Int; + dom(Home home, const BoolVarArgs& x, const BoolVarArgs& d, IntPropLevel) { + using namespace Int; if (x.size() != d.size()) throw ArgumentSizeMismatch("Int::dom"); for (int i=x.size(); i--; ) { - if (home.failed()) return; + GECODE_POST; if (d[i].one()) GECODE_ME_FAIL(BoolView(x[i]).one(home)); else if (d[i].zero()) diff --git a/gecode/int/dom.hh b/gecode/int/dom.hh index 842d6ac58f..4cdd6ab610 100755 --- a/gecode/int/dom.hh +++ b/gecode/int/dom.hh @@ -57,10 +57,10 @@ namespace Gecode { namespace Int { namespace Dom { * \ingroup FuncIntProp */ template - class ReRange : public ReUnaryPropagator { + class ReRange : public ReUnaryPropagator { protected: - using ReUnaryPropagator::x0; - using ReUnaryPropagator::b; + using ReUnaryPropagator::x0; + using ReUnaryPropagator::b; /// Minimum of range int min; /// Maximum of range diff --git a/gecode/int/dom/range.hpp b/gecode/int/dom/range.hpp index ad114b6d00..5f8a77c774 100755 --- a/gecode/int/dom/range.hpp +++ b/gecode/int/dom/range.hpp @@ -42,7 +42,7 @@ namespace Gecode { namespace Int { namespace Dom { template forceinline ReRange::ReRange(Home home, View x, int min0, int max0, BoolView b) - : ReUnaryPropagator(home,x,b), + : ReUnaryPropagator(home,x,b), min(min0), max(max0) {} template @@ -78,7 +78,7 @@ namespace Gecode { namespace Int { namespace Dom { template forceinline ReRange::ReRange(Space& home, bool share, ReRange& p) - : ReUnaryPropagator(home,share,p), + : ReUnaryPropagator(home,share,p), min(p.min), max(p.max) {} template @@ -95,24 +95,43 @@ namespace Gecode { namespace Int { namespace Dom { GECODE_ME_CHECK(x0.gq(home,min)); GECODE_ME_CHECK(x0.lq(home,max)); } + return home.ES_SUBSUMED(*this); } else if (b.zero()) { if (rm != RM_IMP) { Iter::Ranges::Singleton r(min,max); GECODE_ME_CHECK(x0.minus_r(home,r,false)); } + return home.ES_SUBSUMED(*this); } else if ((x0.max() <= max) && (x0.min() >= min)) { if (rm != RM_IMP) GECODE_ME_CHECK(b.one_none(home)); + return home.ES_SUBSUMED(*this); } else if ((x0.max() < min) || (x0.min() > max)) { if (rm != RM_PMI) GECODE_ME_CHECK(b.zero_none(home)); - } else { + return home.ES_SUBSUMED(*this); + } else if (!x0.range()) { + ViewRanges i_x(x0); + Iter::Ranges::Singleton i_mm(min,max); + + switch (Iter::Ranges::compare(i_x,i_mm)) { + case Iter::Ranges::CS_SUBSET: + if (rm != RM_IMP) + GECODE_ME_CHECK(b.one_none(home)); + return home.ES_SUBSUMED(*this); + case Iter::Ranges::CS_DISJOINT: + if (rm != RM_PMI) + GECODE_ME_CHECK(b.zero_none(home)); + return home.ES_SUBSUMED(*this); + case Iter::Ranges::CS_NONE: + break; + default: GECODE_NEVER; + } return ES_FIX; } - return home.ES_SUBSUMED(*this); + return ES_FIX; } - }}} // STATISTICS: int-prop diff --git a/gecode/int/element.cpp b/gecode/int/element.cpp index 90b14d3e87..cbdf38d3a1 100755 --- a/gecode/int/element.cpp +++ b/gecode/int/element.cpp @@ -41,11 +41,11 @@ namespace Gecode { void element(Home home, IntSharedArray c, IntVar x0, IntVar x1, - IntConLevel) { + IntPropLevel) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); - if (home.failed()) return; + GECODE_POST; for (int i = c.size(); i--; ) Limits::check(c[i],"Int::element"); GECODE_ES_FAIL((Element::post_int(home,c,x0,x1))); @@ -53,11 +53,11 @@ namespace Gecode { void element(Home home, IntSharedArray c, IntVar x0, BoolVar x1, - IntConLevel) { + IntPropLevel) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); - if (home.failed()) return; + GECODE_POST; for (int i = c.size(); i--; ) Limits::check(c[i],"Int::element"); GECODE_ES_FAIL((Element::post_int(home,c,x0,x1))); @@ -65,12 +65,12 @@ namespace Gecode { void element(Home home, IntSharedArray c, IntVar x0, int x1, - IntConLevel) { + IntPropLevel) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); Limits::check(x1,"Int::element"); - if (home.failed()) return; + GECODE_POST; for (int i = c.size(); i--; ) Limits::check(c[i],"Int::element"); ConstIntView cx1(x1); @@ -80,13 +80,13 @@ namespace Gecode { void element(Home home, const IntVarArgs& c, IntVar x0, IntVar x1, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); - if (home.failed()) return; + GECODE_POST; IdxViewArray iv(home,c); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { GECODE_ES_FAIL((Element::ViewDom ::post(home,iv,x0,x1))); } else { @@ -97,15 +97,15 @@ namespace Gecode { void element(Home home, const IntVarArgs& c, IntVar x0, int x1, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); Limits::check(x1,"Int::element"); - if (home.failed()) return; + GECODE_POST; IdxViewArray iv(home,c); ConstIntView v1(x1); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { GECODE_ES_FAIL((Element::ViewDom ::post(home,iv,x0,v1))); } else { @@ -116,11 +116,11 @@ namespace Gecode { void element(Home home, const BoolVarArgs& c, IntVar x0, BoolVar x1, - IntConLevel) { + IntPropLevel) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); - if (home.failed()) return; + GECODE_POST; IdxViewArray iv(home,c); GECODE_ES_FAIL((Element::ViewBnd ::post(home,iv,x0,x1))); @@ -128,12 +128,12 @@ namespace Gecode { void element(Home home, const BoolVarArgs& c, IntVar x0, int x1, - IntConLevel) { + IntPropLevel) { using namespace Int; if (c.size() == 0) throw TooFewArguments("Int::element"); Limits::check(x1,"Int::element"); - if (home.failed()) return; + GECODE_POST; IdxViewArray iv(home,c); ConstIntView v1(x1); GECODE_ES_FAIL((Element::ViewBnd @@ -151,47 +151,47 @@ namespace Gecode { } void - element(Home home, IntSharedArray a, + element(Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, IntVar z, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (a.size() != w*h) throw Int::ArgumentSizeMismatch("Int::element"); - if (home.failed()) return; - element(home, a, pair(home,x,w,y,h), z, icl); + GECODE_POST; + element(home, a, pair(home,x,w,y,h), z, ipl); } void - element(Home home, IntSharedArray a, + element(Home home, IntSharedArray a, IntVar x, int w, IntVar y, int h, BoolVar z, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (a.size() != w*h) throw Int::ArgumentSizeMismatch("Int::element"); - if (home.failed()) return; - element(home, a, pair(home,x,w,y,h), z, icl); + GECODE_POST; + element(home, a, pair(home,x,w,y,h), z, ipl); } void - element(Home home, const IntVarArgs& a, + element(Home home, const IntVarArgs& a, IntVar x, int w, IntVar y, int h, IntVar z, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (a.size() != w*h) throw Int::ArgumentSizeMismatch("Int::element"); - if (home.failed()) return; - element(home, a, pair(home,x,w,y,h), z, icl); + GECODE_POST; + element(home, a, pair(home,x,w,y,h), z, ipl); } void - element(Home home, const BoolVarArgs& a, + element(Home home, const BoolVarArgs& a, IntVar x, int w, IntVar y, int h, BoolVar z, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; if (a.size() != w*h) throw Int::ArgumentSizeMismatch("Int::element"); - if (home.failed()) return; - element(home, a, pair(home,x,w,y,h), z, icl); + GECODE_POST; + element(home, a, pair(home,x,w,y,h), z, ipl); } } diff --git a/gecode/int/element.hh b/gecode/int/element.hh index decb0be35c..52dea22a37 100755 --- a/gecode/int/element.hh +++ b/gecode/int/element.hh @@ -173,7 +173,7 @@ namespace Gecode { namespace Int { namespace Element { /// Prune values according to \a x1 void prune_val(void); /// Prune when \a x1 is assigned - static ExecStatus assigned_val(Space& home, IntSharedArray& c, + static ExecStatus assigned_val(Space& home, IntSharedArray& c, V0 x0, V1 x1); /// Constructor for cloning \a p Int(Space& home, bool shared, Int& p); @@ -182,8 +182,10 @@ namespace Gecode { namespace Int { namespace Element { public: /// Perform copying during cloning virtual Actor* copy(Space& home, bool share); - /// Const function (defined as high binary) + /// Cost function (defined as high binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for \f$i_{x_0}=x_1\f$ @@ -217,6 +219,8 @@ namespace Gecode { namespace Int { namespace Element { public: // Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -294,7 +298,7 @@ namespace Gecode { namespace Int { namespace Element { * * \ingroup FuncIntProp */ - class GECODE_VTABLE_EXPORT Pair + class GECODE_VTABLE_EXPORT Pair : public TernaryPropagator { protected: using TernaryPropagator::x0; @@ -308,7 +312,7 @@ namespace Gecode { namespace Int { namespace Element { /// Constructor for posting Pair(Home home, IntView x0, IntView x1, IntView x2, int w); /// Post propagator \f$x_0+x_1\cdot w=x_2\f$ - static ExecStatus post(Home home, IntView x0, IntView x1, IntView x2, + static ExecStatus post(Home home, IntView x0, IntView x1, IntView x2, int w, int h); /// Copy propagator during cloning GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); diff --git a/gecode/int/element/int.hpp b/gecode/int/element/int.hpp index bfc22f00ba..5b37c1e31f 100755 --- a/gecode/int/element/int.hpp +++ b/gecode/int/element/int.hpp @@ -215,6 +215,13 @@ namespace Gecode { namespace Int { namespace Element { return PropCost::binary(PropCost::HI); } + template + void + Int::reschedule(Space& home) { + x0.reschedule(home,*this,PC_INT_DOM); + x1.reschedule(home,*this,PC_INT_DOM); + } + template void Int::prune_idx(void) { @@ -232,8 +239,8 @@ namespace Gecode { namespace Int { namespace Element { } } iv[p].idx_next = 0; - while (i != 0) { - iv[i].mark(); i=iv[i].idx_next; + while (i != 0) { + iv[i].mark(); i=iv[i].idx_next; } } @@ -255,14 +262,14 @@ namespace Gecode { namespace Int { namespace Element { } } iv[p].val_next = 0; - while (i != 0) { - iv[i].mark(); i=iv[i].val_next; + while (i != 0) { + iv[i].mark(); i=iv[i].val_next; } } template ExecStatus - Int::assigned_val(Space& home, IntSharedArray& c, + Int::assigned_val(Space& home, IntSharedArray& c, V0 x0, V1 x1) { Region r(home); int* v = r.alloc(x0.size()); @@ -297,9 +304,9 @@ namespace Gecode { namespace Int { namespace Element { IterValUnmark v(iv); GECODE_ME_CHECK(x1.narrow_v(home,v,false)); - + s1=static_cast(x1.size()); - + assert(!x0.assigned()); return x1.assigned() ? home.ES_SUBSUMED(*this) : ES_FIX; } @@ -313,9 +320,9 @@ namespace Gecode { namespace Int { namespace Element { IterIdxUnmark i(iv); GECODE_ME_CHECK(x0.narrow_v(home,i,false)); - - s0=static_cast(x0.size()); - + + s0=static_cast(x0.size()); + return (x0.assigned() || x1.assigned()) ? home.ES_SUBSUMED(*this) : ES_FIX; } @@ -324,7 +331,7 @@ namespace Gecode { namespace Int { namespace Element { if (iv == NULL) { // Initialize data structure iv = home.alloc(x0.size() + 1); - + // The first element in iv[0] is used as sentinel // Enter information sorted by idx IdxVal* by_idx = &iv[1]; @@ -343,7 +350,7 @@ namespace Gecode { namespace Int { namespace Element { if (x1.width() <= 128) { int n_buckets = static_cast(x1.width()); int* pos = r.alloc(n_buckets); - int* buckets = pos - x1.min(); + int* buckets = pos - x1.min(); for (int i=n_buckets; i--; ) pos[i]=0; for (Idx i=size; i--; ) @@ -374,10 +381,10 @@ namespace Gecode { namespace Int { namespace Element { } else { prune_idx(); } - + // Prune values prune_val(); - + // Peform tell { IterIdxUnmark i(iv); @@ -385,12 +392,12 @@ namespace Gecode { namespace Int { namespace Element { IterVal v(iv); if (shared(x0,x1)) { GECODE_ME_CHECK(x1.inter_v(home,v,false)); - s0=static_cast(x0.size()); + s0=static_cast(x0.size()); s1=static_cast(x1.size()); return assigned ? home.ES_SUBSUMED(*this) : ES_NOFIX; } else { GECODE_ME_CHECK(x1.narrow_v(home,v,false)); - s0=static_cast(x0.size()); + s0=static_cast(x0.size()); s1=static_cast(x1.size()); return (x0.assigned() || x1.assigned()) ? home.ES_SUBSUMED(*this) : ES_FIX; @@ -412,7 +419,7 @@ namespace Gecode { namespace Int { namespace Element { } GECODE_ME_CHECK(x1.gq(home,min)); GECODE_ME_CHECK(x1.lq(home,max)); - Support::IntType val_type = + Support::IntType val_type = std::max(Support::s_type(min),Support::s_type(max)); switch (idx_type) { case Support::IT_CHAR: diff --git a/gecode/int/element/pair.cpp b/gecode/int/element/pair.cpp index 06d111f885..0fc2d95af8 100755 --- a/gecode/int/element/pair.cpp +++ b/gecode/int/element/pair.cpp @@ -100,7 +100,7 @@ namespace Gecode { namespace Int { namespace Element { ExecStatus Pair::propagate(Space& home, const ModEventDelta&) { Region r(home); - + if (x0.assigned()) { // Bitset for supported div and mod values Support::BitSet d(r,static_cast((x2.max() / w)+1)); @@ -111,11 +111,11 @@ namespace Gecode { namespace Int { namespace Element { GECODE_ME_CHECK(x1.inter_v(home,id,false)); } else { // Bitset for supported div and mod values - Support::BitSet - d(r,static_cast((x2.max() / w)+1)), + Support::BitSet + d(r,static_cast((x2.max() / w)+1)), m(r,static_cast(w)); for (ViewValues i(x2); i(); ++i) { - d.set(static_cast(i.val() / w)); + d.set(static_cast(i.val() / w)); m.set(static_cast(i.val() % w)); } Iter::Values::BitSet > im(m,x0.min(),x0.max()); diff --git a/gecode/int/element/view.hpp b/gecode/int/element/view.hpp index 731ac4cf97..b3cffc9af1 100755 --- a/gecode/int/element/view.hpp +++ b/gecode/int/element/view.hpp @@ -139,6 +139,14 @@ namespace Gecode { namespace Int { namespace Element { return PropCost::linear(PropCost::LO,iv.size()+2); } + template + void + View::reschedule(Space& home) { + x0.reschedule(home,*this,PC_INT_DOM); + x1.reschedule(home,*this,pc_ac); + iv.reschedule(home,*this,pc_ac); + } + template forceinline size_t View::dispose(Space& home) { @@ -312,7 +320,7 @@ namespace Gecode { namespace Int { namespace Element { (home,iv,x0,x1,*this,rt))); if (iv.size() == 1) { ExecStatus es = home.ES_SUBSUMED(*this); - (void) new (home) Rel::EqBnd(home,iv[0].view,x1); + (void) new (home) Rel::EqBnd(home(*this),iv[0].view,x1); return es; } assert(iv.size() > 1); @@ -403,7 +411,7 @@ namespace Gecode { namespace Int { namespace Element { (home,iv,x0,x1,*this,rt))); if (iv.size() == 1) { ExecStatus es = home.ES_SUBSUMED(*this); - (void) new (home) Rel::EqDom(home,iv[0].view,x1); + (void) new (home) Rel::EqDom(home(*this),iv[0].view,x1); return es; } // Compute new result @@ -424,11 +432,11 @@ namespace Gecode { namespace Int { namespace Element { (home,iv,x0,x1,*this,rt))); if (iv.size() == 1) { ExecStatus es = home.ES_SUBSUMED(*this); - (void) new (home) Rel::EqDom(home,iv[0].view,x1); + (void) new (home) Rel::EqDom(home(*this),iv[0].view,x1); return es; } assert(iv.size() > 1); - + if (x1.assigned()) { for (int i = iv.size(); i--; ) if (iv[i].view.in(x1.val())) diff --git a/gecode/int/exception.cpp b/gecode/int/exception.cpp new file mode 100755 index 0000000000..77cf08303f --- /dev/null +++ b/gecode/int/exception.cpp @@ -0,0 +1,90 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Int { + + OutOfLimits::OutOfLimits(const char* l) + : Exception(l,"Number out of limits") {} + + VariableEmptyDomain::VariableEmptyDomain(const char* l) + : Exception(l,"Attempt to create variable with empty domain") {} + + NotZeroOne::NotZeroOne(const char* l) + : Exception(l,"Not a zero/one integer value") {} + + TooFewArguments::TooFewArguments(const char* l) + : Exception(l,"Passed argument array has too few elements") {} + + ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) + : Exception(l,"Sizes of argument arrays mismatch") {} + + ArgumentSame::ArgumentSame(const char* l) + : Exception(l,"Argument array contains same variable multiply") {} + + UnknownRelation::UnknownRelation(const char* l) + : Exception(l,"Unknown relation type") {} + + UnknownOperation::UnknownOperation(const char* l) + : Exception(l,"Unknown operation type") {} + + IllegalOperation::IllegalOperation(const char* l) + : Exception(l,"Illegal operation type") {} + + UnknownBranching::UnknownBranching(const char* l) + : Exception(l,"Unknown branching type") {} + + UnknownReifyMode::UnknownReifyMode(const char* l) + : Exception(l,"Unknown reification mode") {} + + ValOfUnassignedVar::ValOfUnassignedVar(const char* l) + : Exception(l,"Attempt to access value of unassigned variable") {} + + NotYetFinalized::NotYetFinalized(const char* l) + : Exception(l,"Tuple set not yet finalized") {} + + LDSBUnbranchedVariable::LDSBUnbranchedVariable(const char* l) + : Exception(l,"Variable in symmetry not branched on") {} + + LDSBBadValueSelection::LDSBBadValueSelection(const char* l) + : Exception(l,"Value selection incomatible with LDSB") {} + +}} + +// STATISTICS: int-other + diff --git a/gecode/int/exception.hpp b/gecode/int/exception.hpp index 4c1bbea637..555bb0cf0d 100755 --- a/gecode/int/exception.hpp +++ b/gecode/int/exception.hpp @@ -45,14 +45,14 @@ namespace Gecode { namespace Int { //@{ /// %Exception: Value out of limits - class GECODE_VTABLE_EXPORT OutOfLimits : public Exception { + class GECODE_INT_EXPORT OutOfLimits : public Exception { public: /// Initialize with location \a l OutOfLimits(const char* l); }; /// %Exception: Not 0/1 integer - class GECODE_VTABLE_EXPORT NotZeroOne : public Exception { + class GECODE_INT_EXPORT NotZeroOne : public Exception { public: /// Initialize with location \a l NotZeroOne(const char* l); @@ -60,91 +60,91 @@ namespace Gecode { namespace Int { /// %Exception: %Variable created with empty domain - class GECODE_VTABLE_EXPORT VariableEmptyDomain : public Exception { + class GECODE_INT_EXPORT VariableEmptyDomain : public Exception { public: /// Initialize with location \a l VariableEmptyDomain(const char* l); }; /// %Exception: Too few arguments available in argument array - class GECODE_VTABLE_EXPORT TooFewArguments : public Exception { + class GECODE_INT_EXPORT TooFewArguments : public Exception { public: /// Initialize with location \a l TooFewArguments(const char* l); }; /// %Exception: Arguments are of different size - class GECODE_VTABLE_EXPORT ArgumentSizeMismatch : public Exception { + class GECODE_INT_EXPORT ArgumentSizeMismatch : public Exception { public: /// Initialize with location \a l ArgumentSizeMismatch(const char* l); }; /// %Exception: Arguments contain same variable multiply - class GECODE_VTABLE_EXPORT ArgumentSame : public Exception { + class GECODE_INT_EXPORT ArgumentSame : public Exception { public: /// Initialize with location \a l ArgumentSame(const char* l); }; /// %Exception: Unknown relation passed as argument - class GECODE_VTABLE_EXPORT UnknownRelation : public Exception { + class GECODE_INT_EXPORT UnknownRelation : public Exception { public: /// Initialize with location \a l UnknownRelation(const char* l); }; /// %Exception: Unknown operation passed as argument - class GECODE_VTABLE_EXPORT UnknownOperation : public Exception { + class GECODE_INT_EXPORT UnknownOperation : public Exception { public: /// Initialize with location \a l UnknownOperation(const char* l); }; /// %Exception: Illegal operation passed as argument - class GECODE_VTABLE_EXPORT IllegalOperation : public Exception { + class GECODE_INT_EXPORT IllegalOperation : public Exception { public: /// Initialize with location \a l IllegalOperation(const char* l); }; /// %Exception: Unknown value or variable selection passed as argument - class GECODE_VTABLE_EXPORT UnknownBranching : public Exception { + class GECODE_INT_EXPORT UnknownBranching : public Exception { public: /// Initialize with location \a l UnknownBranching(const char* l); }; /// %Exception: Unknown reification mode passed as argument - class GECODE_VTABLE_EXPORT UnknownReifyMode : public Exception { + class GECODE_INT_EXPORT UnknownReifyMode : public Exception { public: /// Initialize with location \a l UnknownReifyMode(const char* l); }; /// %Exception: Attempt to access value of unassigned variable - class GECODE_VTABLE_EXPORT ValOfUnassignedVar : public Exception { + class GECODE_INT_EXPORT ValOfUnassignedVar : public Exception { public: /// Initialize with location \a l ValOfUnassignedVar(const char* l); }; /// %Exception: Tuple set not yet finalized - class GECODE_VTABLE_EXPORT NotYetFinalized : public Exception { + class GECODE_INT_EXPORT NotYetFinalized : public Exception { public: /// Initialize with location \a l NotYetFinalized(const char* l); }; /// %Exception: Variable in symmetry not branched on - class GECODE_VTABLE_EXPORT LDSBUnbranchedVariable : public Exception { + class GECODE_INT_EXPORT LDSBUnbranchedVariable : public Exception { public: /// Initialize with location \a l LDSBUnbranchedVariable(const char* l); }; /// %Exception: Value selection incompatible with LDSB - class GECODE_VTABLE_EXPORT LDSBBadValueSelection : public Exception { + class GECODE_INT_EXPORT LDSBBadValueSelection : public Exception { public: /// Initialize with location \a l LDSBBadValueSelection(const char* l); @@ -152,77 +152,6 @@ namespace Gecode { namespace Int { //@} - - - - - /* - * Classes for exceptions raised by integer module - * - */ - - inline - OutOfLimits::OutOfLimits(const char* l) - : Exception(l,"Number out of limits") {} - - inline - VariableEmptyDomain::VariableEmptyDomain(const char* l) - : Exception(l,"Attempt to create variable with empty domain") {} - - inline - NotZeroOne::NotZeroOne(const char* l) - : Exception(l,"Not a zero/one integer value") {} - - - inline - TooFewArguments::TooFewArguments(const char* l) - : Exception(l,"Passed argument array has too few elements") {} - - inline - ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) - : Exception(l,"Sizes of argument arrays mismatch") {} - - inline - ArgumentSame::ArgumentSame(const char* l) - : Exception(l,"Argument array contains same variable multiply") {} - - - inline - UnknownRelation::UnknownRelation(const char* l) - : Exception(l,"Unknown relation type") {} - - inline - UnknownOperation::UnknownOperation(const char* l) - : Exception(l,"Unknown operation type") {} - - inline - IllegalOperation::IllegalOperation(const char* l) - : Exception(l,"Illegal operation type") {} - - inline - UnknownBranching::UnknownBranching(const char* l) - : Exception(l,"Unknown branching type") {} - - inline - UnknownReifyMode::UnknownReifyMode(const char* l) - : Exception(l,"Unknown reification mode") {} - - inline - ValOfUnassignedVar::ValOfUnassignedVar(const char* l) - : Exception(l,"Attempt to access value of unassigned variable") {} - - inline - NotYetFinalized::NotYetFinalized(const char* l) - : Exception(l,"Tuple set not yet finalized") {} - - inline - LDSBUnbranchedVariable::LDSBUnbranchedVariable(const char* l) - : Exception(l,"Variable in symmetry not branched on") {} - - inline - LDSBBadValueSelection::LDSBBadValueSelection(const char* l) - : Exception(l,"Value selection incomatible with LDSB") {} - }} // STATISTICS: int-other diff --git a/gecode/int/exec.cpp b/gecode/int/exec.cpp index 42324b8ad2..bd7aedf775 100644 --- a/gecode/int/exec.cpp +++ b/gecode/int/exec.cpp @@ -42,30 +42,30 @@ namespace Gecode { void wait(Home home, IntVar x, void (*c)(Space& home), - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; GECODE_ES_FAIL(Kernel::UnaryWait::post(home,x,c)); } void wait(Home home, BoolVar x, void (*c)(Space& home), - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; GECODE_ES_FAIL(Kernel::UnaryWait::post(home,x,c)); } void wait(Home home, const IntVarArgs& x, void (*c)(Space& home), - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Kernel::NaryWait::post(home,xv,c)); } void wait(Home home, const BoolVarArgs& x, void (*c)(Space& home), - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Kernel::NaryWait::post(home,xv,c)); } @@ -73,8 +73,8 @@ namespace Gecode { void when(Home home, BoolVar x, void (*t)(Space& home), void (*e)(Space& home), - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; GECODE_ES_FAIL(Int::Exec::When::post(home,x,t,e)); } diff --git a/gecode/int/exec.hh b/gecode/int/exec.hh index e5047f9d0f..4e5cd2eed0 100644 --- a/gecode/int/exec.hh +++ b/gecode/int/exec.hh @@ -66,13 +66,13 @@ namespace Gecode { namespace Int { namespace Exec { When(Home home, BoolView x, void (*t0)(Space&), void (*e0)(Space&)); public: /// Copy propagator during cloning - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual Actor* copy(Space& home, bool share); /// Perform propagation - GECODE_INT_EXPORT + GECODE_INT_EXPORT virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator - GECODE_INT_EXPORT + GECODE_INT_EXPORT static ExecStatus post(Home home, BoolView x, void (*t)(Space&), void (*e)(Space&)); }; diff --git a/gecode/int/extensional.cpp b/gecode/int/extensional.cpp index bb2fc73905..2b910292ae 100644 --- a/gecode/int/extensional.cpp +++ b/gecode/int/extensional.cpp @@ -43,49 +43,44 @@ namespace Gecode { void extensional(Home home, const IntVarArgs& x, DFA dfa, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.same(home)) throw ArgumentSame("Int::extensional"); - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Extensional::post_lgp(home,x,dfa)); } void extensional(Home home, const BoolVarArgs& x, DFA dfa, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.same(home)) throw ArgumentSame("Int::extensional"); - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Extensional::post_lgp(home,x,dfa)); } void extensional(Home home, const IntVarArgs& x, const TupleSet& t, - ExtensionalPropKind epk, IntConLevel) { + IntPropLevel ipl) { using namespace Int; if (!t.finalized()) throw NotYetFinalized("Int::extensional"); + if (t.arity() != x.size()) + throw ArgumentSizeMismatch("Int::extensional"); + GECODE_POST; + if (t.tuples()==0) { if (x.size()!=0) { home.fail(); } return; } - - if (t.arity() != x.size()) - throw ArgumentSizeMismatch("Int::extensional"); - if (home.failed()) return; // Construct view array ViewArray xv(home,x); - switch (epk) { - case EPK_SPEED: - GECODE_ES_FAIL((Extensional::Incremental - ::post(home,xv,t))); - break; - default: + if (ipl & IPL_MEMORY) { if (x.same(home)) { GECODE_ES_FAIL((Extensional::Basic ::post(home,xv,t))); @@ -93,16 +88,21 @@ namespace Gecode { GECODE_ES_FAIL((Extensional::Basic ::post(home,xv,t))); } - break; + } else { + GECODE_ES_FAIL((Extensional::Incremental + ::post(home,xv,t))); } } void extensional(Home home, const BoolVarArgs& x, const TupleSet& t, - ExtensionalPropKind epk, IntConLevel) { + IntPropLevel ipl) { using namespace Int; if (!t.finalized()) throw NotYetFinalized("Int::extensional"); + if (t.arity() != x.size()) + throw ArgumentSizeMismatch("Int::extensional"); + GECODE_POST; if (t.tuples()==0) { if (x.size()!=0) { @@ -111,18 +111,9 @@ namespace Gecode { return; } - if (t.arity() != x.size()) - throw ArgumentSizeMismatch("Int::extensional"); - if (home.failed()) return; - // Construct view array ViewArray xv(home,x); - switch (epk) { - case EPK_SPEED: - GECODE_ES_FAIL((Extensional::Incremental - ::post(home,xv,t))); - break; - default: + if (ipl & IPL_MEMORY) { if (x.same(home)) { GECODE_ES_FAIL((Extensional::Basic ::post(home,xv,t))); @@ -130,7 +121,9 @@ namespace Gecode { GECODE_ES_FAIL((Extensional::Basic ::post(home,xv,t))); } - break; + } else { + GECODE_ES_FAIL((Extensional::Incremental + ::post(home,xv,t))); } } diff --git a/gecode/int/extensional.hh b/gecode/int/extensional.hh index 0bfa52a8b5..ccc80d5500 100644 --- a/gecode/int/extensional.hh +++ b/gecode/int/extensional.hh @@ -186,7 +186,7 @@ namespace Gecode { namespace Int { namespace Extensional { void audit(void); /// Initialize layered graph template - ExecStatus initialize(Space& home, + ExecStatus initialize(Space& home, const VarArgArray& x, const DFA& dfa); /// Constructor for cloning \a p LayeredGraph(Space& home, bool share, @@ -194,12 +194,14 @@ namespace Gecode { namespace Int { namespace Extensional { public: /// Constructor for posting template - LayeredGraph(Home home, + LayeredGraph(Home home, const VarArgArray& x, const DFA& dfa); /// Copy propagator during cloning virtual Actor* copy(Space& home, bool share); /// Cost function (defined as high linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -208,13 +210,13 @@ namespace Gecode { namespace Int { namespace Extensional { virtual size_t dispose(Space& home); /// Post propagator on views \a x and DFA \a dfa template - static ExecStatus post(Home home, + static ExecStatus post(Home home, const VarArgArray& x, const DFA& dfa); }; /// Select small types for the layered graph propagator template - ExecStatus post_lgp(Home home, + ExecStatus post_lgp(Home home, const VarArgArray& x, const DFA& dfa); }}} @@ -266,12 +268,12 @@ namespace Gecode { namespace Int { namespace Extensional { public: /// Cost function (defined as high quadratic) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); - protected: - /// Unused destructor (to avoid warnings) - virtual ~Base(void) {} }; + }}} #include @@ -461,8 +463,6 @@ namespace Gecode { namespace Int { namespace Extensional { /// Creat support entry for view at position \a i and value \a n SupportEntry* support(int i, int n); public: - /// Perform propagation - virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /** * \brief Cost function * @@ -470,6 +470,10 @@ namespace Gecode { namespace Int { namespace Extensional { * high quadratic. Otherwise it is high cubic. */ virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); + /// Perform propagation + virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Copy propagator during cloning virtual Actor* copy(Space& home, bool share); /// Post propagator for views \a x diff --git a/gecode/int/extensional/base.hpp b/gecode/int/extensional/base.hpp index 47572505e5..e47bccf3cb 100644 --- a/gecode/int/extensional/base.hpp +++ b/gecode/int/extensional/base.hpp @@ -86,6 +86,13 @@ namespace Gecode { namespace Int { namespace Extensional { return tupleSet.implementation(); } + template + void + Base::reschedule(Space& home) { + if (subscribe) + x.reschedule(home, *this, PC_INT_DOM); + } + template PropCost Base::cost(const Space&, const ModEventDelta&) const { diff --git a/gecode/int/extensional/dfa.cpp b/gecode/int/extensional/dfa.cpp index b3e4e3adc2..37795024c0 100755 --- a/gecode/int/extensional/dfa.cpp +++ b/gecode/int/extensional/dfa.cpp @@ -468,7 +468,7 @@ namespace Gecode { int i=0; while (i < m_trans) { int j=i++; - while ((i < m_trans) && + while ((i < m_trans) && (d->trans[j].symbol == d->trans[i].symbol)) i++; max_degree = std::max(max_degree,static_cast(i-j)); diff --git a/gecode/int/extensional/dfa.hpp b/gecode/int/extensional/dfa.hpp index a3efccf605..e2cd5c6a17 100755 --- a/gecode/int/extensional/dfa.hpp +++ b/gecode/int/extensional/dfa.hpp @@ -161,7 +161,7 @@ namespace Gecode { DFA::Transition::Transition(void) {} forceinline - DFA::Transition::Transition(int i_state0, int symbol0, int o_state0) + DFA::Transition::Transition(int i_state0, int symbol0, int o_state0) : i_state(i_state0), symbol(symbol0), o_state(o_state0) {} /* diff --git a/gecode/int/extensional/incremental.hpp b/gecode/int/extensional/incremental.hpp index 7f473a9caf..e9654d9b35 100644 --- a/gecode/int/extensional/incremental.hpp +++ b/gecode/int/extensional/incremental.hpp @@ -302,6 +302,15 @@ namespace Gecode { namespace Int { namespace Extensional { (unassigned != x.size()) ? ME_INT_VAL : ME_INT_DOM); } + template + void + Incremental::reschedule(Space& home) { + // Work to be done or subsumption + if (!w_support.empty() || !w_remove.empty() || (unassigned == 0)) + View::schedule(home,*this, + (unassigned != x.size()) ? ME_INT_VAL : ME_INT_DOM); + } + template forceinline ExecStatus Incremental::post(Home home, ViewArray& x, const TupleSet& t) { diff --git a/gecode/int/extensional/layered-graph.hpp b/gecode/int/extensional/layered-graph.hpp index 79d1d19d3b..4be23da26b 100755 --- a/gecode/int/extensional/layered-graph.hpp +++ b/gecode/int/extensional/layered-graph.hpp @@ -80,40 +80,40 @@ namespace Gecode { namespace Int { namespace Extensional { template forceinline void LayeredGraph::State::init(void) { - i_deg=o_deg=0; + i_deg=o_deg=0; } - + template - forceinline typename LayeredGraph::State& + forceinline typename LayeredGraph::State& LayeredGraph::i_state(int i, StateIdx is) { return layers[i].states[is]; } template - forceinline typename LayeredGraph::State& + forceinline typename LayeredGraph::State& LayeredGraph::i_state (int i, const typename LayeredGraph::Edge& e) { return i_state(i,e.i_state); } template - forceinline bool + forceinline bool LayeredGraph::i_dec (int i, const typename LayeredGraph::Edge& e) { return --i_state(i,e).o_deg == 0; } template - forceinline typename LayeredGraph::State& + forceinline typename LayeredGraph::State& LayeredGraph::o_state(int i, StateIdx os) { return layers[i+1].states[os]; } template - forceinline typename LayeredGraph::State& + forceinline typename LayeredGraph::State& LayeredGraph::o_state (int i, const typename LayeredGraph::Edge& e) { return o_state(i,e.o_state); } template - forceinline bool + forceinline bool LayeredGraph::o_dec (int i, const typename LayeredGraph::Edge& e) { return --o_state(i,e).i_deg == 0; @@ -235,9 +235,9 @@ namespace Gecode { namespace Int { namespace Extensional { template forceinline LayeredGraph::LayeredGraph(Home home, - const VarArgArray& x, + const VarArgArray& x, const DFA& dfa) - : Propagator(home), c(home), n(x.size()), + : Propagator(home), c(home), n(x.size()), max_states(static_cast(dfa.n_states())) { assert(n > 0); } @@ -268,7 +268,7 @@ namespace Gecode { namespace Int { namespace Extensional { template forceinline ExecStatus LayeredGraph::initialize(Space& home, - const VarArgArray& x, + const VarArgArray& x, const DFA& dfa) { Region r(home); @@ -363,7 +363,7 @@ namespace Gecode { namespace Int { namespace Extensional { for (StateIdx j=max_states; j--; ) d += static_cast(layers[n].states[j].i_deg); // Check whether all final states can be joined to a single state - if (d > + if (d > static_cast (Gecode::Support::IntTypeTraits::max)) { // Initialize map for in-states @@ -381,7 +381,7 @@ namespace Gecode { namespace Int { namespace Extensional { layers[n].states[0].o_deg = 1; } layers[n].n_states = i_n; - + // Total number of states n_states = i_n; // Total number of edges @@ -403,11 +403,11 @@ namespace Gecode { namespace Int { namespace Extensional { // Update states in edges for (ValSize j=layers[i].size; j--; ) { - Support& s = layers[i].support[j]; - n_edges += s.n_edges; - for (Degree d=s.n_edges; d--; ) { - s.edges[d].i_state = i_map[s.edges[d].i_state]; - s.edges[d].o_state = o_map[s.edges[d].o_state]; + Support& ls = layers[i].support[j]; + n_edges += ls.n_edges; + for (Degree deg=ls.n_edges; deg--; ) { + ls.edges[deg].i_state = i_map[ls.edges[deg].i_state]; + ls.edges[deg].o_state = o_map[ls.edges[deg].o_state]; } } } @@ -424,7 +424,7 @@ namespace Gecode { namespace Int { namespace Extensional { layers[i].states = a_states; a_states += layers[i].n_states; } - + // Update maximal number of states max_states = max_s; } @@ -453,14 +453,14 @@ namespace Gecode { namespace Int { namespace Extensional { states += layers[i].n_states; for (ValSize j=layers[i].size; j--; ) { Support& s = layers[i].support[j]; - for (Degree d=s.n_edges; d--; ) { - i_state(i,s.edges[d]).o_deg++; - o_state(i,s.edges[d]).i_deg++; + for (Degree deg=s.n_edges; deg--; ) { + i_state(i,s.edges[deg]).o_deg++; + o_state(i,s.edges[deg]).i_deg++; } } } } - + Index& a = static_cast(_a); const int i = a.i; @@ -484,10 +484,10 @@ namespace Gecode { namespace Int { namespace Extensional { Support& s = layers[i].support[j]; n_edges -= s.n_edges; // Supported value not any longer in view - for (Degree d=s.n_edges; d--; ) { + for (Degree deg=s.n_edges; deg--; ) { // Adapt states - o_mod |= i_dec(i,s.edges[d]); - i_mod |= o_dec(i,s.edges[d]); + o_mod |= i_dec(i,s.edges[deg]); + i_mod |= o_dec(i,s.edges[deg]); } } assert(layers[i].support[j].val == n); @@ -495,12 +495,12 @@ namespace Gecode { namespace Int { namespace Extensional { ValSize s=layers[i].size; layers[i].size = 1; for (; j rx(layers[i].x); rx() && (j(rx.min())) { + Support& ls = layers[i].support[j]; + if (ls.val < static_cast(rx.min())) { // Supported value not any longer in view - n_edges -= s.n_edges; - for (Degree d=s.n_edges; d--; ) { + n_edges -= ls.n_edges; + for (Degree deg=ls.n_edges; deg--; ) { // Adapt states - o_mod |= i_dec(i,s.edges[d]); - i_mod |= o_dec(i,s.edges[d]); + o_mod |= i_dec(i,ls.edges[deg]); + i_mod |= o_dec(i,ls.edges[deg]); } ++j; - } else if (s.val > static_cast(rx.max())) { + } else if (ls.val > static_cast(rx.max())) { ++rx; } else { - layers[i].support[k++]=s; + layers[i].support[k++]=ls; ++j; } } @@ -529,12 +529,12 @@ namespace Gecode { namespace Int { namespace Extensional { layers[i].size = k; // Remove remaining values for (; j 0); } @@ -591,6 +591,12 @@ namespace Gecode { namespace Int { namespace Extensional { return sizeof(*this); } + template + void + LayeredGraph::reschedule(Space& home) { + View::schedule(home,*this,c.empty() ? ME_INT_VAL : ME_INT_DOM); + } + template ExecStatus LayeredGraph::propagate(Space& home, @@ -601,7 +607,7 @@ namespace Gecode { namespace Int { namespace Extensional { bool o_mod = false; ValSize j=0; ValSize k=0; - ValSize s=layers[i].size; + ValSize ls=layers[i].size; do { Support& s=layers[i].support[j]; n_edges -= s.n_edges; @@ -621,7 +627,7 @@ namespace Gecode { namespace Int { namespace Extensional { } else { layers[i].support[k++]=s; } - } while (++j 0); // Update modification information if (o_mod && (i > 0)) @@ -635,7 +641,7 @@ namespace Gecode { namespace Int { namespace Extensional { bool o_mod = false; ValSize j=0; ValSize k=0; - ValSize s=layers[i].size; + ValSize ls=layers[i].size; do { Support& s=layers[i].support[j]; n_edges -= s.n_edges; @@ -655,7 +661,7 @@ namespace Gecode { namespace Int { namespace Extensional { } else { layers[i].support[k++]=s; } - } while (++j 0); // Update modification information if (o_mod && (i > 0)) @@ -678,7 +684,7 @@ namespace Gecode { namespace Int { namespace Extensional { template template ExecStatus - LayeredGraph::post(Home home, + LayeredGraph::post(Home home, const VarArgArray& x, const DFA& dfa) { if (x.size() == 0) { @@ -703,7 +709,7 @@ namespace Gecode { namespace Int { namespace Extensional { LayeredGraph ::LayeredGraph(Space& home, bool share, LayeredGraph& p) - : Propagator(home,share,p), + : Propagator(home,share,p), n(p.n), layers(home.alloc(n+1)), max_states(p.max_states), n_states(p.n_states), n_edges(p.n_edges) { c.update(home,share,p.c); @@ -722,7 +728,7 @@ namespace Gecode { namespace Int { namespace Extensional { layers[i].support[j].val = p.layers[i].support[j].val; layers[i].support[j].n_edges = p.layers[i].support[j].n_edges; assert(layers[i].support[j].n_edges > 0); - layers[i].support[j].edges = + layers[i].support[j].edges = Heap::copy(edges,p.layers[i].support[j].edges, layers[i].support[j].n_edges); edges += layers[i].support[j].n_edges; @@ -854,7 +860,7 @@ namespace Gecode { namespace Int { namespace Extensional { Gecode::Support::u_type(static_cast(dfa.n_states())); Gecode::Support::IntType t_degree = Gecode::Support::u_type(dfa.max_degree()); - Gecode::Support::IntType t_val = + Gecode::Support::IntType t_val = std::max(Support::s_type(dfa.symbol_min()), Support::s_type(dfa.symbol_max())); switch (t_val) { diff --git a/gecode/int/gcc.cpp b/gecode/int/gcc.cpp index efae01212f..617a0b5f3f 100755 --- a/gecode/int/gcc.cpp +++ b/gecode/int/gcc.cpp @@ -46,14 +46,14 @@ namespace Gecode { namespace { - + /// Comparison operator template struct LessP { bool operator ()(const std::pair& lhs, const std::pair& rhs) { return lhs.second < rhs.second; - } + } }; /// Make \a x and \a y equal @@ -69,7 +69,7 @@ namespace Gecode { IntSet z(i); return z; } - + /// Remove dupliate entries in \a v from both \a v and \a c template void removeDuplicates(Home home, A& c, IntArgs& v) { @@ -97,12 +97,12 @@ namespace Gecode { c = cc; v = vv; } - + } void count(Home home, const IntVarArgs& x, const IntVarArgs& _c, const IntArgs& _v, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; IntVarArgs c(_c); IntArgs v(_v); @@ -110,8 +110,8 @@ namespace Gecode { throw ArgumentSizeMismatch("Int::count"); if (x.same(home)) throw ArgumentSame("Int::count"); - if (home.failed()) - return; + + GECODE_POST; removeDuplicates(home,c,v); @@ -120,34 +120,34 @@ namespace Gecode { // set the cardinality for (int i = v.size(); i--; ) cv[i].init(c[i],v[i]); - switch (icl) { - case ICL_BND: - GECODE_ES_FAIL( + switch (vbd(ipl)) { + case IPL_BND: + GECODE_ES_FAIL( (GCC::Bnd::post(home,xv,cv))); break; - case ICL_DOM: - GECODE_ES_FAIL( + case IPL_DOM: + GECODE_ES_FAIL( (GCC::Dom::post(home,xv,cv))); break; default: - GECODE_ES_FAIL( + GECODE_ES_FAIL( (GCC::Val::post(home,xv,cv))); } } // domain is 0..|cards|- 1 void count(Home home, const IntVarArgs& x, const IntVarArgs& c, - IntConLevel icl) { + IntPropLevel ipl) { IntArgs values(c.size()); for (int i = c.size(); i--; ) values[i] = i; - count(home, x, c, values, icl); + count(home, x, c, values, ipl); } // constant cards void count(Home home, const IntVarArgs& x, const IntSetArgs& _c, const IntArgs& _v, - IntConLevel icl) { + IntPropLevel ipl) { using namespace Int; IntSetArgs c(_c); IntArgs v(_v); @@ -161,10 +161,9 @@ namespace Gecode { Limits::check(c[i].max(),"Int::count"); } - if (home.failed()) - return; + GECODE_POST; - removeDuplicates(home,c,v); + removeDuplicates(home,c,v); ViewArray xv(home, x); @@ -174,35 +173,35 @@ namespace Gecode { ViewArray cv(home, v.size()); for (int j = v.size(); j--; ) cv[j].init(home,c[j],v[j]); - switch (icl) { - case ICL_BND: - GECODE_ES_FAIL( + switch (vbd(ipl)) { + case IPL_BND: + GECODE_ES_FAIL( (GCC::Bnd::post(home, xv, cv))); break; - case ICL_DOM: - GECODE_ES_FAIL( + case IPL_DOM: + GECODE_ES_FAIL( (GCC::Dom::post(home, xv, cv))); break; default: - GECODE_ES_FAIL( + GECODE_ES_FAIL( (GCC::Val::post(home, xv, cv))); } return; } } - + // No holes: create CardConsts ViewArray cv(home, c.size()); for (int i = c.size(); i--; ) cv[i].init(home,c[i].min(),c[i].max(),v[i]); - switch (icl) { - case ICL_BND: + switch (vbd(ipl)) { + case IPL_BND: GECODE_ES_FAIL( (GCC::Bnd::post(home, xv, cv))); break; - case ICL_DOM: + case IPL_DOM: GECODE_ES_FAIL( (GCC::Dom::post(home, xv, cv))); break; @@ -214,20 +213,20 @@ namespace Gecode { // domain is 0..|cards|- 1 void count(Home home, const IntVarArgs& x, const IntSetArgs& c, - IntConLevel icl) { + IntPropLevel ipl) { IntArgs values(c.size()); for (int i = c.size(); i--; ) values[i] = i; - count(home, x, c, values, icl); + count(home, x, c, values, ipl); } void count(Home home, const IntVarArgs& x, const IntSet& c, const IntArgs& v, - IntConLevel icl) { + IntPropLevel ipl) { IntSetArgs cards(v.size()); for (int i = v.size(); i--; ) cards[i] = c; - count(home, x, cards, v, icl); + count(home, x, cards, v, ipl); } } diff --git a/gecode/int/gcc.hh b/gecode/int/gcc.hh index b93250e9c6..23962acaa0 100755 --- a/gecode/int/gcc.hh +++ b/gecode/int/gcc.hh @@ -79,6 +79,8 @@ namespace Gecode { namespace Int { namespace GCC { virtual Actor* copy(Space& home, bool share); /// Cost funtion returning high linear virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Destructor @@ -90,11 +92,11 @@ namespace Gecode { namespace Int { namespace GCC { /** * \brief Bounds consistent global cardinality propagator - * + * * The algorithm is taken from: * Claude-Guy Quimper, Peter van Beek, Alejandro López-Ortiz, - * Alexander Golynski, and Sayyed Bashir Sadjad. An Efficient - * Bounds Consistency Algorithm for the Global Cardinality + * Alexander Golynski, and Sayyed Bashir Sadjad. An Efficient + * Bounds Consistency Algorithm for the Global Cardinality * Constraint, CP 2003, pages 600-614. * * This implementation uses the code that is provided @@ -195,6 +197,8 @@ namespace Gecode { namespace Int { namespace GCC { virtual Actor* copy(Space& home, bool share); /// Cost funtion virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Destructor @@ -206,7 +210,7 @@ namespace Gecode { namespace Int { namespace GCC { /** * \brief Domain consistent global cardinality propagator - * + * * The algorithm is taken from: * Claude-Guy Quimper, Peter van Beek, Alejandro López-Ortiz, * and Alexander Golynski. Improved Algorithms for the @@ -245,6 +249,8 @@ namespace Gecode { namespace Int { namespace GCC { virtual Actor* copy(Space& home, bool share); /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Destructor diff --git a/gecode/int/gcc/bnd-sup.hpp b/gecode/int/gcc/bnd-sup.hpp index 67a697b27d..73fa564ac7 100755 --- a/gecode/int/gcc/bnd-sup.hpp +++ b/gecode/int/gcc/bnd-sup.hpp @@ -45,7 +45,7 @@ namespace Gecode { namespace Int { namespace GCC { /** * \defgroup GCCBndSup Support for GCC bounds propagation - * + * * \ingroup FuncIntProp */ @@ -75,7 +75,7 @@ namespace Gecode { namespace Int { namespace GCC { template ExecStatus - prop_card(Space& home, + prop_card(Space& home, ViewArray& x, ViewArray& k) { int n = x.size(); int m = k.size(); diff --git a/gecode/int/gcc/bnd.hpp b/gecode/int/gcc/bnd.hpp index 9299d0ebe2..85ff445e09 100644 --- a/gecode/int/gcc/bnd.hpp +++ b/gecode/int/gcc/bnd.hpp @@ -92,6 +92,13 @@ namespace Gecode { namespace Int { namespace GCC { } + template + void + Bnd::reschedule(Space& home) { + y.reschedule(home, *this, PC_INT_BND); + k.reschedule(home, *this, PC_INT_BND); + } + template forceinline ExecStatus Bnd::lbc(Space& home, int& nb, @@ -464,7 +471,7 @@ namespace Gecode { namespace Int { namespace GCC { */ if (hall[z].d < ups.sumup(hall[y].bounds, hall[z].bounds - 1)) return ES_FAILED; - + /* UPDATING LOWER BOUND: * If the lower bound min_i lies inside a Hall interval [a,b] * i.e. a <= min_i <=b <= max_i @@ -511,7 +518,7 @@ namespace Gecode { namespace Int { namespace GCC { hall[i].h = hall[i].t = i+1; hall[i].d = ups.sumup(hall[i].bounds, hall[i+1].bounds - 1); } - + for (int i = n; i--; ) { // visit intervals in decreasing min order int x0 = rank[nu[i]].max; @@ -519,7 +526,7 @@ namespace Gecode { namespace Int { namespace GCC { int y = rank[nu[i]].min; int z = pathmin_t(hall, pred); int j = hall[z].t; - + // DOMINATION: if (--hall[z].d == 0) { hall[z].t = z - 1; @@ -527,11 +534,11 @@ namespace Gecode { namespace Int { namespace GCC { hall[z].t = j; } pathset_t(hall, pred, z, z); - + // NEGATIVE CAPACITY: if (hall[z].d < ups.sumup(hall[z].bounds,hall[y].bounds-1)) return ES_FAILED; - + /* UPDATING UPPER BOUND: * If the upper bound max_i lies inside a Hall interval [a,b] * i.e. min_i <= a <= max_i < b @@ -559,7 +566,7 @@ namespace Gecode { namespace Int { namespace GCC { Bnd::pruneCards(Space& home) { // Remove all values with 0 max occurrence // and remove corresponding occurrence variables from k - + // The number of zeroes int n_z = 0; for (int i=k.size(); i--;) @@ -573,7 +580,7 @@ namespace Gecode { namespace Int { namespace GCC { int n_k = 0; for (int i=0; i& x, ViewArray& k); /** @@ -511,8 +511,8 @@ namespace Gecode { namespace Int { namespace GCC { forceinline Node::Node(void) {} forceinline - Node::Node(NodeFlag nf0, int i) - : e(NULL), fst(NULL), lst(NULL), ie(NULL), idx(i), + Node::Node(NodeFlag nf0, int i) + : e(NULL), fst(NULL), lst(NULL), ie(NULL), idx(i), nf(static_cast(nf0)), noe(0) {} forceinline Edge** @@ -1080,7 +1080,7 @@ namespace Gecode { namespace Int { namespace GCC { template inline ExecStatus - VarValGraph::min_require(Space& home, + VarValGraph::min_require(Space& home, ViewArray& x, ViewArray& k) { for (int i = n_val; i--; ) { @@ -1325,7 +1325,7 @@ namespace Gecode { namespace Int { namespace GCC { template template inline ExecStatus - VarValGraph::narrow(Space& home, + VarValGraph::narrow(Space& home, ViewArray& x, ViewArray& k) { for (int i = n_var; i--; ) if (vars[i]->noe == 1) { @@ -1447,28 +1447,28 @@ namespace Gecode { namespace Int { namespace GCC { ns.push(v); visited.set(static_cast(v->index())); while (!ns.empty()) { - Node* v = ns.top(); + Node* vv = ns.top(); Edge* e = NULL; - if (v->type() == sp) { - e = start[v->index()]; + if (vv->type() == sp) { + e = start[vv->index()]; while ((e != NULL) && e->matched(bc)) - e = e->next(v->type()); + e = e->next(vv->type()); } else { - e = start[v->index()]; + e = start[vv->index()]; while ((e != NULL) && !e->matched(bc)) - e = e->next(v->type()); - start[v->index()] = e; + e = e->next(vv->type()); + start[vv->index()] = e; } if (e != NULL) { - start[v->index()] = e->next(v->type()); - Node* w = e->getMate(v->type()); + start[vv->index()] = e->next(vv->type()); + Node* w = e->getMate(vv->type()); if (!visited.get(static_cast(w->index()))) { // unexplored path - bool m = w->type() ? + bool m = w->type() ? static_cast(w)->matched(bc) : static_cast(w)->matched(bc); if (!m && w->type() != sp) { - if (v->inedge() != NULL) { + if (vv->inedge() != NULL) { // augmenting path of length l > 1 e->match(bc); break; @@ -1523,7 +1523,7 @@ namespace Gecode { namespace Int { namespace GCC { Region r(home); switch (bc) { - case LBC: + case LBC: if (card_match < sum_min) { Support::StaticStack free(r,n_val); @@ -1531,7 +1531,7 @@ namespace Gecode { namespace Int { namespace GCC { for (int i = n_val; i--; ) if (!vals[i]->matched(LBC)) free.push(vals[i]); - + while (!free.empty()) { ValNode* v = free.pop(); while (!v->matched(LBC)) @@ -1587,12 +1587,12 @@ namespace Gecode { namespace Int { namespace GCC { // they are the starting point of an even alternating path in G for (int i = n_var; i--; ) if (!vars[i]->matched(LBC)) { - ns.push(vars[i]); + ns.push(vars[i]); visited.set(static_cast(vars[i]->index())); } for (int i = n_val; i--; ) if (!vals[i]->matched(LBC)) { - ns.push(vals[i]); + ns.push(vals[i]); visited.set(static_cast(vals[i]->index())); } break; @@ -1601,7 +1601,7 @@ namespace Gecode { namespace Int { namespace GCC { // corresponding to a set cover on x there are NO free var nodes for (int i = n_val; i--; ) if (!vals[i]->matched(UBC)) { - ns.push(vals[i]); + ns.push(vals[i]); visited.set(static_cast(vals[i]->index())); } break; @@ -1622,7 +1622,7 @@ namespace Gecode { namespace Int { namespace GCC { // mark the edge cur->use(LBC); if (!visited.get(static_cast(mate->index()))) { - ns.push(mate); + ns.push(mate); visited.set(static_cast(mate->index())); } } @@ -1632,7 +1632,7 @@ namespace Gecode { namespace Int { namespace GCC { // mark the edge cur->use(UBC); if (!visited.get(static_cast(mate->index()))) { - ns.push(mate); + ns.push(mate); visited.set(static_cast(mate->index())); } } @@ -1646,20 +1646,20 @@ namespace Gecode { namespace Int { namespace GCC { VarNode* vrn = static_cast(node); switch (bc) { - case LBC: + case LBC: // after LBC-matching we can follow every unmatched edge for (Edge* cur = vrn->first(); cur != NULL; cur = cur->next()) { ValNode* mate = cur->getVal(); if (!cur->matched(LBC)) { cur->use(LBC); if (!visited.get(static_cast(mate->index()))) { - ns.push(mate); + ns.push(mate); visited.set(static_cast(mate->index())); } } } break; - case UBC: + case UBC: // after UBC-matching we can only follow a matched edge { Edge* cur = vrn->get_match(UBC); @@ -1667,7 +1667,7 @@ namespace Gecode { namespace Int { namespace GCC { cur->use(UBC); ValNode* mate = cur->getVal(); if (!visited.get(static_cast(mate->index()))) { - ns.push(mate); + ns.push(mate); visited.set(static_cast(mate->index())); } } diff --git a/gecode/int/gcc/dom.hpp b/gecode/int/gcc/dom.hpp index 3643f8055a..70a69859ba 100755 --- a/gecode/int/gcc/dom.hpp +++ b/gecode/int/gcc/dom.hpp @@ -108,6 +108,13 @@ namespace Gecode { namespace Int { namespace GCC { return PropCost::cubic(PropCost::LO, x.size()); } + template + void + Dom::reschedule(Space& home) { + x.reschedule(home, *this, PC_INT_DOM); + k.reschedule(home, *this, PC_INT_DOM); + } + template ExecStatus Dom::propagate(Space& home, const ModEventDelta&) { @@ -217,11 +224,11 @@ namespace Gecode { namespace Int { namespace GCC { GECODE_ES_CHECK(prop_card(home, y, k)); card_assigned = k.assigned(); } - + if (card_assigned) { if (x.size() == 0) { for (int j=k.size(); j--; ) - if ((k[j].min() > k[j].counter()) || + if ((k[j].min() > k[j].counter()) || (k[j].max() < k[j].counter())) return ES_FAILED; return home.ES_SUBSUMED(*this); @@ -230,9 +237,9 @@ namespace Gecode { namespace Int { namespace GCC { if (!lookupValue(k,x[0].val(),idx)) return ES_FAILED; GECODE_ME_CHECK(k[idx].inc()); - + for (int j = k.size(); j--; ) - if ((k[j].min() > k[j].counter()) || + if ((k[j].min() > k[j].counter()) || (k[j].max() < k[j].counter())) return ES_FAILED; return home.ES_SUBSUMED(*this); @@ -293,7 +300,7 @@ namespace Gecode { namespace Int { namespace GCC { template inline ExecStatus - Dom::post(Home home, + Dom::post(Home home, ViewArray& x, ViewArray& k) { GECODE_ES_CHECK((postSideConstraints(home,x,k))); diff --git a/gecode/int/gcc/post.hpp b/gecode/int/gcc/post.hpp index 8ae4e5a45e..26f778a24c 100644 --- a/gecode/int/gcc/post.hpp +++ b/gecode/int/gcc/post.hpp @@ -108,7 +108,7 @@ namespace Gecode { namespace Int { namespace GCC { int n_k = 0; for (int i=0; i forceinline - Val::Val(Home home, + Val::Val(Home home, ViewArray& x0, ViewArray& k0) : Propagator(home), x(x0), k(k0){ x.subscribe(home, *this, PC_INT_VAL); @@ -84,12 +84,19 @@ namespace Gecode { namespace Int { namespace GCC { return PropCost::linear(PropCost::HI,x.size()); } + template + void + Val::reschedule(Space& home) { + x.reschedule(home, *this, PC_INT_VAL); + k.reschedule(home, *this, PC_INT_VAL); + } + template ExecStatus - prop_val(Space& home, Propagator& p, + prop_val(Space& home, Propagator& p, ViewArray& x, ViewArray& k) { assert(x.size() > 0); - + Region r(home); // count[i] denotes how often value k[i].card() occurs in x int* count = r.alloc(k.size()); @@ -186,7 +193,7 @@ namespace Gecode { namespace Int { namespace GCC { if (ci > k[i].max()) { return ES_FAILED; } - + // in case of variable cardinalities if (Card::propagate) { GECODE_ME_CHECK(k[i].gq(home, ci)); @@ -217,14 +224,14 @@ namespace Gecode { namespace Int { namespace GCC { // remove values { // Values to prune - int* p = r.alloc(k.size()); + int* pr = r.alloc(k.size()); // Number of values to prune - int n_p = 0; + int n_pr = 0; for (Iter::Values::BitSet > i(rem); i(); ++i) - p[n_p++] = k[i.val()].card(); - Support::quicksort(p,n_p); + pr[n_pr++] = k[i.val()].card(); + Support::quicksort(pr,n_pr); for (int i = x.size(); i--;) { - Iter::Values::Array pi(p,n_p); + Iter::Values::Array pi(pr,n_pr); GECODE_ME_CHECK(x[i].minus_v(home, pi, false)); } } @@ -243,7 +250,7 @@ namespace Gecode { namespace Int { namespace GCC { all_assigned = false; } } - + if (all_assigned) { for (int i = k.size(); i--; ) GECODE_ME_CHECK((k[i].eq(home, count[i] + k[i].counter()))); @@ -264,7 +271,7 @@ namespace Gecode { namespace Int { namespace GCC { reqmin += k[i].min() - k[i].counter(); GECODE_ME_CHECK((k[i].lq(home, x.size()+k[i].counter()))); } - + if ((x.size() < reqmin) || (allmax < x.size())) { return ES_FAILED; } @@ -287,7 +294,7 @@ namespace Gecode { namespace Int { namespace GCC { if (isDistinct(home,x,k)) return Distinct::Val::post(home,x); - + (void) new (home) Val(home,x,k); return ES_OK; } diff --git a/gecode/int/gcc/view.hpp b/gecode/int/gcc/view.hpp index edfac2bb07..81a1608d77 100644 --- a/gecode/int/gcc/view.hpp +++ b/gecode/int/gcc/view.hpp @@ -125,6 +125,8 @@ namespace Gecode { namespace Int { namespace GCC { void subscribe(Space& home, Propagator& p, PropCond pc, bool process=true); /// Cancel subscription of propagator \a p with propagation condition \a pc to view void cancel(Space& home, Propagator& p, PropCond pc); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); ///@} /// \name Cloning @@ -274,6 +276,8 @@ namespace Gecode { namespace Int { namespace GCC { CardConst::subscribe(Space&, Propagator&, PropCond, bool) {} forceinline void CardConst::cancel(Space&, Propagator&, PropCond) {} + forceinline void + CardConst::reschedule(Space&, Propagator&, PropCond) {} forceinline void CardConst::update(Space&, bool, CardConst& x) { diff --git a/gecode/int/idx-view.hh b/gecode/int/idx-view.hh index 6ad3ba286f..78178fda54 100644 --- a/gecode/int/idx-view.hh +++ b/gecode/int/idx-view.hh @@ -52,7 +52,7 @@ namespace Gecode { namespace Int { class IdxView { public: /// The index - int idx; + int idx; /// Thhe view View view; /// Allocate memory for \a n index-view pairs @@ -104,6 +104,8 @@ namespace Gecode { namespace Int { * for all elements of the array. */ void cancel(Space& home, Propagator& p, PropCond pc); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); /// Cloning void update(Space& home, bool share, IdxViewArray& x); diff --git a/gecode/int/idx-view.hpp b/gecode/int/idx-view.hpp index 0439605014..3a4cbf7544 100644 --- a/gecode/int/idx-view.hpp +++ b/gecode/int/idx-view.hpp @@ -139,6 +139,13 @@ namespace Gecode { namespace Int { xs[i].view.cancel(home,p,pc); } + template + forceinline void + IdxViewArray::reschedule(Space& home, Propagator& p, PropCond pc) { + for (int i = n; i--; ) + xs[i].view.reschedule(home,p,pc); + } + template forceinline void IdxViewArray::update(Space& home, bool share, IdxViewArray& a) { diff --git a/gecode/int/ipl.hpp b/gecode/int/ipl.hpp new file mode 100755 index 0000000000..9d20c5cef8 --- /dev/null +++ b/gecode/int/ipl.hpp @@ -0,0 +1,60 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + forceinline IntPropLevel + vbd(IntPropLevel ipl) { + return static_cast(ipl & + (IPL_DEF | IPL_VAL | IPL_BND | IPL_DOM)); + } + + forceinline IntPropLevel + sm(IntPropLevel ipl) { + return static_cast(ipl & + (IPL_SPEED | IPL_MEMORY)); + } + + forceinline IntPropLevel + ba(IntPropLevel ipl) { + return static_cast(ipl & IPL_BASIC_ADVANCED); + } + +} + +// STATISTICS: int-post + diff --git a/gecode/int/ldsb.cpp b/gecode/int/ldsb.cpp index 6f6709a74f..5ebbe48490 100644 --- a/gecode/int/ldsb.cpp +++ b/gecode/int/ldsb.cpp @@ -62,7 +62,7 @@ namespace Gecode { namespace Int { namespace LDSB { namespace Gecode { using namespace Int::LDSB; - + SymmetryHandle VariableSymmetry(const IntVarArgs& vars) { ArgArray a(vars.size()); for (int i = 0 ; i < vars.size() ; i++) @@ -143,13 +143,13 @@ namespace Gecode { namespace Int { namespace LDSB { SymmetryImp* createIntSym(Space& home, const SymmetryHandle& s, VariableMap variableMap) { - VariableSymmetryObject* varref = + VariableSymmetryObject* varref = dynamic_cast(s.ref); - ValueSymmetryObject* valref = + ValueSymmetryObject* valref = dynamic_cast(s.ref); - VariableSequenceSymmetryObject* varseqref = + VariableSequenceSymmetryObject* varseqref = dynamic_cast(s.ref); - ValueSequenceSymmetryObject* valseqref = + ValueSequenceSymmetryObject* valseqref = dynamic_cast(s.ref); if (varref) { int n = varref->nxs; @@ -176,13 +176,13 @@ namespace Gecode { namespace Int { namespace LDSB { int n = varseqref->nxs; int* indices = home.alloc(n); for (int i = 0 ; i < n ; i++) { - VariableMap::const_iterator index = + VariableMap::const_iterator index = variableMap.find(varseqref->xs[i]); if (index == variableMap.end()) throw LDSBUnbranchedVariable("VariableSequenceSymmetryObject::createInt"); indices[i] = index->second; } - return new (home) VariableSequenceSymmetryImp(home, indices, n, + return new (home) VariableSequenceSymmetryImp(home, indices, n, varseqref->seq_size); } if (valseqref) { @@ -190,7 +190,7 @@ namespace Gecode { namespace Int { namespace LDSB { int *vs = home.alloc(n); for (unsigned int i = 0 ; i < n ; i++) vs[i] = valseqref->values[i]; - return new (home) ValueSequenceSymmetryImp(home, vs, n, + return new (home) ValueSequenceSymmetryImp(home, vs, n, valseqref->seq_size); } GECODE_NEVER; @@ -200,13 +200,13 @@ namespace Gecode { namespace Int { namespace LDSB { /// Create a boolean symmetry implementation from a symmetry handle SymmetryImp* createBoolSym(Space& home, const SymmetryHandle& s, VariableMap variableMap) { - VariableSymmetryObject* varref = + VariableSymmetryObject* varref = dynamic_cast(s.ref); - ValueSymmetryObject* valref = + ValueSymmetryObject* valref = dynamic_cast(s.ref); - VariableSequenceSymmetryObject* varseqref = + VariableSequenceSymmetryObject* varseqref = dynamic_cast(s.ref); - ValueSequenceSymmetryObject* valseqref = + ValueSequenceSymmetryObject* valseqref = dynamic_cast(s.ref); if (varref) { int n = varref->nxs; @@ -233,13 +233,13 @@ namespace Gecode { namespace Int { namespace LDSB { int n = varseqref->nxs; int* indices = home.alloc(n); for (int i = 0 ; i < n ; i++) { - VariableMap::const_iterator index = + VariableMap::const_iterator index = variableMap.find(varseqref->xs[i]); if (index == variableMap.end()) throw LDSBUnbranchedVariable("VariableSequenceSymmetryObject::createBool"); indices[i] = index->second; } - return new (home) VariableSequenceSymmetryImp(home, indices, + return new (home) VariableSequenceSymmetryImp(home, indices, n, varseqref->seq_size); } if (valseqref) { @@ -247,7 +247,7 @@ namespace Gecode { namespace Int { namespace LDSB { int *vs = home.alloc(n); for (unsigned int i = 0 ; i < n ; i++) vs[i] = valseqref->values[i]; - return new (home) ValueSequenceSymmetryImp(home, vs, n, + return new (home) ValueSequenceSymmetryImp(home, vs, n, valseqref->seq_size); } GECODE_NEVER; @@ -259,17 +259,17 @@ namespace Gecode { using namespace Int::LDSB; - BrancherHandle + void branch(Home home, const IntVarArgs& x, IntVarBranch vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, IntBranchFilter bf, IntVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewselint(home,vars) + ViewSel* vs[1] = { + Branch::viewselint(home,vars) }; switch (vals.select()) { case IntValBranch::SEL_SPLIT_MIN: @@ -301,19 +301,19 @@ namespace Gecode { array[i] = createIntSym(home, syms[i], variableMap); } - return LDSBBrancher::post + LDSBBrancher::post (home,xv,vs,Branch::valselcommitint(home,x.size(),vals), array,n,bf,vvp); } } - BrancherHandle + void branch(Home home, const IntVarArgs& x, TieBreak vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, IntBranchFilter bf, IntVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == IntVarBranch::SEL_NONE) || (vars.a.select() == IntVarBranch::SEL_RND)) @@ -328,7 +328,7 @@ namespace Gecode { vars.d = INT_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == IntVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,syms,bf,vvp); + branch(home,x,vars.a,vals,syms,bf,vvp); } else { // Construct mapping from each variable in the array to its index // in the array. @@ -365,7 +365,7 @@ namespace Gecode { // If vals.commit() returns NULL, it means it will commit with // binary branching, which is OK for LDSB, so we fall through. default: - return LDSBBrancher + LDSBBrancher ::post(home,xv,vs,Branch::valselcommitint(home,x.size(),vals), array,n,bf,vvp); } @@ -389,7 +389,7 @@ namespace Gecode { // If vals.commit() returns NULL, it means it will commit with // binary branching, which is OK for LDSB, so we fall through. default: - return LDSBBrancher + LDSBBrancher ::post(home,xv,vs,Branch::valselcommitint(home,x.size(),vals), array,n,bf,vvp); } @@ -413,27 +413,25 @@ namespace Gecode { // If vals.commit() returns NULL, it means it will commit with // binary branching, which is OK for LDSB, so we fall through. default: - return LDSBBrancher + LDSBBrancher ::post(home,xv,vs,Branch::valselcommitint(home,x.size(),vals), array,n,bf,vvp); } } } - GECODE_NEVER; - return BrancherHandle(); } - BrancherHandle + void branch(Home home, const BoolVarArgs& x, IntVarBranch vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, BoolBranchFilter bf, BoolVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewselbool(home,vars) + ViewSel* vs[1] = { + Branch::viewselbool(home,vars) }; // Construct mapping from each variable in the array to its index @@ -470,21 +468,19 @@ namespace Gecode { // If vals.commit() returns NULL, it means it will commit with // binary branching, which is OK for LDSB, so we fall through. default: - return LDSBBrancher::post + LDSBBrancher::post (home,xv,vs,Branch::valselcommitbool(home,x.size(),vals),array,n,bf,vvp); } - GECODE_NEVER; - return BrancherHandle(); } - BrancherHandle + void branch(Home home, const BoolVarArgs& x, TieBreak vars, IntValBranch vals, - const Symmetries& syms, + const Symmetries& syms, BoolBranchFilter bf, BoolVarValPrint vvp) { using namespace Int; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == IntVarBranch::SEL_NONE) || (vars.a.select() == IntVarBranch::SEL_RND)) @@ -499,7 +495,7 @@ namespace Gecode { vars.d = INT_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == IntVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,syms,bf,vvp); + branch(home,x,vars.a,vals,syms,bf,vvp); } else { // Construct mapping from each variable in the array to its index // in the array. @@ -540,32 +536,27 @@ namespace Gecode { } ViewArray xv(home,x); - ValSelCommitBase* - vsc = Branch::valselcommitbool(home,x.size(),vals); + ValSelCommitBase* + vsc = Branch::valselcommitbool(home,x.size(),vals); if (vars.c.select() == IntVarBranch::SEL_NONE) { - ViewSel* vs[2] = { + ViewSel* vs[2] = { Branch::viewselbool(home,vars.a),Branch::viewselbool(home,vars.b) }; - return - LDSBBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); + LDSBBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); } else if (vars.d.select() == IntVarBranch::SEL_NONE) { - ViewSel* vs[3] = { + ViewSel* vs[3] = { Branch::viewselbool(home,vars.a),Branch::viewselbool(home,vars.b), Branch::viewselbool(home,vars.c) }; - return - LDSBBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); + LDSBBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); } else { - ViewSel* vs[4] = { + ViewSel* vs[4] = { Branch::viewselbool(home,vars.a),Branch::viewselbool(home,vars.b), Branch::viewselbool(home,vars.c),Branch::viewselbool(home,vars.d) }; - return - LDSBBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); + LDSBBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); } } - GECODE_NEVER; - return BrancherHandle(); } } diff --git a/gecode/int/ldsb.hh b/gecode/int/ldsb.hh index 5cb5db3fea..0158ded097 100644 --- a/gecode/int/ldsb.hh +++ b/gecode/int/ldsb.hh @@ -71,7 +71,7 @@ namespace Gecode { namespace Int { namespace LDSB { * \brief Find the location of an integer in a collection of * sequences. * - * + * * Given an array \a indices of integers (of length \a n_values), * which represents a collection of sequences each of size \a * seq_size, find the location of the first occurrence of the value @@ -148,7 +148,7 @@ namespace Gecode { namespace Int { namespace LDSB { /// Constructor for creation VariableSequenceSymmetryObject(ArgArray vars, int ss); /// Destructor - ~VariableSequenceSymmetryObject(); + ~VariableSequenceSymmetryObject(); }; /// Implementation of a value sequence symmetry at the modelling level class GECODE_INT_EXPORT ValueSequenceSymmetryObject : public SymmetryObject { @@ -173,6 +173,8 @@ namespace Gecode { namespace Int { namespace LDSB { virtual SymmetryImp* copy(Space& home, bool share) const = 0; /// Disposal virtual size_t dispose(Space& home) = 0; + /// Unused destructor + virtual ~SymmetryImp(void); /// Placement new operator static void* operator new(size_t s, Space& home); /// Return memory to space @@ -309,7 +311,7 @@ namespace Gecode { namespace Int { namespace LDSB { public: /// Initialize choice for brancher \a b, position \a p, value \a /// n, and set of literals \a literals (of size \a nliterals) - LDSBChoice(const Brancher& b, unsigned int a, const Pos& p, const Val& n, + LDSBChoice(const Brancher& b, unsigned int a, const Pos& p, const Val& n, const Literal* literals, int nliterals); /// Destructor ~LDSBChoice(void); @@ -343,17 +345,17 @@ namespace Gecode { namespace Int { namespace LDSB { int _prevPos; protected: /// Function type for printing variable and value selection - typedef void (*VarValPrint)(const Space& home, const BrancherHandle& bh, - unsigned int b, + typedef void (*VarValPrint)(const Space& home, const Brancher& b, + unsigned int alt, typename View::VarType x, int i, const Val& m, std::ostream& o); /// Constructor for cloning \a b LDSBBrancher(Space& home, bool share, LDSBBrancher& b); /// Constructor for creation - LDSBBrancher(Home home, + LDSBBrancher(Home home, ViewArray& x, - ViewSel* vs[n], + ViewSel* vs[n], ValSelCommitBase* vsc, SymmetryImp** syms, int nsyms, BranchFilter bf, @@ -370,14 +372,14 @@ namespace Gecode { namespace Int { namespace LDSB { /// Delete brancher and return its size virtual size_t dispose(Space& home); /// Brancher post function - static BrancherHandle post(Home home, - ViewArray& x, - ViewSel* vs[n], - ValSelCommitBase* vsc, - SymmetryImp** syms, - int nsyms, - BranchFilter bf, - VarValPrint vvp); + static void post(Home home, + ViewArray& x, + ViewSel* vs[n], + ValSelCommitBase* vsc, + SymmetryImp** syms, + int nsyms, + BranchFilter bf, + VarValPrint vvp); }; /// Exclude value \v from variable view \x diff --git a/gecode/int/ldsb/brancher.hpp b/gecode/int/ldsb/brancher.hpp index 2ef7e5ddb6..1e6f8c7f9f 100644 --- a/gecode/int/ldsb/brancher.hpp +++ b/gecode/int/ldsb/brancher.hpp @@ -60,17 +60,17 @@ namespace Gecode { namespace Int { namespace LDSB { template inline - LDSBChoice::LDSBChoice(const Brancher& b, unsigned int a, const Pos& p, + LDSBChoice::LDSBChoice(const Brancher& b, unsigned int a, const Pos& p, const Val& n, const Literal* literals, int nliterals) - : PosValChoice(b,a,p,n), _literals(literals), _nliterals(nliterals) + : PosValChoice(b,a,p,n), _literals(literals), _nliterals(nliterals) {} template LDSBChoice::~LDSBChoice(void) { delete [] _literals; } - + template forceinline const Literal* LDSBChoice::literals(void) const { return _literals; } @@ -95,7 +95,7 @@ namespace Gecode { namespace Int { namespace LDSB { e << _literals[i]._value; } } - + template @@ -115,27 +115,27 @@ namespace Gecode { namespace Int { namespace LDSB { } template - forceinline BrancherHandle + forceinline void LDSBBrancher:: post(Home home, ViewArray& x, ViewSel* vs[n], ValSelCommitBase* vsc, SymmetryImp** syms, int nsyms, BranchFilter bf, VarValPrint vvp) { - return *new (home) LDSBBrancher(home,x,vs,vsc,syms,nsyms,bf,vvp); + (void) new (home) LDSBBrancher(home,x,vs,vsc,syms,nsyms,bf,vvp); } template forceinline LDSBBrancher:: LDSBBrancher(Space& home, bool shared, LDSBBrancher& b) - : ViewValBrancher(home,shared,b), + : ViewValBrancher(home,shared,b), _nsyms(b._nsyms), _prevPos(b._prevPos) { _syms = home.alloc*>(_nsyms); for (int i = 0 ; i < _nsyms ; i++) _syms[i] = b._syms[i]->copy(home, shared); } - + template Actor* LDSBBrancher::copy(Space& home, bool shared) { @@ -150,7 +150,7 @@ namespace Gecode { namespace Int { namespace LDSB { // Making the PVC here is not so nice, I think. const Choice* c = ViewValBrancher::choice(home); const PosValChoice* pvc = static_cast* >(c); - + // Compute symmetries. int choicePos = pvc->pos().pos; @@ -166,11 +166,11 @@ namespace Gecode { namespace Int { namespace LDSB { seen.insert(Literal(choicePos, choiceVal)); queue.push_back(Literal(choicePos, choiceVal)); - + do { Literal l = queue[0]; queue.pop_front(); - + for (int i = 0 ; i < _nsyms ; i++) { ArgArray toExclude = _syms[i]->symmetric(l, this->x); for (int j = 0 ; j < toExclude.size() ; ++j) { @@ -189,10 +189,10 @@ namespace Gecode { namespace Int { namespace LDSB { literals[i] = *it; ++it; } - + return new LDSBChoice(*this,a,choicePos,choiceVal, literals, nliterals); } - + template const Choice* @@ -243,7 +243,7 @@ namespace Gecode { namespace Int { namespace LDSB { // Post the branching constraint. ExecStatus fromBase = ViewValBrancher::commit(home, c, b); GECODE_ES_CHECK(fromBase); - + // Post prunings. int nliterals = pvc.nliterals(); const Literal* literals = pvc.literals(); diff --git a/gecode/int/ldsb/sym-imp.hpp b/gecode/int/ldsb/sym-imp.hpp index e0d45f6478..6d7001c26a 100644 --- a/gecode/int/ldsb/sym-imp.hpp +++ b/gecode/int/ldsb/sym-imp.hpp @@ -48,6 +48,9 @@ namespace Gecode { namespace Int { namespace LDSB { return a; } + template + SymmetryImp::~SymmetryImp(void) {} + template void* SymmetryImp::operator new(size_t s, Space& home) { @@ -83,7 +86,7 @@ namespace Gecode { namespace Int { namespace LDSB { } } - + template inline @@ -182,7 +185,7 @@ namespace Gecode { namespace Int { namespace LDSB { template VariableSequenceSymmetryImp - ::VariableSequenceSymmetryImp(Space& home, int* _indices, unsigned int n, + ::VariableSequenceSymmetryImp(Space& home, int* _indices, unsigned int n, unsigned int seqsize) : n_indices(n), seq_size(seqsize), n_seqs(n/seqsize) { indices = home.alloc(n_indices); @@ -259,7 +262,7 @@ namespace Gecode { namespace Int { namespace LDSB { break; } } - + if (active) { s.push(Literal(secondSeq[seqPos], l._value)); } @@ -283,7 +286,7 @@ namespace Gecode { namespace Int { namespace LDSB { ::copy(Space& home, bool share) const { return new (home) VariableSequenceSymmetryImp(home, share, *this); } - + template @@ -295,7 +298,7 @@ namespace Gecode { namespace Int { namespace LDSB { template ValueSequenceSymmetryImp - ::ValueSequenceSymmetryImp(Space& home, int* _values, unsigned int n, + ::ValueSequenceSymmetryImp(Space& home, int* _values, unsigned int n, unsigned int seqsize) : n_values(n), seq_size(seqsize), n_seqs(n/seqsize), dead_sequences(home, n_seqs) { diff --git a/gecode/int/limits.hpp b/gecode/int/limits.hpp index b2e7d9ee11..aabdbdc1d0 100644 --- a/gecode/int/limits.hpp +++ b/gecode/int/limits.hpp @@ -45,7 +45,7 @@ namespace Gecode { namespace Int { Limits::valid(long long int n) { return ((n >= min) && (n <= max)); } - + inline void Limits::check(int n, const char* l) { if ((n < min) || (n > max)) @@ -56,7 +56,7 @@ namespace Gecode { namespace Int { if ((n < min) || (n > max)) throw OutOfLimits(l); } - + inline void Limits::positive(int n, const char* l) { if ((n <= 0) || (n > max)) @@ -67,7 +67,7 @@ namespace Gecode { namespace Int { if ((n <= 0.0) || (n > max)) throw OutOfLimits(l); } - + inline void Limits::nonnegative(int n, const char* l) { if ((n < 0) || (n > max)) @@ -78,10 +78,10 @@ namespace Gecode { namespace Int { if ((n < 0.0) || (n > max)) throw OutOfLimits(l); } - + forceinline bool Limits::overflow_add(int n, int m) { - long long int nm = + long long int nm = static_cast(n) + static_cast(m); return (nm > INT_MAX) || (nm < INT_MIN+1); } @@ -95,7 +95,7 @@ namespace Gecode { namespace Int { forceinline bool Limits::overflow_sub(int n, int m) { - long long int nm = + long long int nm = static_cast(n) - static_cast(m); return (nm > INT_MAX) || (nm < INT_MIN+1); } @@ -109,7 +109,7 @@ namespace Gecode { namespace Int { inline bool Limits::overflow_mul(int n, int m) { - long long int nm = + long long int nm = static_cast(n) * static_cast(m); return (nm > INT_MAX) || (nm < INT_MIN+1); } @@ -120,16 +120,16 @@ namespace Gecode { namespace Int { if ((n == LLONG_MIN) || (m == LLONG_MIN)) return false; - unsigned long long int un = + unsigned long long int un = static_cast(n < 0 ? -n : n); - unsigned long long int um = + unsigned long long int um = static_cast(m < 0 ? -m : m); const unsigned int k = CHAR_BIT * sizeof(int); - unsigned long long int un_hi = un >> k; + unsigned long long int un_hi = un >> k; unsigned long long int un_lo = un & ((1ULL << k) - 1ULL); - unsigned long long int um_hi = um >> k; + unsigned long long int um_hi = um >> k; unsigned long long int um_lo = um & ((1ULL << k) - 1ULL); // This would mean that there is something larger than 2^64 @@ -145,7 +145,7 @@ namespace Gecode { namespace Int { unm_hi = um_hi * un_lo; else return false; - + // Again, something larger than 2^64 if ((unm_hi >> k) != 0ULL) return true; diff --git a/gecode/int/linear-bool.cpp b/gecode/int/linear-bool.cpp index feb9282042..0a110d44b1 100644 --- a/gecode/int/linear-bool.cpp +++ b/gecode/int/linear-bool.cpp @@ -43,8 +43,8 @@ namespace Gecode { void linear(Home home, const BoolVarArgs& x, IntRelType irt, int c, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; int n=x.size(); Region re(home); @@ -53,13 +53,13 @@ namespace Gecode { t[i].a=1; t[i].x=x[i]; } - Linear::post(home,t,n,irt,c,icl); + Linear::post(home,t,n,irt,c,ipl); } void linear(Home home, const BoolVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; int n=x.size(); Region re(home); @@ -68,17 +68,17 @@ namespace Gecode { t[i].a=1; t[i].x=x[i]; } - Linear::post(home,t,n,irt,y,0,icl); + Linear::post(home,t,n,irt,y,0,ipl); } void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, int c, - IntConLevel icl) { + IntPropLevel ipl) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) - return; + + GECODE_POST; int n=x.size(); Region re(home); @@ -87,17 +87,17 @@ namespace Gecode { t[i].a=a[i]; t[i].x=x[i]; } - Linear::post(home,t,n,irt,c,icl); + Linear::post(home,t,n,irt,c,ipl); } void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl) { + IntPropLevel ipl) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) - return; + + GECODE_POST; int n=x.size(); Region re(home); @@ -122,13 +122,13 @@ namespace Gecode { default: ; } if (home.failed()) return; - Linear::post(home,t,n,irt,y,0,icl); + Linear::post(home,t,n,irt,y,0,ipl); } void linear(Home home, const BoolVarArgs& x, IntRelType irt, int c, - Reify r, IntConLevel icl) { - if (home.failed()) return; + Reify r, IntPropLevel ipl) { + GECODE_POST; int n=x.size(); Region re(home); @@ -137,13 +137,13 @@ namespace Gecode { t[i].a=1; t[i].x=x[i]; } - Linear::post(home,t,n,irt,c,r,icl); + Linear::post(home,t,n,irt,c,r,ipl); } void linear(Home home, const BoolVarArgs& x, IntRelType irt, IntVar y, - Reify r, IntConLevel icl) { - if (home.failed()) return; + Reify r, IntPropLevel ipl) { + GECODE_POST; int n=x.size(); Region re(home); @@ -152,16 +152,16 @@ namespace Gecode { t[i].a=1; t[i].x=x[i]; } - Linear::post(home,t,n,irt,y,r,icl); + Linear::post(home,t,n,irt,y,r,ipl); } void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, int c, - Reify r, IntConLevel icl) { + Reify r, IntPropLevel ipl) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) return; + GECODE_POST; int n=x.size(); Region re(home); @@ -170,16 +170,16 @@ namespace Gecode { t[i].a=a[i]; t[i].x=x[i]; } - Linear::post(home,t,n,irt,c,r,icl); + Linear::post(home,t,n,irt,c,r,ipl); } void linear(Home home, const IntArgs& a, const BoolVarArgs& x, IntRelType irt, IntVar y, - Reify r, IntConLevel icl) { + Reify r, IntPropLevel ipl) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) return; + GECODE_POST; int n=x.size(); Region re(home); @@ -188,7 +188,7 @@ namespace Gecode { t[i].a=a[i]; t[i].x=x[i]; } - Linear::post(home,t,n,irt,y,r,icl); + Linear::post(home,t,n,irt,y,r,ipl); } } diff --git a/gecode/int/linear-int.cpp b/gecode/int/linear-int.cpp index f07960a834..17bdeb7912 100644 --- a/gecode/int/linear-int.cpp +++ b/gecode/int/linear-int.cpp @@ -44,21 +44,21 @@ namespace Gecode { void linear(Home home, const IntVarArgs& x, IntRelType irt, int c, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()); for (int i = x.size(); i--; ) { t[i].a=1; t[i].x=x[i]; } - Linear::post(home,t,x.size(),irt,c,icl); + Linear::post(home,t,x.size(),irt,c,ipl); } void linear(Home home, const IntVarArgs& x, IntRelType irt, int c, Reify r, - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()); for (int i = x.size(); i--; ) { @@ -70,25 +70,25 @@ namespace Gecode { void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, int c, - IntConLevel icl) { + IntPropLevel ipl) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()); for (int i = x.size(); i--; ) { t[i].a=a[i]; t[i].x=x[i]; } - Linear::post(home,t,x.size(),irt,c,icl); + Linear::post(home,t,x.size(),irt,c,ipl); } void linear(Home home, - const IntArgs& a, const IntVarArgs& x, IntRelType irt, int c, - Reify r, IntConLevel) { + const IntArgs& a, const IntVarArgs& x, IntRelType irt, int c, + Reify r, IntPropLevel) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()); for (int i = x.size(); i--; ) { @@ -100,8 +100,8 @@ namespace Gecode { void linear(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()+1); for (int i = x.size(); i--; ) { @@ -124,14 +124,14 @@ namespace Gecode { } if (home.failed()) return; t[x.size()].a=-1; t[x.size()].x=y; - Linear::post(home,t,x.size()+1,irt,0,icl); + Linear::post(home,t,x.size()+1,irt,0,ipl); } void linear(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, Reify r, - IntConLevel) { - if (home.failed()) return; + IntPropLevel) { + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()+1); for (int i = x.size(); i--; ) { @@ -144,10 +144,10 @@ namespace Gecode { void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl) { + IntPropLevel ipl) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()+1); for (int i = x.size(); i--; ) { @@ -170,16 +170,16 @@ namespace Gecode { } if (home.failed()) return; t[x.size()].a=-1; t[x.size()].x=y; - Linear::post(home,t,x.size()+1,irt,0,icl); + Linear::post(home,t,x.size()+1,irt,0,ipl); } void linear(Home home, const IntArgs& a, const IntVarArgs& x, IntRelType irt, IntVar y, - Reify r, IntConLevel) { + Reify r, IntPropLevel) { if (a.size() != x.size()) throw ArgumentSizeMismatch("Int::linear"); - if (home.failed()) return; + GECODE_POST; Region re(home); Linear::Term* t = re.alloc >(x.size()+1); for (int i = x.size(); i--; ) { diff --git a/gecode/int/linear.hh b/gecode/int/linear.hh index 1ea484a2fd..0e48ec6401 100644 --- a/gecode/int/linear.hh +++ b/gecode/int/linear.hh @@ -83,6 +83,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -114,6 +116,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -362,6 +366,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Cost function (defined as low ternary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -508,6 +514,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -524,6 +532,8 @@ namespace Gecode { namespace Int { namespace Linear { template class ReLin : public Lin { protected: + using Lin::x; + using Lin::y; /// Control view for reification Ctrl b; /// Constructor for cloning \a p @@ -531,6 +541,8 @@ namespace Gecode { namespace Int { namespace Linear { /// Constructor for creation ReLin(Home home, ViewArray

& x, ViewArray& y, Val c, Ctrl b); public: + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -815,6 +827,7 @@ namespace Gecode { namespace Int { namespace Linear { using LinBoolInt::n_as; using LinBoolInt::n_hs; using LinBoolInt::c; + using LinBoolInt::disabled; /// Constructor for cloning \a p EqBoolInt(Space& home, bool share, EqBoolInt& p); /// Constructor for creation @@ -822,6 +835,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Create copy during cloning virtual Actor* copy(Space& home, bool share); + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -844,6 +859,7 @@ namespace Gecode { namespace Int { namespace Linear { using LinBoolInt::n_as; using LinBoolInt::n_hs; using LinBoolInt::c; + using LinBoolInt::disabled; /// Constructor for cloning \a p GqBoolInt(Space& home, bool share, GqBoolInt& p); /// Constructor for creation @@ -851,6 +867,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Create copy during cloning virtual Actor* copy(Space& home, bool share); + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -953,6 +971,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Create copy during cloning virtual Actor* copy(Space& home, bool share); + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -983,6 +1003,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Create copy during cloning virtual Actor* copy(Space& home, bool share); + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -1017,6 +1039,8 @@ namespace Gecode { namespace Int { namespace Linear { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -1131,6 +1155,8 @@ namespace Gecode { namespace Int { namespace Linear { void subscribe(Space& home, Propagator& p); /// Cancel propagator \a p void cancel(Space& home, Propagator& p); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p); /// Update \a sba during copying void update(Space& home, bool share, ScaleBoolArray& sba); /// Return pointer to first element @@ -1169,6 +1195,8 @@ namespace Gecode { namespace Int { namespace Linear { void subscribe(Space& home, Propagator& p); /// Cancel propagator \a p void cancel(Space& home, Propagator& p); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p); /// Update \a sba during copying void update(Space& home, bool share, EmptyScaleBoolArray& esba); /// Return pointer to first element @@ -1211,6 +1239,8 @@ namespace Gecode { namespace Int { namespace Linear { SBAP& p, SBAN& n, VX x, int c); /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -1362,7 +1392,7 @@ namespace Gecode { namespace Int { namespace Linear { */ GECODE_INT_EXPORT void post(Home home, Term* t, int n, IntRelType irt, int c, - IntConLevel=ICL_DEF); + IntPropLevel=IPL_DEF); /** * \brief Post reified propagator for linear constraint @@ -1395,7 +1425,7 @@ namespace Gecode { namespace Int { namespace Linear { */ GECODE_INT_EXPORT void post(Home home, Term* t, int n, IntRelType irt, int c, Reify r, - IntConLevel=ICL_DEF); + IntPropLevel=IPL_DEF); /** * \brief Post propagator for linear constraint over Booleans @@ -1426,7 +1456,7 @@ namespace Gecode { namespace Int { namespace Linear { */ GECODE_INT_EXPORT void post(Home home, Term* t, int n, IntRelType irt, int c, - IntConLevel=ICL_DEF); + IntPropLevel=IPL_DEF); /** * \brief Post propagator for reified linear constraint over Booleans @@ -1458,7 +1488,7 @@ namespace Gecode { namespace Int { namespace Linear { */ GECODE_INT_EXPORT void post(Home home, Term* t, int n, IntRelType irt, int c, Reify r, - IntConLevel=ICL_DEF); + IntPropLevel=IPL_DEF); /** * \brief Post propagator for linear constraint over Booleans @@ -1490,7 +1520,7 @@ namespace Gecode { namespace Int { namespace Linear { */ GECODE_INT_EXPORT void post(Home home, Term* t, int n, IntRelType irt, IntView y, int c=0, - IntConLevel=ICL_DEF); + IntPropLevel=IPL_DEF); /** * \brief Post propagator for reified linear constraint over Booleans @@ -1522,7 +1552,7 @@ namespace Gecode { namespace Int { namespace Linear { */ GECODE_INT_EXPORT void post(Home home, Term* t, int n, IntRelType irt, IntView y, - Reify r, IntConLevel=ICL_DEF); + Reify r, IntPropLevel=IPL_DEF); }}} diff --git a/gecode/int/linear/bool-int.hpp b/gecode/int/linear/bool-int.hpp index e11e4c32cb..204237590d 100755 --- a/gecode/int/linear/bool-int.hpp +++ b/gecode/int/linear/bool-int.hpp @@ -163,7 +163,7 @@ namespace Gecode { namespace Int { namespace Linear { // Do not update subscription n_as--; int n = x.size()-n_hs+n_as; - if (n < c) + if ((n < c) && !disabled()) return ES_FAILED; if ((c <= 0) || (c == n)) return ES_NOFIX; @@ -171,9 +171,20 @@ namespace Gecode { namespace Int { namespace Linear { return ES_FIX; } + template + void + GqBoolInt::reschedule(Space& home) { + int n = x.size()-n_hs+n_as; + if ((c <= 0) || (c >= n)) + VX::schedule(home,*this,ME_INT_VAL); + } + template ExecStatus GqBoolInt::propagate(Space& home, const ModEventDelta&) { + // Check for failure due to a disabled propagator + if (x.size() - n_hs + n_as < c) + return ES_FAILED; if (c > 0) { assert((n_as == c) && (x.size() == n_hs)); // Signal that propagator is running @@ -269,7 +280,7 @@ namespace Gecode { namespace Int { namespace Linear { // Do not update subscription n_as--; int n = x.size()-n_hs+n_as; - if ((c < 0) || (c > n)) + if (((c < 0) || (c > n)) && !disabled()) return ES_FAILED; if ((c == 0) || (c == n)) return ES_NOFIX; @@ -277,9 +288,21 @@ namespace Gecode { namespace Int { namespace Linear { return ES_FIX; } + template + void + EqBoolInt::reschedule(Space& home) { + int n = x.size()-n_hs+n_as; + if ((c <= 0) || (c >= n)) + VX::schedule(home,*this,ME_INT_VAL); + } + template ExecStatus EqBoolInt::propagate(Space& home, const ModEventDelta&) { + // Check for failure due to being disabled before + if ((c < 0) || (c > x.size()-n_hs+n_as)) + return ES_FAILED; + assert(x.size() == n_hs); // Signal that propagator is running n_as = 0; @@ -496,7 +519,7 @@ namespace Gecode { namespace Int { namespace Linear { template forceinline - ReLinBoolInt::ReLinBoolInt(Space& home, bool share, + ReLinBoolInt::ReLinBoolInt(Space& home, bool share, ReLinBoolInt& p) : Propagator(home,share,p), n_s(p.n_s), c(p.c) { p.normalize(); @@ -522,7 +545,6 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::unary(PropCost::HI); } - template<> /// Traits for Boolean negation view class BoolNegTraits { @@ -550,7 +572,7 @@ namespace Gecode { namespace Int { namespace Linear { /* * Reified greater or equal propagator (integer rhs) - * + * */ template forceinline @@ -559,7 +581,7 @@ namespace Gecode { namespace Int { namespace Linear { template forceinline - ReGqBoolInt::ReGqBoolInt(Space& home, bool share, + ReGqBoolInt::ReGqBoolInt(Space& home, bool share, ReGqBoolInt& p) : ReLinBoolInt(home,share,p) {} @@ -581,6 +603,14 @@ namespace Gecode { namespace Int { namespace Linear { return ES_FIX; } + template + void + ReGqBoolInt::reschedule(Space& home) { + b.reschedule(home,*this,PC_BOOL_VAL); + if ((n_s < c) || (c <= 0)) + VX::schedule(home,*this,ME_BOOL_VAL); + } + template ExecStatus ReGqBoolInt::propagate(Space& home, const ModEventDelta&) { @@ -652,7 +682,7 @@ namespace Gecode { namespace Int { namespace Linear { /* * Reified equal propagator (integer rhs) - * + * */ template forceinline @@ -661,7 +691,7 @@ namespace Gecode { namespace Int { namespace Linear { template forceinline - ReEqBoolInt::ReEqBoolInt(Space& home, bool share, + ReEqBoolInt::ReEqBoolInt(Space& home, bool share, ReEqBoolInt& p) : ReLinBoolInt(home,share,p) {} @@ -684,6 +714,14 @@ namespace Gecode { namespace Int { namespace Linear { return ES_FIX; } + template + void + ReEqBoolInt::reschedule(Space& home) { + b.reschedule(home,*this,PC_BOOL_VAL); + if ((c < 0) || (c > n_s) || (n_s == 0)) + VX::schedule(home,*this,ME_BOOL_VAL); + } + template ExecStatus ReEqBoolInt::propagate(Space& home, const ModEventDelta&) { diff --git a/gecode/int/linear/bool-post.cpp b/gecode/int/linear/bool-post.cpp index 328639d786..e926856a7e 100755 --- a/gecode/int/linear/bool-post.cpp +++ b/gecode/int/linear/bool-post.cpp @@ -43,7 +43,7 @@ namespace Gecode { namespace Int { namespace Linear { /// Inverse the relation - forceinline IntRelType + forceinline IntRelType inverse(const IntRelType irt) { switch (irt) { case IRT_EQ: return IRT_NQ; break; @@ -175,7 +175,7 @@ namespace Gecode { namespace Int { namespace Linear { post_pos_unit(Home home, Term* t_p, int n_p, IntRelType irt, int c, Reify r, - IntConLevel) { + IntPropLevel) { switch (irt) { case IRT_EQ: { @@ -363,7 +363,7 @@ namespace Gecode { namespace Int { namespace Linear { post_neg_unit(Home home, Term* t_n, int n_n, IntRelType irt, int c, Reify r, - IntConLevel) { + IntPropLevel) { switch (irt) { case IRT_EQ: { @@ -607,14 +607,14 @@ namespace Gecode { namespace Int { namespace Linear { void post(Home home, Term* t, int n, IntRelType irt, IntView x, int c, - IntConLevel) { + IntPropLevel) { post_all(home,t,n,irt,x,c); } void post(Home home, Term* t, int n, IntRelType irt, int c, - IntConLevel) { + IntPropLevel) { ZeroIntView x; post_all(home,t,n,irt,x,c); } @@ -622,27 +622,27 @@ namespace Gecode { namespace Int { namespace Linear { void post(Home home, Term* t, int n, IntRelType irt, IntView x, Reify r, - IntConLevel icl) { + IntPropLevel ipl) { int l, u; estimate(t,n,0,l,u); IntVar z(home,l,u); IntView zv(z); post_all(home,t,n,IRT_EQ,zv,0); - rel(home,z,irt,x,r,icl); + rel(home,z,irt,x,r,ipl); } void post(Home home, Term* t, int n, IntRelType irt, int c, Reify r, - IntConLevel icl) { + IntPropLevel ipl) { if (r.var().one()) { if (r.mode() != RM_PMI) - post(home,t,n,irt,c,icl); + post(home,t,n,irt,c,ipl); return; } if (r.var().zero()) { if (r.mode() != RM_IMP) - post(home,t,n,inverse(irt),c,icl); + post(home,t,n,inverse(irt),c,ipl); return; } @@ -669,7 +669,7 @@ namespace Gecode { namespace Int { namespace Linear { } d /= gcd; break; - case IRT_NQ: + case IRT_NQ: if ((d % gcd) == 0) { if (r.mode() != RM_IMP) GECODE_ME_FAIL(BoolView(r.var()).one(home)); @@ -722,10 +722,10 @@ namespace Gecode { namespace Int { namespace Linear { if (unit && (n_n == 0)) { /// All coefficients are 1 - post_pos_unit(home,t_p,n_p,irt,c,r,icl); + post_pos_unit(home,t_p,n_p,irt,c,r,ipl); } else if (unit && (n_p == 0)) { // All coefficients are -1 - post_neg_unit(home,t_n,n_n,irt,c,r,icl); + post_neg_unit(home,t_n,n_n,irt,c,r,ipl); } else { // Mixed coefficients /* @@ -740,7 +740,7 @@ namespace Gecode { namespace Int { namespace Linear { estimate(t,n,0,l,u); IntVar z(home,l,u); IntView zv(z); post_all(home,t,n,IRT_EQ,zv,0); - rel(home,z,irt,c,r,icl); + rel(home,z,irt,c,r,ipl); } } diff --git a/gecode/int/linear/bool-scale.hpp b/gecode/int/linear/bool-scale.hpp index 1fa792abab..ea31653b7b 100755 --- a/gecode/int/linear/bool-scale.hpp +++ b/gecode/int/linear/bool-scale.hpp @@ -63,6 +63,11 @@ namespace Gecode { namespace Int { namespace Linear { f->x.cancel(home,p,PC_BOOL_VAL); } forceinline void + ScaleBoolArray::reschedule(Space& home, Propagator& p) { + for (ScaleBool* f = _fst; f < _lst; f++) + f->x.reschedule(home,p,PC_BOOL_VAL); + } + forceinline void ScaleBoolArray::update(Space& home, bool share, ScaleBoolArray& sba) { int n = static_cast(sba._lst - sba._fst); if (n > 0) { @@ -126,6 +131,8 @@ namespace Gecode { namespace Int { namespace Linear { forceinline void EmptyScaleBoolArray::cancel(Space&, Propagator&) {} forceinline void + EmptyScaleBoolArray::reschedule(Space&, Propagator&) {} + forceinline void EmptyScaleBoolArray::update(Space&, bool, EmptyScaleBoolArray&) {} forceinline ScaleBool* EmptyScaleBoolArray::fst(void) const { return NULL; } @@ -166,6 +173,14 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::linear(PropCost::LO, p.size() + n.size()); } + template + void + LinBoolScale::reschedule(Space& home) { + x.reschedule(home,*this,pcx); + p.reschedule(home,*this); + n.reschedule(home,*this); + } + template forceinline size_t LinBoolScale::dispose(Space& home) { diff --git a/gecode/int/linear/bool-view.hpp b/gecode/int/linear/bool-view.hpp index ad56bacc5f..a980d3db61 100755 --- a/gecode/int/linear/bool-view.hpp +++ b/gecode/int/linear/bool-view.hpp @@ -42,6 +42,7 @@ namespace Gecode { namespace Int { namespace Linear { * */ template + forceinline LinBoolView::LinBoolView(Home home, ViewArray& x0, YV y0, int c0) : Propagator(home), x(x0), y(y0), c(c0) { @@ -72,6 +73,13 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::linear(PropCost::LO, x.size()); } + template + void + LinBoolView::reschedule(Space& home) { + x.reschedule(home,*this,PC_INT_VAL); + y.reschedule(home,*this,PC_INT_BND); + } + /* * Equality propagator diff --git a/gecode/int/linear/int-bin.hpp b/gecode/int/linear/int-bin.hpp index c2d39a0316..ea570621ec 100755 --- a/gecode/int/linear/int-bin.hpp +++ b/gecode/int/linear/int-bin.hpp @@ -72,6 +72,13 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::binary(PropCost::LO); } + template + void + LinBin::reschedule(Space& home) { + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + } + template forceinline size_t LinBin::dispose(Space& home) { @@ -111,6 +118,14 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::binary(PropCost::LO); } + template + void + ReLinBin::reschedule(Space& home) { + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + b.reschedule(home,*this,PC_INT_VAL); + } + template forceinline size_t ReLinBin::dispose(Space& home) { @@ -226,23 +241,23 @@ namespace Gecode { namespace Int { namespace Linear { ReEqBin::propagate(Space& home, const ModEventDelta&) { if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(NqBin::post(home(*this),x0,x1,c))); } if (b.one()) { if (rm == RM_PMI) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(EqBin::post(home(*this),x0,x1,c))); } if ((x0.min() + x1.min() > c) || (x0.max() + x1.max() < c)) { if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); return home.ES_SUBSUMED(*this); } if (x0.assigned() && x1.assigned()) { assert(x0.val() + x1.val() == c); if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); return home.ES_SUBSUMED(*this); } return ES_FIX; @@ -432,22 +447,22 @@ namespace Gecode { namespace Int { namespace Linear { ReLqBin::propagate(Space& home, const ModEventDelta&) { if (b.one()) { if (rm == RM_PMI) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(LqBin::post(home(*this),x0,x1,c))); } if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(GqBin::post(home(*this),x0,x1,c+1))); } if (x0.max() + x1.max() <= c) { if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); return home.ES_SUBSUMED(*this); } if (x0.min() + x1.min() > c) { if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); return home.ES_SUBSUMED(*this); } return ES_FIX; diff --git a/gecode/int/linear/int-nary.hpp b/gecode/int/linear/int-nary.hpp index 8de15bf410..cb923e3661 100755 --- a/gecode/int/linear/int-nary.hpp +++ b/gecode/int/linear/int-nary.hpp @@ -82,6 +82,13 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::linear(PropCost::LO, x.size()+y.size()); } + template + void + Lin::reschedule(Space& home) { + x.reschedule(home,*this,pc); + y.reschedule(home,*this,pc); + } + template forceinline size_t Lin::dispose(Space& home) { @@ -111,6 +118,14 @@ namespace Gecode { namespace Int { namespace Linear { b.update(home,share,p.b); } + template + void + ReLin::reschedule(Space& home) { + x.reschedule(home,*this,pc); + y.reschedule(home,*this,pc); + b.reschedule(home,*this,PC_INT_VAL); + } + template forceinline size_t ReLin::dispose(Space& home) { @@ -413,7 +428,7 @@ namespace Gecode { namespace Int { namespace Linear { template forceinline - ReEq::ReEq(Space& home, bool share, + ReEq::ReEq(Space& home, bool share, ReEq& p) : ReLin(home,share,p) {} @@ -428,12 +443,12 @@ namespace Gecode { namespace Int { namespace Linear { ReEq::propagate(Space& home, const ModEventDelta& med) { if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(Nq::post(home(*this),x,y,c))); } if (b.one()) { if (rm == RM_PMI) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(Eq::post(home(*this),x,y,c))); } @@ -809,13 +824,13 @@ namespace Gecode { namespace Int { namespace Linear { template forceinline - ReLq::ReLq(Home home, + ReLq::ReLq(Home home, ViewArray

& x, ViewArray& y, Val c, BoolView b) : ReLin(home,x,y,c,b) {} template ExecStatus - ReLq::post(Home home, + ReLq::post(Home home, ViewArray

& x, ViewArray& y, Val c, BoolView b) { ViewArray nva; if (y.size() == 0) { @@ -845,12 +860,12 @@ namespace Gecode { namespace Int { namespace Linear { ReLq::propagate(Space& home, const ModEventDelta& med) { if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(Lq::post(home(*this),y,x,-c-1))); } if (b.one()) { if (rm == RM_PMI) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(Lq::post(home(*this),x,y,c))); } diff --git a/gecode/int/linear/int-noview.hpp b/gecode/int/linear/int-noview.hpp index 0f9041952f..7776fca34c 100644 --- a/gecode/int/linear/int-noview.hpp +++ b/gecode/int/linear/int-noview.hpp @@ -216,6 +216,10 @@ namespace Gecode { void cancel(Space& home, Propagator& p, PropCond pc) { (void) home; (void) p; (void) pc; } + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc) { + (void) home; (void) p; (void) pc; + } //@} /// \name Cloning diff --git a/gecode/int/linear/int-post.cpp b/gecode/int/linear/int-post.cpp index af0904eedf..982b272846 100755 --- a/gecode/int/linear/int-post.cpp +++ b/gecode/int/linear/int-post.cpp @@ -87,24 +87,24 @@ namespace Gecode { namespace Int { namespace Linear { long long int su = 0; for (int i = n_p; i--; ) { - long long int axmin = + long long int axmin = t_p[i].a * static_cast(t_p[i].x.min()); if (Limits::overflow_add(sl,axmin)) throw OutOfLimits("Int::linear"); sl = sl + axmin; - long long int axmax = + long long int axmax = t_p[i].a * static_cast(t_p[i].x.max()); if (Limits::overflow_add(sl,axmax)) throw OutOfLimits("Int::linear"); su = su + axmax; } for (int i = n_n; i--; ) { - long long int axmax = + long long int axmax = t_n[i].a * static_cast(t_n[i].x.max()); if (Limits::overflow_sub(sl,axmax)) throw OutOfLimits("Int::linear"); sl = sl - axmax; - long long int axmin = + long long int axmin = t_n[i].a * static_cast(t_n[i].x.min()); if (Limits::overflow_sub(su,axmin)) throw OutOfLimits("Int::linear"); @@ -123,13 +123,13 @@ namespace Gecode { namespace Int { namespace Linear { is_ip = is_ip && (sl >= Limits::min) && (su <= Limits::max); for (int i = n_p; i--; ) { - long long int axmin = + long long int axmin = t_p[i].a * static_cast(t_p[i].x.min()); if (Limits::overflow_sub(sl,axmin)) throw OutOfLimits("Int::linear"); if (sl - axmin < Limits::min) is_ip = false; - long long int axmax = + long long int axmax = t_p[i].a * static_cast(t_p[i].x.max()); if (Limits::overflow_sub(su,axmax)) throw OutOfLimits("Int::linear"); @@ -137,13 +137,13 @@ namespace Gecode { namespace Int { namespace Linear { is_ip = false; } for (int i = n_n; i--; ) { - long long int axmin = + long long int axmin = t_n[i].a * static_cast(t_n[i].x.min()); if (Limits::overflow_add(sl,axmin)) throw OutOfLimits("Int::linear"); if (sl + axmin < Limits::min) is_ip = false; - long long int axmax = + long long int axmax = t_n[i].a * static_cast(t_n[i].x.max()); if (Limits::overflow_add(su,axmax)) throw OutOfLimits("Int::linear"); @@ -221,7 +221,7 @@ namespace Gecode { namespace Int { namespace Linear { void post(Home home, Term* t, int n, IntRelType irt, int c, - IntConLevel icl) { + IntPropLevel ipl) { Limits::check(c,"Int::linear"); @@ -245,7 +245,7 @@ namespace Gecode { namespace Int { namespace Linear { } d /= gcd; break; - case IRT_NQ: + case IRT_NQ: if ((d % gcd) != 0) return; d /= gcd; @@ -290,7 +290,7 @@ namespace Gecode { namespace Int { namespace Linear { bool is_ip = precision(t_p,n_p,t_n,n_n,d); - if (is_unit && is_ip && (icl != ICL_DOM)) { + if (is_unit && is_ip && (vbd(ipl) != IPL_DOM)) { // Unit coefficients with integer precision c = static_cast(d); if (n == 2) { @@ -317,7 +317,7 @@ namespace Gecode { namespace Int { namespace Linear { post_nary(home,x,y,irt,c); } } else if (is_ip) { - if ((n==2) && is_unit && (icl == ICL_DOM) && (irt == IRT_EQ)) { + if ((n==2) && is_unit && (vbd(ipl) == IPL_DOM) && (irt == IRT_EQ)) { // Binary domain-consistent equality c = static_cast(d); if (c == 0) { @@ -371,7 +371,7 @@ namespace Gecode { namespace Int { namespace Linear { } default: GECODE_NEVER; - } + } } } else { // Arbitrary coefficients with integer precision @@ -382,7 +382,7 @@ namespace Gecode { namespace Int { namespace Linear { ViewArray y(home,n_n); for (int i = n_n; i--; ) y[i] = IntScaleView(t_n[i].a,t_n[i].x); - if ((icl == ICL_DOM) && (irt == IRT_EQ)) { + if ((vbd(ipl) == IPL_DOM) && (irt == IRT_EQ)) { GECODE_ES_FAIL((DomEq::post(home,x,y,c))); } else { post_nary(home,x,y,irt,c); @@ -396,7 +396,7 @@ namespace Gecode { namespace Int { namespace Linear { ViewArray y(home,n_n); for (int i = n_n; i--; ) y[i] = LLongScaleView(t_n[i].a,t_n[i].x); - if ((icl == ICL_DOM) && (irt == IRT_EQ)) { + if ((vbd(ipl) == IPL_DOM) && (irt == IRT_EQ)) { GECODE_ES_FAIL((DomEq ::post(home,x,y,d))); } else { @@ -480,8 +480,8 @@ namespace Gecode { namespace Int { namespace Linear { template forceinline void posteqint(Home home, IntView& x, int c, CtrlView b, ReifyMode rm, - IntConLevel icl) { - if (icl == ICL_DOM) { + IntPropLevel ipl) { + if (vbd(ipl) == IPL_DOM) { switch (rm) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqDomInt:: @@ -519,7 +519,7 @@ namespace Gecode { namespace Int { namespace Linear { void post(Home home, Term* t, int n, IntRelType irt, int c, Reify r, - IntConLevel icl) { + IntPropLevel ipl) { Limits::check(c,"Int::linear"); long long int d = c; @@ -542,7 +542,7 @@ namespace Gecode { namespace Int { namespace Linear { } d /= gcd; break; - case IRT_NQ: + case IRT_NQ: if ((d % gcd) != 0) { if (r.mode() != RM_IMP) GECODE_ME_FAIL(BoolView(r.var()).one(home)); @@ -583,9 +583,9 @@ namespace Gecode { namespace Int { namespace Linear { switch (irt) { case IRT_EQ: if (n_p == 1) { - posteqint(home,t_p[0].x,c,r.var(),r.mode(),icl); + posteqint(home,t_p[0].x,c,r.var(),r.mode(),ipl); } else { - posteqint(home,t_p[0].x,-c,r.var(),r.mode(),icl); + posteqint(home,t_p[0].x,-c,r.var(),r.mode(),ipl); } break; case IRT_NQ: @@ -598,9 +598,9 @@ namespace Gecode { namespace Int { namespace Linear { default: ; } if (n_p == 1) { - posteqint(home,t_p[0].x,c,nb,rm,icl); + posteqint(home,t_p[0].x,c,nb,rm,ipl); } else { - posteqint(home,t_p[0].x,-c,nb,rm,icl); + posteqint(home,t_p[0].x,-c,nb,rm,ipl); } } break; diff --git a/gecode/int/linear/int-ter.hpp b/gecode/int/linear/int-ter.hpp index 2877828971..4b00d710f2 100755 --- a/gecode/int/linear/int-ter.hpp +++ b/gecode/int/linear/int-ter.hpp @@ -76,6 +76,14 @@ namespace Gecode { namespace Int { namespace Linear { return PropCost::ternary(PropCost::LO); } + template + void + LinTer::reschedule(Space& home) { + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + x2.reschedule(home,*this,pc); + } + template forceinline size_t LinTer::dispose(Space& home) { diff --git a/gecode/int/linear/post.hpp b/gecode/int/linear/post.hpp index 867ae79793..33daaf985b 100755 --- a/gecode/int/linear/post.hpp +++ b/gecode/int/linear/post.hpp @@ -78,9 +78,9 @@ namespace Gecode { namespace Int { namespace Linear { }; /// Compute the greatest common divisor of \a a and \a b - inline int + inline int gcd(int a, int b) { - if (b > a) + if (b > a) std::swap(a,b); while (b > 0) { int t = b; b = a % b; a = t; @@ -118,7 +118,7 @@ namespace Gecode { namespace Int { namespace Linear { inline bool normalize(Term* t, int &n, Term* &t_p, int &n_p, - Term* &t_n, int &n_n, + Term* &t_n, int &n_n, int& g) { /* * Join coefficients for aliased variables: diff --git a/gecode/int/member.cpp b/gecode/int/member.cpp index 97bc431267..ddf2d2696c 100644 --- a/gecode/int/member.cpp +++ b/gecode/int/member.cpp @@ -41,9 +41,9 @@ namespace Gecode { void member(Home home, const IntVarArgs& x, IntVar y, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Member::Prop::post(home,xv,y)); @@ -51,9 +51,9 @@ namespace Gecode { void member(Home home, const BoolVarArgs& x, BoolVar y, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Member::Prop::post(home,xv,y)); @@ -61,16 +61,16 @@ namespace Gecode { void member(Home home, const IntVarArgs& x, IntVar y, Reify r, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Member::ReProp - ::post(home,xv,y,r.var()))); + ::post(home,xv,y,r.var()))); break; case RM_IMP: GECODE_ES_FAIL((Member::ReProp @@ -86,16 +86,16 @@ namespace Gecode { void member(Home home, const BoolVarArgs& x, BoolVar y, Reify r, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Member::ReProp - ::post(home,xv,y,r.var()))); + ::post(home,xv,y,r.var()))); break; case RM_IMP: GECODE_ES_FAIL((Member::ReProp diff --git a/gecode/int/member/prop.hpp b/gecode/int/member/prop.hpp index 607d238b81..d216394dc0 100755 --- a/gecode/int/member/prop.hpp +++ b/gecode/int/member/prop.hpp @@ -65,7 +65,7 @@ namespace Gecode { namespace Int { namespace Member { if ((rtest_eq_dom(x[i],y) == RT_FALSE) || vs.subset(x[i])) { // x[i] is different from y or values are contained in vs x[i].cancel(home, *this, PC_INT_DOM); - x[i] = x[--n]; + x[i] = x[--n]; } x.size(n); } @@ -80,7 +80,7 @@ namespace Gecode { namespace Int { namespace Member { if (x.size() == 1) return Rel::EqDom::post(home,x[0],y); - + if (x.same(home,y)) return ES_OK; @@ -97,14 +97,14 @@ namespace Gecode { namespace Int { namespace Member { (void) new (home) Prop(home, vs, x, y); return ES_OK; } - + template forceinline ExecStatus Prop::post(Home home, ValSet& vs, ViewArray& x, View y) { (void) new (home) Prop(home, vs, x, y); return ES_OK; } - + template forceinline Prop::Prop(Space& home, bool share, Prop& p) @@ -127,7 +127,7 @@ namespace Gecode { namespace Int { namespace Member { } template - PropCost + PropCost Prop::cost(const Space&, const ModEventDelta&) const { return PropCost::linear(PropCost::HI, x.size()+1); } @@ -141,7 +141,7 @@ namespace Gecode { namespace Int { namespace Member { // Eliminate views from x eliminate(home); - + if (x.size() == 0) { // y must have values in the value set ValSet::Ranges vsr(vs); diff --git a/gecode/int/member/re-prop.hpp b/gecode/int/member/re-prop.hpp index fc8c2f0f54..64cb6f5bd7 100755 --- a/gecode/int/member/re-prop.hpp +++ b/gecode/int/member/re-prop.hpp @@ -41,7 +41,7 @@ namespace Gecode { namespace Int { namespace Member { template forceinline - ReProp::ReProp(Home home, ValSet& vs, ViewArray& x, View y, + ReProp::ReProp(Home home, ValSet& vs, ViewArray& x, View y, BoolView b0) : Prop(home,vs,x,y), b(b0) { b.subscribe(home,*this,PC_BOOL_VAL); @@ -66,7 +66,7 @@ namespace Gecode { namespace Int { namespace Member { GECODE_ME_CHECK(b.one(home)); return ES_OK; } - + // Eliminate assigned views and store them into the value set ValSet vs; add(home, vs, x); @@ -92,7 +92,7 @@ namespace Gecode { namespace Int { namespace Member { (void) new (home) ReProp(home, vs, x, y, b); return ES_OK; } - + template forceinline ReProp::ReProp(Space& home, bool share, ReProp& p) @@ -126,7 +126,7 @@ namespace Gecode { namespace Int { namespace Member { return home.ES_SUBSUMED(*this); ValSet vsc(vs); vs.flush(); - GECODE_REWRITE(*this,Prop::post(home,vsc,x,y)); + GECODE_REWRITE(*this,Prop::post(home(*this),vsc,x,y)); } if (b.zero()) { @@ -134,14 +134,14 @@ namespace Gecode { namespace Int { namespace Member { ValSet::Ranges vsr(vs); GECODE_ME_CHECK(y.minus_r(home,vsr,false)); for (int i=x.size(); i--; ) - GECODE_ES_CHECK(Rel::Nq::post(home,x[i],y)); + GECODE_ES_CHECK(Rel::Nq::post(Home(home),x[i],y)); } return home.ES_SUBSUMED(*this); } // Eliminate views from x eliminate(home); - + switch (vs.compare(y)) { case Iter::Ranges::CS_SUBSET: if (rm != RM_IMP) @@ -173,7 +173,7 @@ namespace Gecode { namespace Int { namespace Member { } ViewRanges yr(y); - + if (Iter::Ranges::disjoint(u,yr)) { if (rm != RM_PMI) GECODE_ME_CHECK(b.zero(home)); diff --git a/gecode/int/no-overlap.cpp b/gecode/int/no-overlap.cpp index 579f146863..8b02c4da31 100644 --- a/gecode/int/no-overlap.cpp +++ b/gecode/int/no-overlap.cpp @@ -52,15 +52,15 @@ namespace Gecode { }} void - nooverlap(Home home, - const IntVarArgs& x, const IntArgs& w, + nooverlap(Home home, + const IntVarArgs& x, const IntArgs& w, const IntVarArgs& y, const IntArgs& h, - IntConLevel) { + IntPropLevel) { using namespace Int; using namespace NoOverlap; - if ((x.size() != w.size()) || (x.size() != y.size()) || + if ((x.size() != w.size()) || (x.size() != y.size()) || (x.size() != h.size())) - throw ArgumentSizeMismatch("Int::nooverlap"); + throw ArgumentSizeMismatch("Int::nooverlap"); for (int i=x.size(); i--; ) { Limits::nonnegative(w[i],"Int::nooverlap"); Limits::nonnegative(h[i],"Int::nooverlap"); @@ -69,9 +69,9 @@ namespace Gecode { Limits::check(static_cast(y[i].max()) + h[i], "Int::nooverlap"); } - if (home.failed()) return; + GECODE_POST; - ManBox* b + ManBox* b = static_cast(home).alloc >(x.size()); for (int i=x.size(); i--; ) { b[i][0] = FixDim(x[i],w[i]); @@ -83,16 +83,16 @@ namespace Gecode { } void - nooverlap(Home home, - const IntVarArgs& x, const IntArgs& w, + nooverlap(Home home, + const IntVarArgs& x, const IntArgs& w, const IntVarArgs& y, const IntArgs& h, const BoolVarArgs& m, - IntConLevel) { + IntPropLevel) { using namespace Int; using namespace NoOverlap; if ((x.size() != w.size()) || (x.size() != y.size()) || (x.size() != h.size()) || (x.size() != m.size())) - throw ArgumentSizeMismatch("Int::nooverlap"); + throw ArgumentSizeMismatch("Int::nooverlap"); for (int i=x.size(); i--; ) { Limits::nonnegative(w[i],"Int::nooverlap"); Limits::nonnegative(h[i],"Int::nooverlap"); @@ -101,10 +101,10 @@ namespace Gecode { Limits::check(static_cast(y[i].max()) + h[i], "Int::nooverlap"); } - if (home.failed()) return; - + GECODE_POST; + if (optional(m)) { - OptBox* b + OptBox* b = static_cast(home).alloc >(x.size()); for (int i=x.size(); i--; ) { b[i][0] = FixDim(x[i],w[i]); @@ -114,7 +114,7 @@ namespace Gecode { GECODE_ES_FAIL(( NoOverlap::OptProp >::post(home,b,x.size()))); } else { - ManBox* b + ManBox* b = static_cast(home).alloc >(x.size()); int n = 0; for (int i=0; i* b + ManBox* b = static_cast(home).alloc >(x0.size()); for (int i=x0.size(); i--; ) { b[i][0] = FlexDim(x0[i],w[i],x1[i]); @@ -165,18 +165,18 @@ namespace Gecode { } void - nooverlap(Home home, + nooverlap(Home home, const IntVarArgs& x0, const IntVarArgs& w, const IntVarArgs& x1, const IntVarArgs& y0, const IntVarArgs& h, const IntVarArgs& y1, const BoolVarArgs& m, - IntConLevel) { + IntPropLevel) { using namespace Int; using namespace NoOverlap; - if ((x0.size() != w.size()) || (x0.size() != x1.size()) || - (x0.size() != y0.size()) || (x0.size() != h.size()) || + if ((x0.size() != w.size()) || (x0.size() != x1.size()) || + (x0.size() != y0.size()) || (x0.size() != h.size()) || (x0.size() != y1.size()) || (x0.size() != m.size())) throw ArgumentSizeMismatch("Int::nooverlap"); - if (home.failed()) return; + GECODE_POST; for (int i=x0.size(); i--; ) { GECODE_ME_FAIL(IntView(w[i]).gq(home,0)); @@ -191,7 +191,7 @@ namespace Gecode { } nooverlap(home, x0, wc, y0, hc, m); } else if (optional(m)) { - OptBox* b + OptBox* b = static_cast(home).alloc >(x0.size()); for (int i=x0.size(); i--; ) { b[i][0] = FlexDim(x0[i],w[i],x1[i]); @@ -201,7 +201,7 @@ namespace Gecode { GECODE_ES_FAIL(( NoOverlap::OptProp >::post(home,b,x0.size()))); } else { - ManBox* b + ManBox* b = static_cast(home).alloc >(x0.size()); int n = 0; for (int i=0; i - forceinline size_t + forceinline size_t Base::dispose(Space& home) { for (int i=n; i--; ) b[i].cancel(home,*this); @@ -70,18 +70,25 @@ namespace Gecode { namespace Int { namespace NoOverlap { template forceinline - Base::Base(Space& home, bool shared, Base& p, int m) + Base::Base(Space& home, bool shared, Base& p, int m) : Propagator(home,shared,p), b(home.alloc(m)), n(p.n) { for (int i=m; i--; ) b[i].update(home,shared,p.b[i]); } template - PropCost + PropCost Base::cost(const Space&, const ModEventDelta&) const { return PropCost::quadratic(PropCost::HI,Box::dim()*n); } + template + void + Base::reschedule(Space& home) { + for (int i=n; i--; ) + b[i].reschedule(home,*this); + } + }}} // STATISTICS: int-prop diff --git a/gecode/int/no-overlap/box.hpp b/gecode/int/no-overlap/box.hpp index 1fef821564..83198c6981 100755 --- a/gecode/int/no-overlap/box.hpp +++ b/gecode/int/no-overlap/box.hpp @@ -103,11 +103,11 @@ namespace Gecode { namespace Int { namespace NoOverlap { forceinline ExecStatus ManBox::nooverlap(Space& home, ManBox& box) { for (int i=0; i + forceinline void + ManBox::reschedule(Space& home, Propagator& p) { + for (int i=0; i::cancel(home,p); o.cancel(home, p, PC_BOOL_VAL); } + template + forceinline void + OptBox::reschedule(Space& home, Propagator& p) { + ManBox::reschedule(home,p); + o.reschedule(home, p, PC_BOOL_VAL); + } }}} diff --git a/gecode/int/no-overlap/dim.hpp b/gecode/int/no-overlap/dim.hpp index cc787268dd..26bd6ea644 100755 --- a/gecode/int/no-overlap/dim.hpp +++ b/gecode/int/no-overlap/dim.hpp @@ -42,25 +42,25 @@ namespace Gecode { namespace Int { namespace NoOverlap { * */ forceinline - FixDim::FixDim(void) + FixDim::FixDim(void) : s(0) {} forceinline FixDim::FixDim(IntView c0, int s0) : c(c0), s(s0) {} - forceinline int + forceinline int FixDim::ssc(void) const { return c.min(); } - forceinline int + forceinline int FixDim::lsc(void) const { return c.max(); } - forceinline int + forceinline int FixDim::sec(void) const { return c.min() + s; } - forceinline int + forceinline int FixDim::lec(void) const { return c.max() + s; } @@ -109,6 +109,10 @@ namespace Gecode { namespace Int { namespace NoOverlap { FixDim::cancel(Space& home, Propagator& p) { c.cancel(home,p,PC_INT_DOM); } + forceinline void + FixDim::reschedule(Space& home, Propagator& p) { + c.reschedule(home,p,PC_INT_DOM); + } /* @@ -121,19 +125,19 @@ namespace Gecode { namespace Int { namespace NoOverlap { FlexDim::FlexDim(IntView c00, IntView s0, IntView c10) : c0(c00), s(s0), c1(c10) {} - forceinline int + forceinline int FlexDim::ssc(void) const { return c0.min(); } - forceinline int + forceinline int FlexDim::lsc(void) const { return c0.max(); } - forceinline int + forceinline int FlexDim::sec(void) const { return c1.min(); } - forceinline int + forceinline int FlexDim::lec(void) const { return c1.max(); } @@ -190,6 +194,12 @@ namespace Gecode { namespace Int { namespace NoOverlap { s.cancel(home,p,PC_INT_BND); c1.cancel(home,p,PC_INT_DOM); } + forceinline void + FlexDim::reschedule(Space& home, Propagator& p) { + c0.reschedule(home,p,PC_INT_DOM); + s.reschedule(home,p,PC_INT_BND); + c1.reschedule(home,p,PC_INT_DOM); + } }}} diff --git a/gecode/int/no-overlap/man.hpp b/gecode/int/no-overlap/man.hpp index d16b5eecae..3348461b94 100755 --- a/gecode/int/no-overlap/man.hpp +++ b/gecode/int/no-overlap/man.hpp @@ -51,7 +51,7 @@ namespace Gecode { namespace Int { namespace NoOverlap { } template - forceinline size_t + forceinline size_t ManProp::dispose(Space& home) { (void) Base::dispose(home); return sizeof(*this); @@ -60,17 +60,17 @@ namespace Gecode { namespace Int { namespace NoOverlap { template forceinline - ManProp::ManProp(Space& home, bool shared, ManProp& p) + ManProp::ManProp(Space& home, bool shared, ManProp& p) : Base(home, shared, p, p.n) {} template - Actor* + Actor* ManProp::copy(Space& home, bool share) { return new (home) ManProp(home,share,*this); } template - ExecStatus + ExecStatus ManProp::propagate(Space& home, const ModEventDelta&) { Region r(home); @@ -83,7 +83,7 @@ namespace Gecode { namespace Int { namespace NoOverlap { int e = 0; for (int i=n; i--; ) - for (int j=i; j--; ) + for (int j=i; j--; ) if (b[i].nooverlap(b[j])) { assert(db[i] > 0); assert(db[j] > 0); if (--db[i] == 0) e++; diff --git a/gecode/int/no-overlap/opt.hpp b/gecode/int/no-overlap/opt.hpp index faae600c58..b3c55086b7 100755 --- a/gecode/int/no-overlap/opt.hpp +++ b/gecode/int/no-overlap/opt.hpp @@ -57,7 +57,7 @@ namespace Gecode { namespace Int { namespace NoOverlap { } template - forceinline size_t + forceinline size_t OptProp::dispose(Space& home) { for (int i=m; i--; ) b[n+i].cancel(home, *this); @@ -68,17 +68,17 @@ namespace Gecode { namespace Int { namespace NoOverlap { template forceinline - OptProp::OptProp(Space& home, bool shared, OptProp& p) + OptProp::OptProp(Space& home, bool shared, OptProp& p) : Base(home, shared, p, p.n + p.m), m(p.m) {} template - Actor* + Actor* OptProp::copy(Space& home, bool share) { return new (home) OptProp(home,share,*this); } template - ExecStatus + ExecStatus OptProp::propagate(Space& home, const ModEventDelta& med) { Region r(home); @@ -105,7 +105,7 @@ namespace Gecode { namespace Int { namespace NoOverlap { int e = 0; for (int i=n; i--; ) { assert(b[i].mandatory()); - for (int j=i; j--; ) + for (int j=i; j--; ) if (b[i].nooverlap(b[j])) { assert(db[i] > 0); assert(db[j] > 0); if (--db[i] == 0) e++; diff --git a/gecode/int/nvalues.cpp b/gecode/int/nvalues.cpp index 552218dcfc..4fad775ea6 100644 --- a/gecode/int/nvalues.cpp +++ b/gecode/int/nvalues.cpp @@ -42,14 +42,14 @@ namespace Gecode { void nvalues(Home home, const IntVarArgs& x, IntRelType irt, int y, - IntConLevel) { + IntPropLevel) { using namespace Int; Limits::check(y,"Int::nvalues"); // Due to the quadratic Boolean matrix used in propagation long long int n = x.size(); Limits::check(n*n,"Int::nvalues"); - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); @@ -92,13 +92,13 @@ namespace Gecode { void nvalues(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel) { + IntPropLevel) { using namespace Int; // Due to the quadratic Boolean matrix used in propagation long long int n = x.size(); Limits::check(n*n,"Int::nvalues"); - if (home.failed()) return; + GECODE_POST; if (y.assigned()) { nvalues(home, x, irt, y.val()); @@ -143,11 +143,11 @@ namespace Gecode { void nvalues(Home home, const BoolVarArgs& x, IntRelType irt, int y, - IntConLevel) { + IntPropLevel) { using namespace Int; Limits::check(y,"Int::nvalues"); - if (home.failed()) return; + GECODE_POST; Region region(home); ViewArray xv(region,x); @@ -191,10 +191,10 @@ namespace Gecode { void nvalues(Home home, const BoolVarArgs& x, IntRelType irt, IntVar y, - IntConLevel) { + IntPropLevel) { using namespace Int; - if (home.failed()) return; + GECODE_POST; if (y.assigned()) { nvalues(home, x, irt, y.val()); diff --git a/gecode/int/nvalues.hh b/gecode/int/nvalues.hh index 389477542d..621a844142 100644 --- a/gecode/int/nvalues.hh +++ b/gecode/int/nvalues.hh @@ -133,7 +133,7 @@ namespace Gecode { namespace Int { namespace NValues { * \ingroup FuncIntProp */ template - class IntBase + class IntBase : public MixNaryOnePropagator { protected: using MixNaryOnePropagator::x; @@ -147,7 +147,7 @@ namespace Gecode { namespace Int { namespace NValues { /// Add values of assigned views to value set void add(Space& home); /** - * Compute position of disjoint views in \a dis (with length \a n_dis) + * Compute position of disjoint views in \a dis (with length \a n_dis) * and eliminate subsumed views (all values included in the value set * \a vs). */ @@ -296,7 +296,7 @@ namespace Gecode { namespace Int { namespace NValues { * \ingroup FuncIntProp */ template - class BoolBase : public Propagator { + class BoolBase : public Propagator { protected: /// View status: a zero has already been encountered static const int VS_ZERO = 1 << 0; @@ -317,6 +317,8 @@ namespace Gecode { namespace Int { namespace NValues { virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Cost function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; diff --git a/gecode/int/nvalues/bool-base.hpp b/gecode/int/nvalues/bool-base.hpp index 0f2947d341..b3ead04cb5 100755 --- a/gecode/int/nvalues/bool-base.hpp +++ b/gecode/int/nvalues/bool-base.hpp @@ -39,7 +39,7 @@ namespace Gecode { namespace Int { namespace NValues { template forceinline - BoolBase::BoolBase(Home home, + BoolBase::BoolBase(Home home, int status0, ViewArray& x, VY y0) : Propagator(home), status(status0), c(home), y(y0) { y.subscribe(home,*this,PC_INT_BND); @@ -63,6 +63,12 @@ namespace Gecode { namespace Int { namespace NValues { return PropCost::unary(PropCost::LO); } + template + void + BoolBase::reschedule(Space& home) { + y.reschedule(home,*this,PC_INT_BND); + } + template ExecStatus BoolBase::advise(Space& home, Advisor& _a, const Delta&) { diff --git a/gecode/int/nvalues/bool-eq.hpp b/gecode/int/nvalues/bool-eq.hpp index 1f95afbeff..d77096b41b 100755 --- a/gecode/int/nvalues/bool-eq.hpp +++ b/gecode/int/nvalues/bool-eq.hpp @@ -79,7 +79,7 @@ namespace Gecode { namespace Int { namespace NValues { ViewArray xc(home,x); return Bool::NaryEq::post(home,xc); } - + if (y.min() == 2) { assert(y.assigned()); ViewArray xc(home,x); @@ -104,7 +104,7 @@ namespace Gecode { namespace Int { namespace NValues { x[i] = x[--n]; status |= VS_ONE; } - + assert(status != (VS_ZERO | VS_ONE)); if (n == 0) { assert(status != 0); diff --git a/gecode/int/nvalues/bool-gq.hpp b/gecode/int/nvalues/bool-gq.hpp index 58cf53f33f..0e5e98f726 100755 --- a/gecode/int/nvalues/bool-gq.hpp +++ b/gecode/int/nvalues/bool-gq.hpp @@ -95,7 +95,7 @@ namespace Gecode { namespace Int { namespace NValues { x[i] = x[--n]; status |= VS_ONE; } - + assert(status != (VS_ZERO | VS_ONE)); if (n == 0) { assert(status != 0); diff --git a/gecode/int/nvalues/bool-lq.hpp b/gecode/int/nvalues/bool-lq.hpp index d5a1fab573..5fd9636c6c 100755 --- a/gecode/int/nvalues/bool-lq.hpp +++ b/gecode/int/nvalues/bool-lq.hpp @@ -97,7 +97,7 @@ namespace Gecode { namespace Int { namespace NValues { x[i] = x[--n]; status |= VS_ONE; } - + assert(status != (VS_ZERO | VS_ONE)); if (n == 0) { assert((status != 0) && (y.min() >= 1)); diff --git a/gecode/int/nvalues/graph.hpp b/gecode/int/nvalues/graph.hpp index b20e21e976..98e801becd 100755 --- a/gecode/int/nvalues/graph.hpp +++ b/gecode/int/nvalues/graph.hpp @@ -104,26 +104,26 @@ namespace Gecode { namespace Int { namespace NValues { // Skip faked view nodes, they correspond to values in the value set if (!x->fake()) { if (x->changed()) { - ViewRanges r(x->view()); + ViewRanges rx(x->view()); Edge* m = x->matched() ? x->edge_fst() : NULL; Edge** p = x->val_edges_ref(); Edge* e = *p; do { - while (e->val(x)->val() < r.min()) { + while (e->val(x)->val() < rx.min()) { // Skip edge e->unlink(); e->mark(); e = e->next_edge(); } *p = e; - assert(r.min() == e->val(x)->val()); + assert(rx.min() == e->val(x)->val()); // This edges must be kept - for (unsigned int j=r.width(); j--; ) { + for (unsigned int j=rx.width(); j--; ) { e->free(); p = e->next_edge_ref(); e = e->next_edge(); } - ++r; - } while (r()); + ++rx; + } while (rx()); *p = NULL; while (e != NULL) { e->unlink(); e->mark(); @@ -161,7 +161,7 @@ namespace Gecode { namespace Int { namespace NValues { // Marks all edges as used that are on simple paths in the graph // that start from a free value node by depth-first-search Support::StaticStack*,Region> visit(r,n_val); - + // Insert all free value nodes count++; { @@ -182,11 +182,11 @@ namespace Gecode { namespace Int { namespace NValues { v = (*v)->next_val_ref(); } } - + // Invariant: only value nodes are on the stack! while (!visit.empty()) { ValNode* n = visit.pop(); - for (Edge* e = n->edge_fst(); e != n->edge_lst(); + for (Edge* e = n->edge_fst(); e != n->edge_lst(); e = e->next()) { // Is the view node is matched: the path must be alternating! ViewNode* x = e->view(n); @@ -207,14 +207,14 @@ namespace Gecode { namespace Int { namespace NValues { } } } - + } if (n_view_visited < n_view) { // Mark all edges as used starting from a free view node on // an alternating path by depth-first search. Support::StaticStack*,Region> visit(r,n_view); - + // Insert all free view nodes count++; for (int i = n_view; i--; ) diff --git a/gecode/int/nvalues/int-base.hpp b/gecode/int/nvalues/int-base.hpp index ec697218bc..97bbd63446 100644 --- a/gecode/int/nvalues/int-base.hpp +++ b/gecode/int/nvalues/int-base.hpp @@ -62,7 +62,7 @@ namespace Gecode { namespace Int { namespace NValues { } template - PropCost + PropCost IntBase::cost(const Space&, const ModEventDelta&) const { return PropCost::quadratic(PropCost::HI, x.size()); } @@ -92,10 +92,10 @@ namespace Gecode { namespace Int { namespace NValues { case Iter::Ranges::CS_SUBSET: // All values are already contained in vs, eliminate x[i] x[i].cancel(home, *this, PC_INT_DOM); - x[i] = x[--n]; + x[i] = x[--n]; break; case Iter::Ranges::CS_DISJOINT: - dis[n_dis++] = i++; + dis[n_dis++] = i++; break; case Iter::Ranges::CS_NONE: i++; @@ -114,7 +114,7 @@ namespace Gecode { namespace Int { namespace NValues { if (vs.subset(x[i])) { // All values are already contained in vs, eliminate x[i] x[i].cancel(home, *this, PC_INT_DOM); - x[i] = x[--n]; + x[i] = x[--n]; } x.size(n); } @@ -198,11 +198,11 @@ namespace Gecode { namespace Int { namespace NValues { // For each i there can be at most n_dis-1 entries in ovl_i[i] int* m = r.alloc(n_dis*(n_dis-1)); for (int i=n_dis; i--; ) { - deg[dis[i]] = 0; + deg[dis[i]] = 0; ovl_i[dis[i]] = m; m += n_dis-1; } } - + // Initialize overlap matrix by analyzing the view ranges { // Compute how many events are needed @@ -215,17 +215,19 @@ namespace Gecode { namespace Int { namespace NValues { // Allocate and initialize events RangeEvent* re = r.alloc(n_re); - int j=0; - for (int i=n_dis; i--; ) - for (ViewRanges rx(x[dis[i]]); rx(); ++rx) { - // Event when a range starts - re[j].ret=RET_FST; re[j].val=rx.min(); re[j].view=dis[i]; j++; - // Event when a range ends - re[j].ret=RET_LST; re[j].val=rx.max(); re[j].view=dis[i]; j++; - } - // Make this the last event - re[j].ret=RET_END; re[j].val=Int::Limits::infinity; - assert(j+1 == n_re); + { + int j=0; + for (int i=n_dis; i--; ) + for (ViewRanges rx(x[dis[i]]); rx(); ++rx) { + // Event when a range starts + re[j].ret=RET_FST; re[j].val=rx.min(); re[j].view=dis[i]; j++; + // Event when a range ends + re[j].ret=RET_LST; re[j].val=rx.max(); re[j].view=dis[i]; j++; + } + // Make this the last event + re[j].ret=RET_END; re[j].val=Int::Limits::infinity; + assert(j+1 == n_re); + } // Sort and process events Support::quicksort(re,n_re); @@ -236,13 +238,13 @@ namespace Gecode { namespace Int { namespace NValues { switch (re[i].ret) { case RET_FST: // Process all overlapping views - for (Iter::Values::BitSet > j(cur); + for (Iter::Values::BitSet > j(cur); j(); ++j) { int di = re[i].view, dj = j.val(); if (!ovl.get(di,dj)) { ovl.set(di,dj); - ovl_i[di][deg[di]++] = dj; - ovl_i[dj][deg[dj]++] = di; + ovl_i[di][deg[di]++] = dj; + ovl_i[dj][deg[dj]++] = di; } } cur.set(static_cast(re[i].view)); @@ -264,7 +266,7 @@ namespace Gecode { namespace Int { namespace NValues { assert(deg[dis[i]] < n_dis); n_ovl_i[dis[i]] = deg[dis[i]]; } - + // Views in the independent set int* ind = r.alloc(n_dis); int n_ind = 0; @@ -272,11 +274,11 @@ namespace Gecode { namespace Int { namespace NValues { while (n_dis > 0) { int i_min = n_dis-1; int d_min = deg[dis[i_min]]; - unsigned int s_min = x[dis[i_min]].size(); + unsigned int s_min = x[dis[i_min]].size(); // Find view with smallest (degree,size) for (int i=n_dis-1; i--; ) - if ((d_min > deg[dis[i]]) || + if ((d_min > deg[dis[i]]) || ((d_min == deg[dis[i]]) && (s_min > x[dis[i]].size()))) { i_min = i; d_min = deg[dis[i]]; @@ -285,7 +287,7 @@ namespace Gecode { namespace Int { namespace NValues { // i_min refers to view with smallest (degree,size) ind[n_ind++] = dis[i_min]; dis[i_min] = dis[--n_dis]; - + // Filter out non disjoint views for (int i=n_dis; i--; ) if (ovl.get(dis[i],ind[n_ind-1])) { @@ -312,7 +314,7 @@ namespace Gecode { namespace Int { namespace NValues { v_ind.reset(); GECODE_ME_CHECK(x[i].inter_r(home,v_ind,false)); } - } + } return ES_OK; } @@ -334,7 +336,7 @@ namespace Gecode { namespace Int { namespace NValues { ValSet::Ranges vsr(vs); GECODE_ME_CHECK(x[i].minus_r(home, vsr, false)); } - GECODE_REWRITE(*this,Distinct::Dom::post(home,x)); + GECODE_REWRITE(*this,Distinct::Dom::post(home(*this),x)); } if (g.mark(home)) GECODE_ES_CHECK(g.prune(home)); diff --git a/gecode/int/nvalues/int-eq.hpp b/gecode/int/nvalues/int-eq.hpp index d7b43e014d..149195fd22 100644 --- a/gecode/int/nvalues/int-eq.hpp +++ b/gecode/int/nvalues/int-eq.hpp @@ -74,7 +74,7 @@ namespace Gecode { namespace Int { namespace NValues { assert(y.assigned()); return Distinct::Dom::post(home,x); } - + // Eliminate assigned views and store them into the value set ValSet vs; int n = x.size(); @@ -95,7 +95,7 @@ namespace Gecode { namespace Int { namespace NValues { (void) new (home) EqInt(home, vs, x, y); return ES_OK; } - + template forceinline EqInt::EqInt(Space& home, bool share, EqInt& p) @@ -125,7 +125,7 @@ namespace Gecode { namespace Int { namespace NValues { GECODE_ME_CHECK(y.gq(home, vs.size())); GECODE_ME_CHECK(y.lq(home, x.size() + vs.size())); - if (x.size() == 0) + if (x.size() == 0) return home.ES_SUBSUMED(*this); // All values must be in the value set @@ -161,7 +161,7 @@ namespace Gecode { namespace Int { namespace NValues { return ES_NOFIX; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/nvalues/int-gq.hpp b/gecode/int/nvalues/int-gq.hpp index 95aecaf8d7..e4d6f16bf6 100644 --- a/gecode/int/nvalues/int-gq.hpp +++ b/gecode/int/nvalues/int-gq.hpp @@ -69,7 +69,7 @@ namespace Gecode { namespace Int { namespace NValues { assert(y.assigned()); return Distinct::Dom::post(home,x); } - + // Eliminate assigned views and store them into the value set ValSet vs; int n = x.size(); @@ -91,7 +91,7 @@ namespace Gecode { namespace Int { namespace NValues { (void) new (home) GqInt(home, vs, x, y); return ES_OK; } - + template forceinline GqInt::GqInt(Space& home, bool share, GqInt& p) @@ -119,12 +119,12 @@ namespace Gecode { namespace Int { namespace NValues { if (vs.size() >= y.max()) return home.ES_SUBSUMED(*this); - + GECODE_ES_CHECK(prune_upper(home,g)); return ES_NOFIX; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/nvalues/int-lq.hpp b/gecode/int/nvalues/int-lq.hpp index e86298464a..c43b265d53 100644 --- a/gecode/int/nvalues/int-lq.hpp +++ b/gecode/int/nvalues/int-lq.hpp @@ -69,7 +69,7 @@ namespace Gecode { namespace Int { namespace NValues { if (y.min() >= x.size()) return ES_OK; - + // Eliminate assigned views and store them into the value set ValSet vs; int n = x.size(); @@ -91,7 +91,7 @@ namespace Gecode { namespace Int { namespace NValues { (void) new (home) LqInt(home, vs, x, y); return ES_OK; } - + template forceinline LqInt::LqInt(Space& home, bool share, LqInt& p) @@ -129,7 +129,7 @@ namespace Gecode { namespace Int { namespace NValues { if (x.size() + vs.size() <= y.min()) return home.ES_SUBSUMED(*this); - + // Compute positions of disjoint views Region r(home); int* dis; int n_dis; @@ -148,7 +148,7 @@ namespace Gecode { namespace Int { namespace NValues { return ES_NOFIX; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/nvalues/sym-bit-matrix.hpp b/gecode/int/nvalues/sym-bit-matrix.hpp index 3ebda466b4..4a8469c987 100755 --- a/gecode/int/nvalues/sym-bit-matrix.hpp +++ b/gecode/int/nvalues/sym-bit-matrix.hpp @@ -50,7 +50,7 @@ namespace Gecode { namespace Int { namespace NValues { : Support::BitSet(r,static_cast((n0*n0-n0)/2)), n(n0) {} - forceinline bool + forceinline bool SymBitMatrix::get(int x, int y) const { assert(x != y); if (x > y) std::swap(x,y); diff --git a/gecode/int/precede.cpp b/gecode/int/precede.cpp index 3dde468878..9d9f600175 100644 --- a/gecode/int/precede.cpp +++ b/gecode/int/precede.cpp @@ -44,24 +44,24 @@ namespace Gecode { void - precede(Home home, const IntVarArgs& x, int s, int t, IntConLevel) { + precede(Home home, const IntVarArgs& x, int s, int t, IntPropLevel) { using namespace Int; Limits::check(s,"Int::precede"); Limits::check(t,"Int::precede"); - if (home.failed()) return; + GECODE_POST; ViewArray y(home, x); GECODE_ES_FAIL(Precede::Single::post(home, y, s, t)); } void - precede(Home home, const IntVarArgs& x, const IntArgs& c, IntConLevel) { + precede(Home home, const IntVarArgs& x, const IntArgs& c, IntPropLevel) { using namespace Int; if (c.size() < 2) return; for (int i=c.size(); i--; ) Limits::check(c[i],"Int::precede"); - if (home.failed()) return; + GECODE_POST; for (int i=c.size()-1; i--; ) { ViewArray y(home, x); diff --git a/gecode/int/precede.hh b/gecode/int/precede.hh index 2bb388e140..fa4e2fc2ce 100644 --- a/gecode/int/precede.hh +++ b/gecode/int/precede.hh @@ -50,7 +50,7 @@ */ namespace Gecode { namespace Int { namespace Precede { - + /** * \brief Single value precedence propagator * @@ -94,6 +94,8 @@ namespace Gecode { namespace Int { namespace Precede { virtual Propagator* copy(Space& home, bool share); /// Cost function virtual PropCost cost(const Space&, const ModEventDelta&) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Give advice to propagator diff --git a/gecode/int/precede/single.hpp b/gecode/int/precede/single.hpp index 9f8691edc7..62465d3074 100644 --- a/gecode/int/precede/single.hpp +++ b/gecode/int/precede/single.hpp @@ -47,7 +47,7 @@ namespace Gecode { namespace Int { namespace Precede { assigned(View x, int v) { return x.assigned() && (x.val() == v); } - + template forceinline Single::Index::Index(Space& home, Propagator& p, @@ -59,9 +59,9 @@ namespace Gecode { namespace Int { namespace Precede { Single::Index::Index(Space& home, bool share, Index& a) : Advisor(home,share,a), i(a.i) {} - + template - forceinline ExecStatus + forceinline ExecStatus Single::updateAlpha(Space& home) { int n = x.size(); while ((alpha < n) && !x[alpha].in(s)) @@ -82,12 +82,12 @@ namespace Gecode { namespace Int { namespace Precede { GECODE_ME_CHECK(x[alpha].eq(home, s)); return ES_OK; } - + template forceinline - Single::Single(Home home, ViewArray& x0, + Single::Single(Home home, ViewArray& x0, int s0, int t0, int b, int g) - : NaryPropagator(home,x0), + : NaryPropagator(home,x0), c(home), s(s0), t(t0), alpha(0), beta(b), gamma(g) { for (int i=x.size(); i--; ) if (!x[i].assigned()) @@ -124,7 +124,7 @@ namespace Gecode { namespace Int { namespace Precede { (void) new (home) Single(home, x, s, t, beta, gamma); return ES_OK; } - + template @@ -171,11 +171,17 @@ namespace Gecode { namespace Int { namespace Precede { } template - PropCost + PropCost Single::cost(const Space&, const ModEventDelta&) const { return PropCost::linear(PropCost::LO, x.size()); } + template + void + Single::reschedule(Space& home) { + View::schedule(home, *this, ME_INT_BND); + } + template ExecStatus Single::advise(Space& home, Advisor& a0, const Delta& d) { @@ -203,7 +209,7 @@ namespace Gecode { namespace Int { namespace Precede { } return ES_FIX; } - + template ExecStatus Single::propagate(Space& home, const ModEventDelta&) { @@ -223,10 +229,10 @@ namespace Gecode { namespace Int { namespace Precede { } else if ((beta < n) && !x[beta].in(s)) { GECODE_ES_CHECK(updateBeta(home)); } - + return (c.empty()) ? home.ES_SUBSUMED(*this) : ES_FIX; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/propagator.hpp b/gecode/int/propagator.hpp index af8164031d..26e26a662f 100755 --- a/gecode/int/propagator.hpp +++ b/gecode/int/propagator.hpp @@ -71,6 +71,8 @@ namespace Gecode { namespace Int { public: /// Cost function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -102,6 +104,8 @@ namespace Gecode { namespace Int { public: /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -112,7 +116,7 @@ namespace Gecode { namespace Int { * \brief Reified mixed binary propagator * * Stores two views of type \a View0 and \a View1 with propagation - * conditions \a pc0 and \a pc1 and a Boolean control view of type + * conditions \a pc0 and \a pc1 and a Boolean control view of type * \a CtrlView. * * If the propagation conditions \a pc0 or \a pc1 have the values @@ -139,6 +143,8 @@ namespace Gecode { namespace Int { public: /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -181,6 +187,14 @@ namespace Gecode { namespace Int { return PropCost::unary(PropCost::LO); } + template + void + ReUnaryPropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) + x0.reschedule(home,*this,pc); + b.reschedule(home,*this,Int::PC_INT_VAL); + } + template forceinline size_t ReUnaryPropagator::dispose(Space& home) { @@ -232,6 +246,16 @@ namespace Gecode { namespace Int { return PropCost::binary(PropCost::LO); } + template + void + ReBinaryPropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) { + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + } + b.reschedule(home,*this,Int::PC_INT_VAL); + } + template forceinline size_t ReBinaryPropagator::dispose(Space& home) { @@ -264,7 +288,7 @@ namespace Gecode { namespace Int { class CtrlView> forceinline ReMixBinaryPropagator::ReMixBinaryPropagator - (Space& home, bool share, + (Space& home, bool share, ReMixBinaryPropagator& p) : Propagator(home,share,p) { x0.update(home,share,p.x0); @@ -292,6 +316,17 @@ namespace Gecode { namespace Int { return PropCost::binary(PropCost::LO); } + template + void + ReMixBinaryPropagator::reschedule(Space& home) { + if (pc0 != PC_GEN_NONE) + x0.reschedule(home,*this,pc0); + if (pc1 != PC_GEN_NONE) + x1.reschedule(home,*this,pc1); + b.reschedule(home,*this,Int::PC_INT_VAL); + } + template forceinline size_t diff --git a/gecode/int/rel.cpp b/gecode/int/rel.cpp index 6e2bff8a80..a612eaa2af 100644 --- a/gecode/int/rel.cpp +++ b/gecode/int/rel.cpp @@ -45,9 +45,9 @@ namespace Gecode { using namespace Int; void - rel(Home home, IntVar x0, IntRelType irt, int n, IntConLevel) { + rel(Home home, IntVar x0, IntRelType irt, int n, IntPropLevel) { Limits::check(n,"Int::rel"); - if (home.failed()) return; + GECODE_POST; IntView x(x0); switch (irt) { case IRT_EQ: GECODE_ME_FAIL(x.eq(home,n)); break; @@ -61,9 +61,9 @@ namespace Gecode { } void - rel(Home home, const IntVarArgs& x, IntRelType irt, int n, IntConLevel) { + rel(Home home, const IntVarArgs& x, IntRelType irt, int n, IntPropLevel) { Limits::check(n,"Int::rel"); - if (home.failed()) return; + GECODE_POST; switch (irt) { case IRT_EQ: for (int i=x.size(); i--; ) { @@ -101,11 +101,11 @@ namespace Gecode { } void - rel(Home home, IntVar x0, IntRelType irt, IntVar x1, IntConLevel icl) { - if (home.failed()) return; + rel(Home home, IntVar x0, IntRelType irt, IntVar x1, IntPropLevel ipl) { + GECODE_POST; switch (irt) { case IRT_EQ: - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { GECODE_ES_FAIL((Rel::EqDom::post(home,x0,x1))); } else { GECODE_ES_FAIL((Rel::EqBnd::post(home,x0,x1))); @@ -128,8 +128,8 @@ namespace Gecode { void rel(Home home, const IntVarArgs& x, IntRelType irt, IntVar y, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; switch (irt) { case IRT_EQ: { @@ -137,7 +137,7 @@ namespace Gecode { xv[x.size()]=y; for (int i=x.size(); i--; ) xv[i]=x[i]; - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { GECODE_ES_FAIL(Rel::NaryEqDom::post(home,xv)); } else { GECODE_ES_FAIL(Rel::NaryEqBnd::post(home,xv)); @@ -177,11 +177,11 @@ namespace Gecode { void rel(Home home, IntVar x0, IntRelType irt, IntVar x1, Reify r, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; switch (irt) { case IRT_EQ: - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqDom @@ -218,7 +218,7 @@ namespace Gecode { case IRT_NQ: { NegBoolView n(r.var()); - if (icl == ICL_BND) { + if (vbd(ipl) == IPL_BND) { switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqBnd @@ -301,12 +301,12 @@ namespace Gecode { void rel(Home home, IntVar x, IntRelType irt, int n, Reify r, - IntConLevel icl) { + IntPropLevel ipl) { Limits::check(n,"Int::rel"); - if (home.failed()) return; + GECODE_POST; switch (irt) { case IRT_EQ: - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqDomInt @@ -343,7 +343,7 @@ namespace Gecode { case IRT_NQ: { NegBoolView nb(r.var()); - if (icl == ICL_BND) { + if (vbd(ipl) == IPL_BND) { switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Rel::ReEqBndInt @@ -426,14 +426,15 @@ namespace Gecode { void rel(Home home, const IntVarArgs& x, IntRelType irt, - IntConLevel icl) { - if (home.failed() || ((irt != IRT_NQ) && (x.size() < 2))) + IntPropLevel ipl) { + GECODE_POST; + if ((irt != IRT_NQ) && (x.size() < 2)) return; switch (irt) { case IRT_EQ: { ViewArray xv(home,x); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) { GECODE_ES_FAIL(Rel::NaryEqDom::post(home,xv)); } else { GECODE_ES_FAIL(Rel::NaryEqBnd::post(home,xv)); @@ -483,8 +484,8 @@ namespace Gecode { void rel(Home home, const IntVarArgs& x, IntRelType irt, const IntVarArgs& y, - IntConLevel icl) { - if (home.failed()) return; + IntPropLevel ipl) { + GECODE_POST; switch (irt) { case IRT_GR: @@ -514,7 +515,7 @@ namespace Gecode { case IRT_EQ: if (x.size() != y.size()) { home.fail(); - } else if ((icl == ICL_DOM) || (icl == ICL_DEF)) + } else if ((vbd(ipl) == IPL_DOM) || (vbd(ipl) == IPL_DEF)) for (int i=x.size(); i--; ) { GECODE_ES_FAIL((Rel::EqDom ::post(home,x[i],y[i]))); diff --git a/gecode/int/rel.hh b/gecode/int/rel.hh index e0c8423a4f..8547d746d5 100644 --- a/gecode/int/rel.hh +++ b/gecode/int/rel.hh @@ -97,6 +97,36 @@ namespace Gecode { namespace Int { namespace Rel { static ExecStatus post(Home home, View0 x0, View1 x1); }; + /** + * \brief Binary value propagation equality propagator + * + * Requires \code #include \endcode + * \ingroup FuncIntProp + */ + template + class EqVal : + public MixBinaryPropagator { + protected: + using MixBinaryPropagator::x0; + using MixBinaryPropagator::x1; + + /// Constructor for cloning \a p + EqVal(Space& home, bool share, EqVal& p); + public: + /// Constructor for posting + EqVal(Home home, View0 x0, View1 x1); + /// Constructor for rewriting \a p during cloning + EqVal(Space& home, bool share, Propagator& p, View0 x0, View1 x1); + /// Copy propagator during cloning + virtual Actor* copy(Space& home, bool share); + /// Cost function: low unary. + virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Perform propagation + virtual ExecStatus propagate(Space& home, const ModEventDelta& med); + /// Post value propagation propagator \f$ x_0 = x_1\f$ + static ExecStatus post(Home home, View0 x0, View1 x1); + }; + /** * \brief Binary bounds consistent equality propagator * @@ -270,6 +300,8 @@ namespace Gecode { namespace Int { namespace Rel { virtual Actor* copy(Space& home, bool share); /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -609,6 +641,8 @@ namespace Gecode { namespace Int { namespace Rel { virtual Actor* copy(Space& home, bool share); /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for lexical order between \a x and \a y @@ -632,7 +666,7 @@ namespace Gecode { namespace Int { namespace Rel { /// Views not yet subscribed to ViewArray x, y; /// Update subscription - ExecStatus resubscribe(Space& home, + ExecStatus resubscribe(Space& home, RelTest rt, View& x0, View& y0, View x1, View y1); /// Constructor for posting LexNq(Home home, ViewArray& x, ViewArray& y); @@ -643,6 +677,8 @@ namespace Gecode { namespace Int { namespace Rel { virtual Actor* copy(Space& home, bool share); /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x\neq y\f$ diff --git a/gecode/int/rel/eq.hpp b/gecode/int/rel/eq.hpp index 0177893a62..57adca0dae 100755 --- a/gecode/int/rel/eq.hpp +++ b/gecode/int/rel/eq.hpp @@ -37,6 +37,66 @@ namespace Gecode { namespace Int { namespace Rel { + /* + * Binary value propagation equality + * + */ + + template + forceinline + EqVal::EqVal(Home home, View0 x0, View1 x1) + : MixBinaryPropagator(home,x0,x1) {} + + template + ExecStatus + EqVal::post(Home home, View0 x0, View1 x1){ + if (x0.assigned()) { + GECODE_ME_CHECK(x1.eq(home,x0.val())); + } else if (x1.assigned()) { + GECODE_ME_CHECK(x0.eq(home,x1.val())); + } else if (!same(x0,x1)) { + (void) new (home) EqVal(home,x0,x1); + } + return ES_OK; + } + + template + forceinline + EqVal::EqVal(Space& home, bool share, EqVal& p) + : MixBinaryPropagator(home,share,p) {} + + template + forceinline + EqVal::EqVal(Space& home, bool share, Propagator& p, + View0 x0, View1 x1) + : MixBinaryPropagator(home,share,p, + x0,x1) {} + + template + Actor* + EqVal::copy(Space& home, bool share) { + return new (home) EqVal(home,share,*this); + } + + template + PropCost + EqVal::cost(const Space&, const ModEventDelta&) const { + return PropCost::unary(PropCost::LO); + } + + template + ExecStatus + EqVal::propagate(Space& home, const ModEventDelta&) { + if (x0.assigned()) { + GECODE_ME_CHECK(x1.eq(home,x0.val())); + } else { + assert(x1.assigned()); + GECODE_ME_CHECK(x0.eq(home,x1.val())); + } + return home.ES_SUBSUMED(*this); + } + + /* * Binary bounds consistent equality * @@ -476,17 +536,17 @@ namespace Gecode { namespace Int { namespace Rel { } if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,Nq::post(home(*this),x0,x1)); } switch (rtest_eq_dom(x0,x1)) { case RT_TRUE: if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); break; case RT_MAYBE: return ES_FIX; @@ -710,11 +770,11 @@ namespace Gecode { namespace Int { namespace Rel { switch (rtest_eq_bnd(x0,c)) { case RT_TRUE: if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); break; case RT_MAYBE: return ES_FIX; diff --git a/gecode/int/rel/lex.hpp b/gecode/int/rel/lex.hpp index 9d3135e717..e68ac0752c 100755 --- a/gecode/int/rel/lex.hpp +++ b/gecode/int/rel/lex.hpp @@ -69,6 +69,13 @@ namespace Gecode { namespace Int { namespace Rel { return PropCost::linear(PropCost::LO, x.size()); } + template + void + LexLqLe::reschedule(Space& home) { + x.reschedule(home,*this,PC_INT_BND); + y.reschedule(home,*this,PC_INT_BND); + } + template forceinline size_t LexLqLe::dispose(Space& home) { @@ -261,7 +268,7 @@ namespace Gecode { namespace Int { namespace Rel { template forceinline LexNq::LexNq(Home home, ViewArray& xv, ViewArray& yv) - : Propagator(home), + : Propagator(home), x0(xv[xv.size()-2]), y0(yv[xv.size()-2]), x1(xv[xv.size()-1]), y1(yv[xv.size()-1]), x(xv), y(yv) { @@ -279,6 +286,15 @@ namespace Gecode { namespace Int { namespace Rel { return PropCost::binary(PropCost::HI); } + template + void + LexNq::reschedule(Space& home) { + x0.reschedule(home,*this,PC_INT_VAL); + y0.reschedule(home,*this,PC_INT_VAL); + x1.reschedule(home,*this,PC_INT_VAL); + y1.reschedule(home,*this,PC_INT_VAL); + } + template forceinline LexNq::LexNq(Space& home, bool share, LexNq& p) @@ -291,8 +307,7 @@ namespace Gecode { namespace Int { namespace Rel { template Actor* LexNq::copy(Space& home, bool share) { - /* - int n = x.size(); + int n = x.size(); if (n > 0) { // Eliminate all equal views and keep one disequal pair for (int i=n; i--; ) @@ -313,7 +328,6 @@ namespace Gecode { namespace Int { namespace Rel { done: x.size(n); y.size(n); } - */ return new (home) LexNq(home,share,*this); } @@ -326,7 +340,7 @@ namespace Gecode { namespace Int { namespace Rel { if (n > 0) { // Eliminate all equal views for (int i=n; i--; ) - switch (rtest_eq_bnd(x[i],y[i])) { + switch (rtest_eq_dom(x[i],y[i])) { case RT_TRUE: // Eliminate equal pair n--; x[i]=x[n]; y[i]=y[n]; @@ -363,14 +377,14 @@ namespace Gecode { namespace Int { namespace Rel { template forceinline ExecStatus - LexNq::resubscribe(Space& home, + LexNq::resubscribe(Space& home, RelTest rt, View& x0, View& y0, View x1, View y1) { if (rt == RT_TRUE) { assert(x0.assigned() && y0.assigned()); assert(x0.val() == y0.val()); int n = x.size(); for (int i=n; i--; ) - switch (rtest_eq_bnd(x[i],y[i])) { + switch (rtest_eq_dom(x[i],y[i])) { case RT_TRUE: // Eliminate equal pair n--; x[i]=x[n]; y[i]=y[n]; @@ -389,7 +403,7 @@ namespace Gecode { namespace Int { namespace Rel { GECODE_NEVER; } // No more views to subscribe to left - GECODE_REWRITE(*this,Nq::post(home,x1,y1)); + GECODE_REWRITE(*this,Nq::post(home(*this),x1,y1)); } return ES_FIX; } @@ -397,10 +411,10 @@ namespace Gecode { namespace Int { namespace Rel { template ExecStatus LexNq::propagate(Space& home, const ModEventDelta&) { - RelTest rt0 = rtest_eq_bnd(x0,y0); + RelTest rt0 = rtest_eq_dom(x0,y0); if (rt0 == RT_FALSE) return home.ES_SUBSUMED(*this); - RelTest rt1 = rtest_eq_bnd(x1,y1); + RelTest rt1 = rtest_eq_dom(x1,y1); if (rt1 == RT_FALSE) return home.ES_SUBSUMED(*this); GECODE_ES_CHECK(resubscribe(home,rt0,x0,y0,x1,y1)); diff --git a/gecode/int/rel/lq-le.hpp b/gecode/int/rel/lq-le.hpp index 4d58b22887..d38988afa1 100755 --- a/gecode/int/rel/lq-le.hpp +++ b/gecode/int/rel/lq-le.hpp @@ -201,7 +201,7 @@ namespace Gecode { namespace Int { namespace Rel { template forceinline NaryLqLe::NaryLqLe(Home home, ViewArray& x) - : NaryPropagator(home,x), + : NaryPropagator(home,x), c(home), pos(NULL), run(false), n_subsumed(0) { for (int i=x.size(); i--; ) x[i].subscribe(home, *new (home) Index(home,*this,c,i)); @@ -233,10 +233,11 @@ namespace Gecode { namespace Int { namespace Rel { for (int k=0; k forceinline NaryLqLe::NaryLqLe(Space& home, bool share, NaryLqLe& p) - : NaryPropagator(home,share,p), + : NaryPropagator(home,share,p), pos(NULL), run(false), n_subsumed(p.n_subsumed) { assert(p.pos == NULL); c.update(home, share, p.c); @@ -309,7 +310,7 @@ namespace Gecode { namespace Int { namespace Rel { // Remap advisors for (Advisors as(c); as(); ++as) as.advisor().i = m[as.advisor().i]; - + n_subsumed = 0; } return new (home) NaryLqLe(home,share,*this); @@ -366,6 +367,12 @@ namespace Gecode { namespace Int { namespace Rel { return (n_subsumed+1 >= x.size()) ? ES_NOFIX : ES_FIX; } + template + void + NaryLqLe::reschedule(Space& home) { + View::schedule(home, *this, ME_INT_BND); + } + template ExecStatus NaryLqLe::propagate(Space& home, const ModEventDelta&) { @@ -429,14 +436,14 @@ namespace Gecode { namespace Int { namespace Rel { switch (rtest_lq(x0,x1)) { case RT_TRUE: if (rm != RM_IMP) - GECODE_ME_CHECK(b.one_none(home)); + GECODE_ME_CHECK(b.one_none(home)); break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); break; case RT_MAYBE: - (void) new (home) ReLq(home,x0,x1,b); + (void) new (home) ReLq(home,x0,x1,b); break; default: GECODE_NEVER; } @@ -474,7 +481,7 @@ namespace Gecode { namespace Int { namespace Rel { break; case RT_FALSE: if (rm != RM_PMI) - GECODE_ME_CHECK(b.zero_none(home)); + GECODE_ME_CHECK(b.zero_none(home)); break; case RT_MAYBE: return ES_FIX; diff --git a/gecode/int/rel/nq.hpp b/gecode/int/rel/nq.hpp index 5805c53378..41e55d826f 100755 --- a/gecode/int/rel/nq.hpp +++ b/gecode/int/rel/nq.hpp @@ -184,7 +184,7 @@ namespace Gecode { namespace Int { namespace Rel { return ES_FAILED; if (n == 2) { GECODE_ME_CHECK(x[1].nq(home,v)); - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); } return ES_FIX; } diff --git a/gecode/int/relax.cpp b/gecode/int/relax.cpp new file mode 100644 index 0000000000..4910678510 --- /dev/null +++ b/gecode/int/relax.cpp @@ -0,0 +1,93 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { namespace Int { + + /// Class for posting equalities for non-relaxed variables + class Relax { + public: + /// Post the actual equality for non-relaxed variables + ExecStatus operator ()(Home home, IntVar x, IntVar sx); + /// Post the actual equality for non-relaxed variables + ExecStatus operator ()(Home home, BoolVar x, BoolVar sx); + }; + + forceinline ExecStatus + Relax::operator ()(Home home, IntVar x, IntVar sx) { + IntView xv(x); + return me_failed(xv.eq(home,sx.val())) ? ES_FAILED : ES_OK; + } + + forceinline ExecStatus + Relax::operator ()(Home home, BoolVar x, BoolVar sx) { + BoolView xv(x); + return me_failed(xv.eq(home,sx.val())) ? ES_FAILED : ES_OK; + } + +}} + +namespace Gecode { + + void + relax(Home home, const IntVarArgs& x, const IntVarArgs& sx, + Rnd r, double p) { + if (x.size() != sx.size()) + throw Int::ArgumentSizeMismatch("Int::relax"); + if ((p < 0.0) || (p > 1.0)) + throw Int::OutOfLimits("Int::relax"); + Int::Relax ir; + Search::relax(home,x,sx,r,p,ir); + } + + void + relax(Home home, const BoolVarArgs& x, const BoolVarArgs& sx, + Rnd r, double p) { + if (x.size() != sx.size()) + throw Int::ArgumentSizeMismatch("Int::relax"); + if ((p < 0.0) || (p > 1.0)) + throw Int::OutOfLimits("Int::relax"); + Int::Relax ir; + Search::relax(home,x,sx,r,p,ir); + } + +} + +// STATISTICS: int-other + diff --git a/gecode/int/sequence.cpp b/gecode/int/sequence.cpp index 0f0c8851fd..c7aa1a079d 100644 --- a/gecode/int/sequence.cpp +++ b/gecode/int/sequence.cpp @@ -48,8 +48,8 @@ namespace Gecode { using namespace Int; void - sequence(Home home, const IntVarArgs& x, const IntSet &s, - int q, int l, int u, IntConLevel) { + sequence(Home home, const IntVarArgs& x, const IntSet &s, + int q, int l, int u, IntPropLevel) { Limits::check(s.min(),"Int::sequence"); Limits::check(s.max(),"Int::sequence"); @@ -66,8 +66,7 @@ namespace Gecode { if ((q < 1) || (q > x.size())) throw OutOfLimits("Int::sequence"); - if (home.failed()) - return; + GECODE_POST; // Normalize l and u l=std::max(0,l); u=std::min(q,u); @@ -78,7 +77,7 @@ namespace Gecode { } // Already subsumed as any number of values taken is okay - if ((0 == l) && (q == u)) + if ((0 == l) && (q == u)) return; // All variables must take a value in s @@ -114,8 +113,8 @@ namespace Gecode { } void - sequence(Home home, const BoolVarArgs& x, const IntSet& s, - int q, int l, int u, IntConLevel) { + sequence(Home home, const BoolVarArgs& x, const IntSet& s, + int q, int l, int u, IntPropLevel) { if ((s.min() < 0) || (s.max() > 1)) throw NotZeroOne("Int::sequence"); @@ -132,8 +131,7 @@ namespace Gecode { if ((q < 1) || (q > x.size())) throw OutOfLimits("Int::sequence"); - if (home.failed()) - return; + GECODE_POST; // Normalize l and u l=std::max(0,l); u=std::min(q,u); @@ -144,13 +142,13 @@ namespace Gecode { } // Already subsumed as any number of values taken is okay - if ((0 == l) && (q == u)) + if ((0 == l) && (q == u)) return; // Check whether the set is {0,1}, then the number of values taken is q if ((s.min() == 0) && (s.max() == 1)) { if ((l > 0) || (u < q)) - home.failed(); + home.fail(); return; } assert(s.min() == s.max()); diff --git a/gecode/int/sequence.hh b/gecode/int/sequence.hh index 7ab024f324..05befacb9e 100644 --- a/gecode/int/sequence.hh +++ b/gecode/int/sequence.hh @@ -50,15 +50,15 @@ namespace Gecode { namespace Int { namespace Sequence { * This namespace contains a propagator for the * cumulatives constraint as presented in * Willem Jan van Hoeve, Gilles Pesant, Louis-Martin Rousseau, and - * Ashish Sabharwal, New filtering algorithms for combinations of + * Ashish Sabharwal, New filtering algorithms for combinations of * among constraints. Constraints, 14(2), 273-292, 2009. * */ - template + template class SupportAdvisor; - template + template class ViewValSupport; /** @@ -113,13 +113,15 @@ namespace Gecode { namespace Int { namespace Sequence { virtual Actor* copy(Space& home, bool share); /// Advise function ExecStatus advise(Space& home, Advisor& _a, const Delta& d); - /// Cost function + /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); - /// Post propagator for + /// Post propagator for static ExecStatus post(Home home, ViewArray& x, Val s, int q, int l, int u); - /// Check for consistency + /// Check for consistency static ExecStatus check(Space& home, ViewArray& x, Val s, int q, int l, int u); /// Delete propagator and return its size virtual size_t dispose(Space& home); @@ -140,6 +142,8 @@ namespace Gecode { namespace Int { namespace Sequence { ViewValSupportArray vvsamin; /// Council for advisors Council > ac; + /// Whether to fail when being rescheduled + bool tofail; }; }}} diff --git a/gecode/int/sequence/int.hpp b/gecode/int/sequence/int.hpp index 5527682996..725db9dca9 100644 --- a/gecode/int/sequence/int.hpp +++ b/gecode/int/sequence/int.hpp @@ -43,14 +43,15 @@ namespace Gecode { namespace Int { namespace Sequence { template forceinline - Sequence::Sequence(Home home, ViewArray& x0, Val s0, - int q0, int l0, int u0) - : Propagator(home), x(x0), s(s0), q(q0), l(l0), u(u0), - vvsamax(home,x,s0,q0), vvsamin(home,x,s0,q0), ac(home) { + Sequence::Sequence(Home home, ViewArray& x0, Val s0, + int q0, int l0, int u0) + : Propagator(home), x(x0), s(s0), q(q0), l(l0), u(u0), + vvsamax(home,x,s0,q0), vvsamin(home,x,s0,q0), ac(home), + tofail(false) { home.notice(*this,AP_DISPOSE); for (int i=x.size(); i--; ) { if (undecided(x[i],s)) { - x[i].subscribe(home,*new (home) SupportAdvisor(home,*this,ac,i)); + x[i].subscribe(home,*new (home) SupportAdvisor(home,*this,ac,i)); } else { x[i].schedule(home,*this,x[i].assigned() ? ME_INT_VAL : ME_INT_BND); } @@ -87,7 +88,7 @@ namespace Gecode { namespace Int { namespace Sequence { forceinline Sequence::Sequence(Space& home, bool share, Sequence& p) : Propagator(home,share,p), q(p.q), l(p.l), u(p.u), - vvsamax(), vvsamin() { + vvsamax(), vvsamin(), tofail(p.tofail) { UpdateVal::update(s,home,share,p.s); x.update(home,share,p.x); ac.update(home,share,p.ac); @@ -115,6 +116,11 @@ namespace Gecode { namespace Int { namespace Sequence { } } + if ((status == ES_FAILED) && disabled()) { + tofail = true; + return ES_FIX; + } + return status; } @@ -177,8 +183,21 @@ namespace Gecode { namespace Int { namespace Sequence { } template - ExecStatus + void + Sequence::reschedule(Space& home) { + for (int i=x.size(); i--; ) + if (!undecided(x[i],s)) + x[i].schedule(home,*this,x[i].assigned() ? ME_INT_VAL : ME_INT_BND); + if (tofail) + View::schedule(home,*this,ME_INT_BND); + } + + template + ExecStatus Sequence::propagate(Space& home, const ModEventDelta&) { + if (tofail) + return ES_FAILED; + GECODE_ES_CHECK(vvsamax.propagate(home,x,s,q,l,u)); GECODE_ES_CHECK(vvsamin.propagate(home,x,s,q,l,u)); diff --git a/gecode/int/sequence/view.hpp b/gecode/int/sequence/view.hpp index e262b84819..abd72b4e77 100644 --- a/gecode/int/sequence/view.hpp +++ b/gecode/int/sequence/view.hpp @@ -60,18 +60,18 @@ namespace Gecode { namespace Int { namespace Sequence { template forceinline - SupportAdvisor::SupportAdvisor(Space& home, Propagator& p, + SupportAdvisor::SupportAdvisor(Space& home, Propagator& p, Council& c,int i0) : Advisor(home,p,c), i(i0) { } template forceinline - SupportAdvisor::SupportAdvisor(Space& home, bool share, + SupportAdvisor::SupportAdvisor(Space& home, bool share, SupportAdvisor& a) : Advisor(home,share,a), i(a.i) { } - + template forceinline void SupportAdvisor::dispose(Space& home, Council& c) { @@ -90,11 +90,11 @@ namespace Gecode { namespace Int { namespace Sequence { void update(Space& home, bool share, ViewValSupport& vvs, int n0); /// Advise ExecStatus advise(Space& home,ViewArray& a,Val s,int i,int q, int j,const Delta& d); - /// Propagate + /// Propagate ExecStatus propagate(Space& home,ViewArray& a,Val s,int i,int q,int l,int u); /// Return true if sequence j has been violated bool violated(int j, int q, int l, int u) const; - /// Check if retired + /// Check if retired bool retired(void) const; /// Allocate an instance static ViewValSupport* allocate(Space&,int); @@ -133,7 +133,7 @@ namespace Gecode { namespace Int { namespace Sequence { Violations v; }; - + template forceinline ViewValSupport* ViewValSupport::allocate(Space& home, int n) { @@ -141,26 +141,26 @@ namespace Gecode { namespace Int { namespace Sequence { } template - forceinline bool + forceinline bool ViewValSupport::has_potential_violation(void) const { return !v.empty(); } - + template - forceinline int + forceinline int ViewValSupport::next_potential_violation(void) { return static_cast(v.get()); } template - forceinline void + forceinline void ViewValSupport::potential_violation(int k) { v.add(static_cast(k)); } - + template - forceinline bool + forceinline bool ViewValSupport::retired(void) const { return NULL == y; } @@ -186,7 +186,7 @@ namespace Gecode { namespace Int { namespace Sequence { (void) i; return excludes(a[idx-1],s) || (!iss && (i == idx-1)); } - + template forceinline void @@ -214,7 +214,7 @@ namespace Gecode { namespace Int { namespace Sequence { template forceinline void ViewValSupport::update(Space& home, bool share, - ViewValSupport& vvs, + ViewValSupport& vvs, int n0) { y = NULL; if ( !vvs.retired() ) { @@ -237,7 +237,7 @@ namespace Gecode { namespace Int { namespace Sequence { } template - forceinline ExecStatus + forceinline ExecStatus ViewValSupport::schedule_conclusion(ViewArray& a, Val s, int i) { if (!retired()) { @@ -273,9 +273,9 @@ namespace Gecode { namespace Int { namespace Sequence { ViewValSupport::conclude(Space& home,ViewArray& a, Val s, int i) { if ( iss ) { - GECODE_ME_CHECK(exclude(home,a[i],s)); + GECODE_ME_CHECK(exclude(home,a[i],s)); } else { - GECODE_ME_CHECK(include(home,a[i],s)); + GECODE_ME_CHECK(include(home,a[i],s)); } retire(); @@ -300,12 +300,12 @@ namespace Gecode { namespace Int { namespace Sequence { assert(y[idx]<=v); if ( y[idx] < v ) { y[idx] = v; - potential_violation(idx,q,n); + potential_violation(idx,q,n); } } template - forceinline bool + forceinline bool ViewValSupport::pushup(ViewArray& a,Val s,int i,int q,int idx, int v) { if ( !retired() ) { int n = a.size() + 1; @@ -315,7 +315,7 @@ namespace Gecode { namespace Int { namespace Sequence { if ( y[idx] > idx ) { return false; } - + int t = idx; // repair y on the left @@ -352,7 +352,7 @@ namespace Gecode { namespace Int { namespace Sequence { ViewValSupport::advise(Space&, ViewArray& a, Val s,int i,int q, int j, const Delta&) { - ExecStatus status = ES_FIX; + ExecStatus status = ES_FIX; if (!retired()) { if ((j == i) && shaved(a[j],s,j)) { retire(); @@ -387,7 +387,7 @@ namespace Gecode { namespace Int { namespace Sequence { } template - forceinline ExecStatus + forceinline ExecStatus ViewValSupport::propagate(Space& home,ViewArray& a,Val s,int i,int q,int l,int u) { if ( !retired() ) { if ( conlusion_scheduled() ) { diff --git a/gecode/int/sequence/violations.hpp b/gecode/int/sequence/violations.hpp index 951fb5cd5c..c454f9ce21 100644 --- a/gecode/int/sequence/violations.hpp +++ b/gecode/int/sequence/violations.hpp @@ -75,7 +75,7 @@ namespace Gecode { namespace Int { namespace Sequence { fst = next(fst); return fst >= size(); } - + forceinline void Violations::update(Space& home, bool, Violations& v) { assert(v.empty()); @@ -86,7 +86,7 @@ namespace Gecode { namespace Int { namespace Sequence { Violations::add(unsigned int i) { set(i); if (i < fst) fst = i; } - + forceinline unsigned int Violations::get(void) { assert(!empty()); @@ -95,7 +95,7 @@ namespace Gecode { namespace Int { namespace Sequence { clear(fst); fst++; return fst-1; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/sorted.cpp b/gecode/int/sorted.cpp index e0db7e9476..de6cb6f9b7 100644 --- a/gecode/int/sorted.cpp +++ b/gecode/int/sorted.cpp @@ -41,14 +41,14 @@ namespace Gecode { void sorted(Home home, const IntVarArgs& x, const IntVarArgs& y, - const IntVarArgs& z, IntConLevel) { + const IntVarArgs& z, IntPropLevel) { using namespace Int; if ((x.size() != y.size()) || (x.size() != z.size())) throw ArgumentSizeMismatch("Int::Sorted"); if (x.same(home,y) || x.same(home,z) || y.same(home,z)) throw ArgumentSame("Int::Sorted"); - if (home.failed()) return; + GECODE_POST; if (x.size()==0) return; @@ -60,14 +60,14 @@ namespace Gecode { void sorted(Home home, const IntVarArgs& x, const IntVarArgs& y, - IntConLevel) { + IntPropLevel) { using namespace Int; if (x.size() != y.size()) throw ArgumentSizeMismatch("Int::Sorted"); if (x.same(home,y)) throw ArgumentSame("Int::Sorted"); - if (home.failed()) return; + GECODE_POST; if (x.size()==0) return; diff --git a/gecode/int/sorted.hh b/gecode/int/sorted.hh index aa46acf858..b3de4b744a 100644 --- a/gecode/int/sorted.hh +++ b/gecode/int/sorted.hh @@ -73,7 +73,7 @@ namespace Gecode { namespace Int { namespace Sorted { /// connection to dropped view int reachable; /// Constructor for posting - Sorted(Home home, + Sorted(Home home, ViewArray& x, ViewArray& y, ViewArray& z); /// Constructor for cloning Sorted(Space& home, bool share, Sorted& p); @@ -84,6 +84,8 @@ namespace Gecode { namespace Int { namespace Sorted { virtual Actor* copy(Space& home, bool share); /// Cost function returning low linear virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for views \a x, \a y, and \a z diff --git a/gecode/int/sorted/propagate.hpp b/gecode/int/sorted/propagate.hpp index 789dda7cc8..869344dac9 100644 --- a/gecode/int/sorted/propagate.hpp +++ b/gecode/int/sorted/propagate.hpp @@ -129,7 +129,7 @@ namespace Gecode { namespace Int { namespace Sorted { } } } - + for (int i = n; i--; ) { // minimum reachable y-variable int minr = allbnd[i].min; @@ -381,6 +381,15 @@ namespace Gecode { namespace Int { namespace Sorted { return PropCost::linear(PropCost::LO, x.size()); } + template + void + Sorted::reschedule(Space& home) { + x.reschedule(home, *this, PC_INT_BND); + y.reschedule(home, *this, PC_INT_BND); + if (Perm) + z.reschedule(home, *this, PC_INT_BND); + } + template ExecStatus Sorted::propagate(Space& home, const ModEventDelta&) { diff --git a/gecode/int/task.hh b/gecode/int/task.hh index f29cb7bcfd..5a650d0fe4 100755 --- a/gecode/int/task.hh +++ b/gecode/int/task.hh @@ -90,6 +90,8 @@ namespace Gecode { namespace Int { void subscribe(Space& home, Propagator& p, PropCond pc); /// Cancel subscription of propagator \a p for task void cancel(Space& home, Propagator& p, PropCond pc); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); //@} }; @@ -205,6 +207,8 @@ namespace Gecode { namespace Int { void subscribe(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); /// Cancel subscription of propagator \a p for all tasks void cancel(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); //@} /// \name Cloning @@ -224,7 +228,7 @@ namespace Gecode { namespace Int { */ template std::basic_ostream& - operator <<(std::basic_ostream& os, + operator <<(std::basic_ostream& os, const TaskArray& t); @@ -269,7 +273,7 @@ namespace Gecode { namespace Int { */ template std::basic_ostream& - operator <<(std::basic_ostream& os, + operator <<(std::basic_ostream& os, const TaskViewArray& t); }} @@ -359,7 +363,7 @@ namespace Gecode { namespace Int { /// Safe addition in case \a x is -Int::Limits::double_infinity double plus(double x, double y); - + /// Task trees for task views with node type \a Node template class TaskTree { @@ -420,7 +424,7 @@ namespace Gecode { namespace Int { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template + template class TaskProp : public Propagator { protected: /// Tasks @@ -428,27 +432,109 @@ namespace Gecode { namespace Int { /// Constructor for creation TaskProp(Home home, TaskArray& t); /// Constructor for cloning \a p - TaskProp(Space& home, bool shared, TaskProp& p); + TaskProp(Space& home, bool shared, TaskProp& p); public: /// Cost function (defined as high linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; /// Purge optional tasks that are excluded and possibly rewrite propagator - template + template ExecStatus purge(Space& home, Propagator& p, TaskArray& t); /// Purge optional tasks that are excluded and possibly rewrite propagator - template + template ExecStatus purge(Space& home, Propagator& p, TaskArray& t, Cap c); + /// Class for defining basic propagation level + class PLB { + public: + /// Perform basic propagation + static const bool basic = true; + /// Do not perform advanced propagation + static const bool advanced = false; + /// For basic propagation, domain operations are needed + static const PropCond pc = PC_INT_DOM; + }; + + /// Class for defining advanced propagation level + class PLA { + public: + /// Perform basic propagation + static const bool basic = false; + /// Do not perform advanced propagation + static const bool advanced = true; + /// For basic propagation, domain operations are needed + static const PropCond pc = PC_INT_BND; + }; + + /// Class for defining basic and advanced propagation level + class PLBA { + public: + /// Perform basic propagation + static const bool basic = true; + /// Do not perform advanced propagation + static const bool advanced = true; + /// For basic propagation, domain operations are needed + static const PropCond pc = PC_INT_DOM; + }; + }} #include #include +namespace Gecode { namespace Int { + + /// Time-tabling event for task + class Event { + public: + /// Event type for task with order in which they are processed + enum Type { + LRT = 0, ///< Latest required time of task + LCT = 1, ///< Latest completion time of task + EST = 2, ///< Earliest start time of task + ZRO = 3, ///< Zero-length task start time + ERT = 4, ///< Earliest required time of task + END = 5 ///< End marker + }; + protected: + /// Combines type and number of task + unsigned int ei; + /// Time of event + int t; + public: + /// Initialize event + void init(Type e, int t, int i); + /// Return event type + Type type(void) const; + /// Return event time + int time(void) const; + /// Return event index + int idx(void) const; + /// Order among events + bool operator <(const Event& e) const; + /// Allocate from \a r and initialize event array with tasks \a t + template + static Event* events(Region& r, const TaskArray& t, bool& assigned); + /// Allocate from \a r and initialize event array with assigned tasks \a t only + template + static Event* events(Region& r, const TaskArray& t); + }; + + /// Print event \a e on stream \a os + template + std::basic_ostream& + operator <<(std::basic_ostream& os, const Event& e); + +}} + +#include + #endif // STATISTICS: int-prop diff --git a/gecode/int/task/array.hpp b/gecode/int/task/array.hpp index 150f1dc596..e3def2195f 100755 --- a/gecode/int/task/array.hpp +++ b/gecode/int/task/array.hpp @@ -43,7 +43,7 @@ namespace Gecode { namespace Int { template forceinline - TaskArray::TaskArray(void) + TaskArray::TaskArray(void) : n(0), t(NULL) {} template forceinline @@ -56,14 +56,14 @@ namespace Gecode { namespace Int { TaskArray::TaskArray(const TaskArray& a) : n(a.n), t(a.t) {} template - forceinline const TaskArray& + forceinline const TaskArray& TaskArray::operator =(const TaskArray& a) { n=a.n; t=a.t; return *this; } template - forceinline int + forceinline int TaskArray::size(void) const { return n; } @@ -74,34 +74,41 @@ namespace Gecode { namespace Int { } template - forceinline Task& + forceinline Task& TaskArray::operator [](int i) { assert((i >= 0) && (i < n)); return t[i]; } template - forceinline const Task& + forceinline const Task& TaskArray::operator [](int i) const { assert((i >= 0) && (i < n)); return t[i]; } template - inline void + forceinline void TaskArray::subscribe(Space& home, Propagator& p, PropCond pc) { for (int i=n; i--; ) t[i].subscribe(home,p,pc); } template - inline void + forceinline void TaskArray::cancel(Space& home, Propagator& p, PropCond pc) { for (int i=n; i--; ) t[i].cancel(home,p,pc); } template - forceinline void + forceinline void + TaskArray::reschedule(Space& home, Propagator& p, PropCond pc) { + for (int i=n; i--; ) + t[i].reschedule(home,p,pc); + } + + template + forceinline void TaskArray::update(Space& home, bool share, TaskArray& a) { n=a.n; t=home.alloc(n); for (int i=n; i--; ) @@ -111,7 +118,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& - operator <<(std::basic_ostream& os, + operator <<(std::basic_ostream& os, const TaskArray& t) { std::basic_ostringstream s; s.copyfmt(os); s.width(0); @@ -135,7 +142,7 @@ namespace Gecode { namespace Int { : t(t0) {} template - forceinline int + forceinline int TaskViewArray::size(void) const { return t.size(); } @@ -159,7 +166,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& - operator <<(std::basic_ostream& os, + operator <<(std::basic_ostream& os, const TaskViewArray& t) { std::basic_ostringstream s; s.copyfmt(os); s.width(0); diff --git a/gecode/int/task/event.hpp b/gecode/int/task/event.hpp new file mode 100755 index 0000000000..d40d539816 --- /dev/null +++ b/gecode/int/task/event.hpp @@ -0,0 +1,161 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { + + forceinline void + Event::init(Event::Type e0, int t0, int i0) { + ei=static_cast(e0 | (i0 << 3)); t=t0; + } + + forceinline Event::Type + Event::type(void) const { + return static_cast(ei & 7); + } + forceinline int + Event::time(void) const { + return t; + } + forceinline int + Event::idx(void) const { + return static_cast(ei >> 3);; + } + + forceinline bool + Event::operator <(const Event& e) const { + if (time() == e.time()) + return type() < e.type(); + return time() < e.time(); + } + + + template + inline std::basic_ostream& + operator <<(std::basic_ostream& os, const Event& e) { + std::basic_ostringstream s; + s.copyfmt(os); s.width(0); + s << '['; + switch (e.type()) { + case Event::LRT: s << "LRT"; break; + case Event::LCT: s << "LCT"; break; + case Event::EST: s << "EST"; break; + case Event::ZRO: s << "ZRO"; break; + case Event::ERT: s << "ERT"; break; + default: GECODE_NEVER; + } + s << ',' << e.time() << ',' << e.idx() << ']'; + return os << s.str(); + } + + + template + forceinline Event* + Event::events(Region& r, const TaskArray& t, bool& assigned) { + Event* e = r.alloc(4*t.size()+1); + + // Initialize events + assigned=true; + bool required=false; + + int n=0; + for (int i=t.size(); i--; ) + if (t[i].assigned()) { + // Only add required part + if (t[i].pmin() > 0) { + required = true; + e[n++].init(Event::ERT,t[i].lst(),i); + e[n++].init(Event::LRT,t[i].ect(),i); + } else if (t[i].pmax() == 0) { + required = true; + e[n++].init(Event::ZRO,t[i].lst(),i); + } + } else { + assigned = false; + e[n++].init(Event::EST,t[i].est(),i); + e[n++].init(Event::LCT,t[i].lct(),i); + // Check whether task has required part + if (t[i].lst() < t[i].ect()) { + required = true; + e[n++].init(Event::ERT,t[i].lst(),i); + e[n++].init(Event::LRT,t[i].ect(),i); + } + } + + if (!required) + return NULL; + + // Sort events + Support::quicksort(e, n); + + // Write end marker + e[n++].init(Event::END,Limits::infinity,0); + + return e; + } + + template + forceinline Event* + Event::events(Region& r, const TaskArray& t) { + Event* e = r.alloc(2*t.size()+1); + + // Only add assigned and mandatory tasks + int n=0; + for (int i=t.size(); i--; ) + if (t[i].assigned() && t[i].mandatory()) { + if (t[i].pmin() > 0) { + e[n++].init(Event::ERT,t[i].lst(),i); + e[n++].init(Event::LRT,t[i].ect(),i); + } else if (t[i].pmax() == 0) { + e[n++].init(Event::ZRO,t[i].lst(),i); + } + } else { + assert(!t[i].excluded()); + return NULL; + } + + // Sort events + Support::quicksort(e, n); + + // Write end marker + e[n++].init(Event::END,Limits::infinity,0); + + return e; + } + +}} + +// STATISTICS: int-prop diff --git a/gecode/int/task/fwd-to-bwd.hpp b/gecode/int/task/fwd-to-bwd.hpp index cf8c606f30..cacb0b2e94 100755 --- a/gecode/int/task/fwd-to-bwd.hpp +++ b/gecode/int/task/fwd-to-bwd.hpp @@ -41,7 +41,7 @@ namespace Gecode { namespace Int { * Task mapper: map forward task to view to backward task View */ template - forceinline int + forceinline int FwdToBwd::est(void) const { return -TaskView::lct(); } @@ -72,7 +72,7 @@ namespace Gecode { namespace Int { } template - forceinline ModEvent + forceinline ModEvent FwdToBwd::est(Space& home, int n) { return TaskView::lct(home,-n); } diff --git a/gecode/int/task/iter.hpp b/gecode/int/task/iter.hpp index 513efeceeb..b83b5033cc 100755 --- a/gecode/int/task/iter.hpp +++ b/gecode/int/task/iter.hpp @@ -82,7 +82,7 @@ namespace Gecode { namespace Int { for (int j=t.size(); j--; ) if (t[j].mandatory()) map[i++]=j; - sort(map,i,t); + sort(map,i,t); i--; } diff --git a/gecode/int/task/man-to-opt.hpp b/gecode/int/task/man-to-opt.hpp index 2ef11a87c2..1866aead03 100755 --- a/gecode/int/task/man-to-opt.hpp +++ b/gecode/int/task/man-to-opt.hpp @@ -64,19 +64,19 @@ namespace Gecode { namespace Int { } template - forceinline ModEvent + forceinline ModEvent ManToOptTask::mandatory(Space& home) { return _m.one(home); } template - forceinline ModEvent + forceinline ModEvent ManToOptTask::excluded(Space& home) { return _m.zero(home); } template forceinline void - ManToOptTask::update(Space& home, bool share, + ManToOptTask::update(Space& home, bool share, ManToOptTask& t) { ManTask::update(home, share, t); _m.update(home,share,t._m); @@ -86,15 +86,22 @@ namespace Gecode { namespace Int { forceinline void ManToOptTask::subscribe(Space& home, Propagator& p, PropCond pc) { ManTask::subscribe(home, p, pc); - _m.subscribe(home, p, Int::PC_BOOL_VAL); + _m.subscribe(home, p, PC_BOOL_VAL); } template forceinline void ManToOptTask::cancel(Space& home, Propagator& p, PropCond pc) { - _m.cancel(home, p, Int::PC_BOOL_VAL); + _m.cancel(home, p, PC_BOOL_VAL); ManTask::cancel(home, p, pc); } + template + forceinline void + ManToOptTask::reschedule(Space& home, Propagator& p, PropCond pc) { + _m.reschedule(home, p, PC_BOOL_VAL); + ManTask::reschedule(home, p, pc); + } + }} // STATISTICS: int-var diff --git a/gecode/int/task/prop.hpp b/gecode/int/task/prop.hpp index 14ce05c44d..a53c23981a 100755 --- a/gecode/int/task/prop.hpp +++ b/gecode/int/task/prop.hpp @@ -37,30 +37,36 @@ namespace Gecode { namespace Int { - template + template forceinline - TaskProp::TaskProp(Home home, TaskArray& t0) + TaskProp::TaskProp(Home home, TaskArray& t0) : Propagator(home), t(t0) { - t.subscribe(home,*this,pc); + t.subscribe(home,*this,PL::pc); } - template + template forceinline - TaskProp::TaskProp(Space& home, bool shared, TaskProp& p) + TaskProp::TaskProp(Space& home, bool shared, TaskProp& p) : Propagator(home,shared,p) { t.update(home,shared,p.t); } - template - PropCost - TaskProp::cost(const Space&, const ModEventDelta&) const { + template + PropCost + TaskProp::cost(const Space&, const ModEventDelta&) const { return PropCost::linear(PropCost::HI,t.size()); } - template - forceinline size_t - TaskProp::dispose(Space& home) { - t.cancel(home,*this,pc); + template + void + TaskProp::reschedule(Space& home) { + t.reschedule(home,*this,PL::pc); + } + + template + forceinline size_t + TaskProp::dispose(Space& home) { + t.cancel(home,*this,PL::pc); (void) Propagator::dispose(home); return sizeof(*this); } diff --git a/gecode/int/task/purge.hpp b/gecode/int/task/purge.hpp index 962c66d17d..6f602bcc2d 100755 --- a/gecode/int/task/purge.hpp +++ b/gecode/int/task/purge.hpp @@ -37,26 +37,26 @@ namespace Gecode { namespace Int { - template + template ExecStatus purge(Space& home, Propagator& p, TaskArray& t) { int n=t.size(); for (int i=n; i--; ) if (t[i].excluded()) { - t[i].cancel(home,p,pc); t[i]=t[--n]; + t[i].cancel(home,p,PL::pc); t[i]=t[--n]; } t.size(n); return (t.size() < 2) ? home.ES_SUBSUMED(p) : ES_OK; } - template + template ExecStatus purge(Space& home, Propagator& p, TaskArray& t, Cap c) { int n=t.size(); for (int i=n; i--; ) if (t[i].excluded()) { - t[i].cancel(home,p,pc); t[i]=t[--n]; + t[i].cancel(home,p,PL::pc); t[i]=t[--n]; } t.size(n); if (t.size() == 1) { @@ -68,7 +68,7 @@ namespace Gecode { namespace Int { return (t.size() < 2) ? home.ES_SUBSUMED(p) : ES_OK; } - + }} // STATISTICS: int-prop diff --git a/gecode/int/task/sort.hpp b/gecode/int/task/sort.hpp index 4b46fc921f..25ebc74a43 100755 --- a/gecode/int/task/sort.hpp +++ b/gecode/int/task/sort.hpp @@ -94,7 +94,7 @@ namespace Gecode { namespace Int { (t1.est() < t2.est() || (t1.est()==t2.est() && t1.lct() < t2.lct())) : (t2.est() < t1.est() || (t2.est()==t1.est() && t2.lct() < t1.lct())); } - + template forceinline bool StoEct::operator () @@ -103,7 +103,7 @@ namespace Gecode { namespace Int { (t1.ect() < t2.ect() || (t1.ect()==t2.ect() && t1.lst() < t2.lst())) : (t2.ect() < t1.ect() || (t2.ect()==t1.ect() && t2.lst() < t1.lst())); } - + template forceinline bool StoLst::operator () @@ -112,7 +112,7 @@ namespace Gecode { namespace Int { (t1.lst() < t2.lst() || (t1.lst()==t2.lst() && t1.ect() < t2.ect())) : (t2.lst() < t1.lst() || (t2.lst()==t1.lst() && t2.ect() < t1.ect())); } - + template forceinline bool StoLct::operator () @@ -124,16 +124,16 @@ namespace Gecode { namespace Int { template class STO, bool inc> forceinline - SortMap::SortMap(const TaskViewArray& t) + SortMap::SortMap(const TaskViewArray& t) : tasks(t) {} template class STO, bool inc> - forceinline bool + forceinline bool SortMap::operator ()(int& i, int& j) const { return sto(tasks[i],tasks[j]); } template - forceinline void + forceinline void sort(TaskViewArray& t) { switch (sto) { case STO_EST: @@ -169,25 +169,25 @@ namespace Gecode { namespace Int { switch (sto) { case STO_EST: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, t.size(), o); } break; case STO_ECT: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, t.size(), o); } break; case STO_LST: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, t.size(), o); } break; case STO_LCT: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, t.size(), o); } break; @@ -202,25 +202,25 @@ namespace Gecode { namespace Int { switch (sto) { case STO_EST: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, n, o); } break; case STO_ECT: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, n, o); } break; case STO_LST: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, n, o); } break; case STO_LCT: { - SortMap o(t); + SortMap o(t); Support::quicksort(map, n, o); } break; diff --git a/gecode/int/task/tree.hpp b/gecode/int/task/tree.hpp index 96a47d5d21..f56c57adcb 100755 --- a/gecode/int/task/tree.hpp +++ b/gecode/int/task/tree.hpp @@ -39,41 +39,41 @@ namespace Gecode { namespace Int { - forceinline int + forceinline int plus(int x, int y) { - assert(y != -Int::Limits::infinity); - return (x == -Int::Limits::infinity) ? x : x+y; + assert(y != -Limits::infinity); + return (x == -Limits::infinity) ? x : x+y; } - forceinline long long int + forceinline long long int plus(long long int x, long long int y) { - assert(y != -Int::Limits::llinfinity); - return (x == -Int::Limits::llinfinity) ? x : x+y; + assert(y != -Limits::llinfinity); + return (x == -Limits::llinfinity) ? x : x+y; } template - forceinline int + forceinline int TaskTree::n_inner(void) const { return tasks.size()-1; } template - forceinline int + forceinline int TaskTree::n_nodes(void) const { return 2*tasks.size() - 1; } template - forceinline bool + forceinline bool TaskTree::n_root(int i) { return i == 0; } template - forceinline bool + forceinline bool TaskTree::n_leaf(int i) const { return i >= n_inner(); } template - forceinline int + forceinline int TaskTree::n_left(int i) { return 2*(i+1) - 1; } @@ -142,9 +142,9 @@ namespace Gecode { namespace Int { template forceinline - TaskTree::TaskTree(Region& r, + TaskTree::TaskTree(Region& r, const TaskViewArray& t) - : tasks(t), + : tasks(t), node(r.alloc(n_nodes())), _leaf(r.alloc(tasks.size())) { // Compute a sorting map to order by non decreasing est @@ -169,9 +169,9 @@ namespace Gecode { namespace Int { template template forceinline - TaskTree::TaskTree(Region& r, + TaskTree::TaskTree(Region& r, const TaskTree& t) - : tasks(t.tasks), + : tasks(t.tasks), node(r.alloc(n_nodes())), _leaf(r.alloc(tasks.size())) { for (int i=tasks.size(); i--; ) diff --git a/gecode/int/trace.cpp b/gecode/int/trace.cpp new file mode 100755 index 0000000000..4eb4309e60 --- /dev/null +++ b/gecode/int/trace.cpp @@ -0,0 +1,62 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + void + trace(Home home, const IntVarArgs& x, + TraceFilter tf, int te, IntTracer& t) { + using namespace Gecode::Int; + GECODE_POST; + ViewArray xv(home,x); + GECODE_ES_FAIL(IntTraceRecorder::post(home,xv,tf,te,t)); + } + + void + trace(Home home, const BoolVarArgs& x, + TraceFilter tf, int te, BoolTracer& t) { + using namespace Gecode::Int; + GECODE_POST; + ViewArray xv(home,x); + GECODE_ES_FAIL(BoolTraceRecorder::post(home,xv,tf,te,t)); + } + +} + +// STATISTICS: int-other diff --git a/gecode/int/trace.hpp b/gecode/int/trace.hpp new file mode 100755 index 0000000000..4ae5532952 --- /dev/null +++ b/gecode/int/trace.hpp @@ -0,0 +1,54 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + inline void + trace(Home home, const IntVarArgs& x, + int te, IntTracer& t) { + trace(home,x,TraceFilter::all,te,t); + } + + inline void + trace(Home home, const BoolVarArgs& x, + int te, BoolTracer& t) { + trace(home,x,TraceFilter::all,te,t); + } + +} + +// STATISTICS: int-other diff --git a/gecode/int/trace/bool-delta.hpp b/gecode/int/trace/bool-delta.hpp new file mode 100755 index 0000000000..5bc3d02814 --- /dev/null +++ b/gecode/int/trace/bool-delta.hpp @@ -0,0 +1,67 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + forceinline + BoolTraceDelta::BoolTraceDelta(Int::BoolTraceView, Int::BoolView n, + const Delta&) + : delta(1-n.val()) {} + forceinline bool + BoolTraceDelta::operator ()(void) const { + return delta >= 0; + } + forceinline void + BoolTraceDelta::operator ++(void) { + delta = -1; + } + forceinline int + BoolTraceDelta::min(void) const { + return delta; + } + forceinline int + BoolTraceDelta::max(void) const { + return delta; + } + forceinline unsigned int + BoolTraceDelta::width(void) const { + return 1U; + } + +} + +// STATISTICS: int-other diff --git a/gecode/int/trace/bool-trace-view.hpp b/gecode/int/trace/bool-trace-view.hpp new file mode 100755 index 0000000000..bc4cee3e59 --- /dev/null +++ b/gecode/int/trace/bool-trace-view.hpp @@ -0,0 +1,73 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { + + /// Duplicate of a Boolean view + class BoolTraceView { + public: + /// Default constructor (initializes with no view) + BoolTraceView(void); + /// Duplicate view \a y + BoolTraceView(Space& home, BoolView y); + /// Update duplicated view from view \a y and modification delta \a d + void prune(Space& home, BoolView y, const Delta& d); + /// Update duplicate view during copying + void update(Space&home, bool share, BoolTraceView x); + /// Return slack of \a x + static unsigned int slack(BoolView x); + }; + + + forceinline + BoolTraceView::BoolTraceView(void) {} + forceinline + BoolTraceView::BoolTraceView(Space&, BoolView) {} + forceinline void + BoolTraceView::prune(Space&, BoolView, const Delta&) {} + forceinline void + BoolTraceView::update(Space&, bool, BoolTraceView) {} + forceinline unsigned int + BoolTraceView::slack(BoolView x) { + return x.width()-1; + } + + + +}} + +// STATISTICS: int-other diff --git a/gecode/int/trace/int-delta.hpp b/gecode/int/trace/int-delta.hpp new file mode 100755 index 0000000000..8146fb5d2b --- /dev/null +++ b/gecode/int/trace/int-delta.hpp @@ -0,0 +1,49 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + forceinline + IntTraceDelta::IntTraceDelta(Int::IntTraceView o, Int::IntView n, + const Delta&) + : rn(n), ro(o.ranges()) { + init(ro,rn); + } + +} + +// STATISTICS: int-other diff --git a/gecode/int/trace/int-trace-view.hpp b/gecode/int/trace/int-trace-view.hpp new file mode 100755 index 0000000000..66121134a8 --- /dev/null +++ b/gecode/int/trace/int-trace-view.hpp @@ -0,0 +1,126 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { + + /// Duplicate of an integer view + class IntTraceView { + protected: + /// Ranges capturing the variable domain + RangeList* dom; + public: + /// Default constructor (initializes with no view) + IntTraceView(void); + /// Duplicate view \a y + IntTraceView(Space& home, IntView y); + /// Give access to ranges + RangeList* ranges(void) const; + /// Update duplicated view from view \a y and modification delta \a d + void prune(Space& home, IntView y, const Delta& d); + /// Update during cloning + void update(Space& home, bool share, IntTraceView x); + /// Return slack measure + static unsigned long long int slack(IntView x); + }; + + forceinline + IntTraceView::IntTraceView(void) {} + + forceinline + IntTraceView::IntTraceView(Space& home, IntView y) { + ViewRanges yr(y); + RangeList::copy(home, dom, yr); + } + + forceinline RangeList* + IntTraceView::ranges(void) const { + return dom; + } + + forceinline void + IntTraceView::prune(Space& home, IntView y, const Delta& d) { + if (y.range() && (dom->next() == NULL)) { + dom->min(y.min()); dom->max(y.max()); + } else if (!y.any(d) && (y.max(d)+1 == y.min())) { + // The lower bound has been adjusted + if (y.min() > dom->max()) { + RangeList* p = dom; + RangeList* l = p->next(); + while ((l != NULL) && (l->max() < y.min())) { + p=l; l=l->next(); + } + dom->dispose(home,p); + dom = l; + } + dom->min(y.min()); + } else if (!y.any(d) && (y.max()+1 == y.min(d))) { + // upper bound has been adjusted + if ((y.max() <= dom->max()) && (dom->next() == NULL)) { + dom->max(y.max()); + } else { + RangeList* p = dom; + RangeList* l = p->next(); + while ((l != NULL) && (l->min() <= y.max())) { + p=l; l=l->next(); + } + p->max(y.max()); + if (p->next() != NULL) + p->next()->dispose(home); + p->next(NULL); + } + } else { + // Just copy the domain + ViewRanges yr(y); + RangeList::overwrite(home,dom,yr); + } + } + + forceinline void + IntTraceView::update(Space& home, bool, IntTraceView y) { + Iter::Ranges::RangeList yr(y.dom); + RangeList::copy(home,dom,yr); + } + + forceinline unsigned long long int + IntTraceView::slack(IntView x) { + return x.width()-1; + } + + +}} + +// STATISTICS: int-other diff --git a/gecode/int/trace/tracer.cpp b/gecode/int/trace/tracer.cpp new file mode 100755 index 0000000000..c8ed3d8846 --- /dev/null +++ b/gecode/int/trace/tracer.cpp @@ -0,0 +1,167 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { + + StdIntTracer::StdIntTracer(std::ostream& os0) + : os(os0) {} + + void + StdIntTracer::init(const Space&, const IntTraceRecorder& t) { + os << "trace::init(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 100.00% (" << t.slack().initial() << " values)" + << std::endl; + } + + void + StdIntTracer::prune(const Space&, const IntTraceRecorder& t, + const ExecInfo& ei, int i, IntTraceDelta& d) { + os << "trace::prune(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << "): [" << i << "] = " << t[i] << " - {"; + os << d.min(); + if (d.width() > 1) + os << ".." << d.max(); + ++d; + while (d()) { + os << ',' << d.min(); + if (d.width() > 1) + os << ".." << d.max(); + ++d; + } + os << "} by " << ei << std::endl; + } + + void + StdIntTracer::fix(const Space&, const IntTraceRecorder& t) { + os << "trace::fix(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: "; + double sl_i = static_cast(t.slack().initial()); + double sl_p = static_cast(t.slack().previous()); + double sl_c = static_cast(t.slack().current()); + double p_c = 100.0 * (sl_c / sl_i); + double p_d = 100.0 * (sl_p / sl_i) - p_c; + os << std::showpoint << std::setprecision(4) + << p_c << "% - " + << std::showpoint << std::setprecision(4) + << p_d << '%' + << std::endl; + } + + void + StdIntTracer::done(const Space&, const IntTraceRecorder& t) { + os << "trace::done(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 0%" << std::endl; + } + + StdIntTracer StdIntTracer::def; + + + + StdBoolTracer::StdBoolTracer(std::ostream& os0) + : os(os0) {} + + void + StdBoolTracer::init(const Space&, const BoolTraceRecorder& t) { + os << "trace::init(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 100% (" << t.slack().initial() << " values)" + << std::endl; + } + + void + StdBoolTracer::prune(const Space&, const BoolTraceRecorder& t, + const ExecInfo& ei, int i, BoolTraceDelta& d) { + os << "trace::prune(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << "): [" << i << "] = " << t[i] << " - {"; + os << d.min(); + if (d.width() > 1) + os << ".." << d.max(); + ++d; + while (d()) { + os << ',' << d.min(); + if (d.width() > 1) + os << ".." << d.max(); + ++d; + } + os << "} by " << ei << std::endl; + } + + void + StdBoolTracer::fix(const Space&, const BoolTraceRecorder& t) { + os << "trace::fix(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: "; + double sl_i = static_cast(t.slack().initial()); + double sl_p = static_cast(t.slack().previous()); + double sl_c = static_cast(t.slack().current()); + double p_c = 100.0 * (sl_c / sl_i); + double p_d = 100.0 * (sl_p / sl_i) - p_c; + os << std::showpoint << std::setprecision(4) + << p_c << "% - " + << std::showpoint << std::setprecision(4) + << p_d << '%' + << std::endl; + } + + void + StdBoolTracer::done(const Space&, const BoolTraceRecorder& t) { + os << "trace::done(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 0%" << std::endl; + } + + StdBoolTracer StdBoolTracer::def; + +} + +// STATISTICS: int-other diff --git a/gecode/int/trace/traits.hpp b/gecode/int/trace/traits.hpp new file mode 100755 index 0000000000..92a2cf74fb --- /dev/null +++ b/gecode/int/trace/traits.hpp @@ -0,0 +1,60 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + /// Trace traits for integer views + template<> + class TraceTraits { + public: + typedef Int::IntTraceView TraceView; + typedef IntTraceDelta TraceDelta; + typedef unsigned long long int SlackValue; + }; + + /// Trace traits for Boolean views + template<> + class TraceTraits { + public: + typedef Int::BoolTraceView TraceView; + typedef BoolTraceDelta TraceDelta; + typedef unsigned int SlackValue; + }; + +} + +// STATISTICS: int-other diff --git a/gecode/int/unary.cpp b/gecode/int/unary.cpp index 332fb1dcd4..1d9316ce6e 100755 --- a/gecode/int/unary.cpp +++ b/gecode/int/unary.cpp @@ -45,7 +45,7 @@ namespace Gecode { void - unary(Home home, const IntVarArgs& s, const IntArgs& p, IntConLevel icl) { + unary(Home home, const IntVarArgs& s, const IntArgs& p, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Unary; if (s.same(home)) @@ -57,7 +57,7 @@ namespace Gecode { Int::Limits::check(static_cast(s[i].max()) + p[i], "Int::unary"); } - if (home.failed()) return; + GECODE_POST; bool allOne = true; for (int i=p.size(); i--;) { if (p[i] != 1) { @@ -67,11 +67,11 @@ namespace Gecode { } if (allOne) { ViewArray xv(home,s); - switch (icl) { - case ICL_BND: + switch (vbd(ipl)) { + case IPL_BND: GECODE_ES_FAIL(Distinct::Bnd::post(home,xv)); break; - case ICL_DOM: + case IPL_DOM: GECODE_ES_FAIL(Distinct::Dom::post(home,xv)); break; default: @@ -81,13 +81,13 @@ namespace Gecode { TaskArray t(home,s.size()); for (int i=s.size(); i--; ) t[i].init(s[i],p[i]); - GECODE_ES_FAIL(ManProp::post(home,t)); + GECODE_ES_FAIL(manpost(home,t,ipl)); } } void unary(Home home, const TaskTypeArgs& t, - const IntVarArgs& flex, const IntArgs& fix, IntConLevel icl) { + const IntVarArgs& flex, const IntArgs& fix, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Unary; if ((flex.size() != fix.size()) || (flex.size() != t.size())) @@ -100,25 +100,25 @@ namespace Gecode { Int::Limits::check(static_cast(flex[i].max()) + fix[i], "Int::unary"); } - if (home.failed()) return; + GECODE_POST; bool fixp = true; for (int i=t.size(); i--;) if (t[i] != TT_FIXP) { fixp = false; break; } if (fixp) { - unary(home, flex, fix, icl); + unary(home, flex, fix, ipl); } else { TaskArray tasks(home,flex.size()); for (int i=flex.size(); i--;) tasks[i].init(t[i],flex[i],fix[i]); - GECODE_ES_FAIL(ManProp::post(home,tasks)); + GECODE_ES_FAIL(manpost(home,tasks,ipl)); } } void - unary(Home home, const IntVarArgs& s, const IntArgs& p, - const BoolVarArgs& m, IntConLevel icl) { + unary(Home home, const IntVarArgs& s, const IntArgs& p, + const BoolVarArgs& m, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Unary; if (s.same(home)) @@ -138,20 +138,20 @@ namespace Gecode { } } if (allMandatory) { - unary(home,s,p,icl); + unary(home,s,p,ipl); } else { - if (home.failed()) return; + GECODE_POST; TaskArray t(home,s.size()); for (int i=s.size(); i--; ) t[i].init(s[i],p[i],m[i]); - GECODE_ES_FAIL(OptProp::post(home,t)); + GECODE_ES_FAIL(optpost(home,t,ipl)); } } void unary(Home home, const TaskTypeArgs& t, - const IntVarArgs& flex, const IntArgs& fix, const BoolVarArgs& m, - IntConLevel icl) { + const IntVarArgs& flex, const IntArgs& fix, const BoolVarArgs& m, + IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Unary; if ((flex.size() != fix.size()) || (flex.size() != t.size()) || @@ -168,7 +168,7 @@ namespace Gecode { Int::Limits::check(static_cast(flex[i].max()) + fix[i], "Int::unary"); } - if (home.failed()) return; + GECODE_POST; bool allMandatory = true; for (int i=m.size(); i--;) { if (!m[i].one()) { @@ -177,30 +177,30 @@ namespace Gecode { } } if (allMandatory) { - unary(home,t,flex,fix,icl); + unary(home,t,flex,fix,ipl); } else { if (fixp) { TaskArray tasks(home,flex.size()); for (int i=flex.size(); i--; ) tasks[i].init(flex[i],fix[i],m[i]); - GECODE_ES_FAIL(OptProp::post(home,tasks)); + GECODE_ES_FAIL(optpost(home,tasks,ipl)); } else { TaskArray tasks(home,flex.size()); for (int i=flex.size(); i--;) tasks[i].init(t[i],flex[i],fix[i],m[i]); - GECODE_ES_FAIL(OptProp::post(home,tasks)); + GECODE_ES_FAIL(optpost(home,tasks,ipl)); } } } void unary(Home home, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, IntConLevel icl) { + const IntVarArgs& e, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Unary; if ((s.size() != p.size()) || (s.size() != e.size())) throw Int::ArgumentSizeMismatch("Int::unary"); - if (home.failed()) return; + GECODE_POST; for (int i=p.size(); i--; ) { rel(home, p[i], IRT_GQ, 0); } @@ -215,24 +215,24 @@ namespace Gecode { IntArgs pp(p.size()); for (int i=p.size(); i--;) pp[i] = p[i].val(); - unary(home,s,pp,icl); + unary(home,s,pp,ipl); } else { TaskArray t(home,s.size()); for (int i=s.size(); i--; ) t[i].init(s[i],p[i],e[i]); - GECODE_ES_FAIL(ManProp::post(home,t)); + GECODE_ES_FAIL(manpost(home,t,ipl)); } } void - unary(Home home, const IntVarArgs& s, const IntVarArgs& p, - const IntVarArgs& e, const BoolVarArgs& m, IntConLevel icl) { + unary(Home home, const IntVarArgs& s, const IntVarArgs& p, + const IntVarArgs& e, const BoolVarArgs& m, IntPropLevel ipl) { using namespace Gecode::Int; using namespace Gecode::Int::Unary; if ((s.size() != p.size()) || (s.size() != m.size()) || (s.size() != e.size())) throw Int::ArgumentSizeMismatch("Int::unary"); - if (home.failed()) return; + GECODE_POST; for (int i=p.size(); i--; ) { rel(home, p[i], IRT_GQ, 0); } @@ -244,12 +244,12 @@ namespace Gecode { } } if (allMandatory) { - unary(home,s,p,e,icl); + unary(home,s,p,e,ipl); } else { TaskArray t(home,s.size()); for (int i=s.size(); i--; ) t[i].init(s[i],p[i],e[i],m[i]); - GECODE_ES_FAIL(OptProp::post(home,t)); + GECODE_ES_FAIL(optpost(home,t,ipl)); } } diff --git a/gecode/int/unary.hh b/gecode/int/unary.hh index 63de8218cc..02a679f450 100755 --- a/gecode/int/unary.hh +++ b/gecode/int/unary.hh @@ -46,7 +46,7 @@ * \namespace Gecode::Int::Unary * * The algorithms and data structures follow (mostly): - * Petr Vilím, Global Constraints in Int, PhD thesis, + * Petr Vilím, Global Constraints in Int, PhD thesis, * Charles University, Prague, Czech Republic, 2007. * * \brief %Int for unary resources @@ -131,9 +131,11 @@ namespace Gecode { namespace Int { namespace Unary { /// \name Dependencies //@{ /// Subscribe propagator \a p to task - void subscribe(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); + void subscribe(Space& home, Propagator& p, PropCond pc); /// Cancel subscription of propagator \a p for task - void cancel(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); + void cancel(Space& home, Propagator& p, PropCond pc); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); //@} }; @@ -351,9 +353,11 @@ namespace Gecode { namespace Int { namespace Unary { /// \name Dependencies //@{ /// Subscribe propagator \a p to task - void subscribe(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); + void subscribe(Space& home, Propagator& p, PropCond pc); /// Cancel subscription of propagator \a p for task - void cancel(Space& home, Propagator& p, PropCond pc=Int::PC_INT_BND); + void cancel(Space& home, Propagator& p, PropCond pc); + /// Schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); //@} }; @@ -474,7 +478,7 @@ namespace Gecode { namespace Int { namespace Unary { operator <<(std::basic_ostream& os, const ManFlexTaskBwd& t); /** - * \brief Print optional backward task view in format + * \brief Print optional backward task view in format * est:lst:pmin:pmax:ect:lct:m * * \relates OptFlexTaskBwd @@ -721,7 +725,7 @@ namespace Gecode { namespace Int { namespace Unary { using TaskTree::update; public: /// Initialize tree for tasks \a t with all tasks included, if \a inc is true - OmegaLambdaTree(Region& r, const TaskViewArray& t, + OmegaLambdaTree(Region& r, const TaskViewArray& t, bool inc=true); /// Shift task with index \a i from omega to lambda void shift(int i); @@ -751,9 +755,13 @@ namespace Gecode { namespace Int { namespace Unary { template ExecStatus overload(Space& home, TaskArray& t); /// Check optional tasks \a t for overload - template + template ExecStatus overload(Space& home, Propagator& p, TaskArray& t); + /// Perform time-tabling propagation + template + ExecStatus timetabling(Space& home, Propagator& p, TaskArray& t); + /// Check tasks \a t for subsumption template ExecStatus subsumed(Space& home, Propagator& p, TaskArray& t); @@ -762,17 +770,17 @@ namespace Gecode { namespace Int { namespace Unary { template ExecStatus detectable(Space& home, TaskArray& t); /// Propagate detectable precedences - template + template ExecStatus detectable(Space& home, Propagator& p, TaskArray& t); /// Propagate not-first and not-last template ExecStatus notfirstnotlast(Space& home, TaskArray& t); /// Propagate not-first and not-last - template + template ExecStatus notfirstnotlast(Space& home, Propagator& p, TaskArray& t); - /// Propagate by edge finding + /// Propagate by edge-finding template ExecStatus edgefinding(Space& home, TaskArray& t); @@ -783,10 +791,10 @@ namespace Gecode { namespace Int { namespace Unary { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class ManProp : public TaskProp { + template + class ManProp : public TaskProp { protected: - using TaskProp::t; + using TaskProp::t; /// Constructor for creation ManProp(Home home, TaskArray& t); /// Constructor for cloning \a p @@ -806,10 +814,10 @@ namespace Gecode { namespace Int { namespace Unary { * Requires \code #include \endcode * \ingroup FuncIntProp */ - template - class OptProp : public TaskProp { + template + class OptProp : public TaskProp { protected: - using TaskProp::t; + using TaskProp::t; /// Constructor for creation OptProp(Home home, TaskArray& t); /// Constructor for cloning \a p @@ -823,9 +831,20 @@ namespace Gecode { namespace Int { namespace Unary { static ExecStatus post(Home home, TaskArray& t); }; + /// Post mandatory task propagator according to propagation level + template + ExecStatus + manpost(Home home, TaskArray& t, IntPropLevel ipl); + + /// Post optional task propagator according to propagation level + template + ExecStatus + optpost(Home home, TaskArray& t, IntPropLevel ipl); + }}} #include +#include #include #include #include @@ -833,6 +852,7 @@ namespace Gecode { namespace Int { namespace Unary { #include #include +#include #endif diff --git a/gecode/int/unary/detectable.hpp b/gecode/int/unary/detectable.hpp index 2357543389..83c7b1821e 100755 --- a/gecode/int/unary/detectable.hpp +++ b/gecode/int/unary/detectable.hpp @@ -57,10 +57,10 @@ namespace Gecode { namespace Int { namespace Unary { for (int i=t.size(); i--; ) GECODE_ME_CHECK(t[i].est(home,est[i])); - + return ES_OK; } - + template ExecStatus detectable(Space& home, TaskArray& t) { @@ -71,7 +71,7 @@ namespace Gecode { namespace Int { namespace Unary { } - template + template forceinline ExecStatus detectable(Space& home, Propagator& p, TaskViewArray& t) { sort(t); @@ -95,20 +95,22 @@ namespace Gecode { namespace Int { namespace Unary { GECODE_ME_CHECK(t[i].est(home,est[i])); } else if (est[i] > t[i].lst()) { GECODE_ME_CHECK(t[i].excluded(home)); - t[i].cancel(home,p,Int::PC_INT_BND); t[i]=t[--n]; + t[i].cancel(home,p,PL::pc); t[i]=t[--n]; } t.size(n); return (t.size() < 2) ? home.ES_SUBSUMED(p) : ES_OK; } - - template + + template ExecStatus detectable(Space& home, Propagator& p, TaskArray& t) { TaskViewArray::TaskViewFwd> f(t); - GECODE_ES_CHECK(detectable(home,p,f)); + GECODE_ES_CHECK((detectable::TaskViewFwd,PL> + (home,p,f))); TaskViewArray::TaskViewBwd> b(t); - return detectable(home,p,b); + return detectable::TaskViewBwd,PL> + (home,p,b); } }}} diff --git a/gecode/int/unary/edge-finding.hpp b/gecode/int/unary/edge-finding.hpp index 58ecffc739..0b8c6dd2e5 100755 --- a/gecode/int/unary/edge-finding.hpp +++ b/gecode/int/unary/edge-finding.hpp @@ -72,7 +72,7 @@ namespace Gecode { namespace Int { namespace Unary { TaskViewArray::TaskViewBwd> b(t); return edgefinding(home,b); } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/unary/man-prop.hpp b/gecode/int/unary/man-prop.hpp index 2c54356b82..6d66962d41 100755 --- a/gecode/int/unary/man-prop.hpp +++ b/gecode/int/unary/man-prop.hpp @@ -36,40 +36,49 @@ */ namespace Gecode { namespace Int { namespace Unary { - - template + + template forceinline - ManProp::ManProp(Home home, TaskArray& t) - : TaskProp(home,t) {} + ManProp::ManProp(Home home, TaskArray& t) + : TaskProp(home,t) {} - template + template forceinline - ManProp::ManProp(Space& home, bool shared, - ManProp& p) - : TaskProp(home,shared,p) {} + ManProp::ManProp(Space& home, bool shared, + ManProp& p) + : TaskProp(home,shared,p) {} - template - forceinline ExecStatus - ManProp::post(Home home, TaskArray& t) { + template + forceinline ExecStatus + ManProp::post(Home home, TaskArray& t) { if (t.size() > 1) - (void) new (home) ManProp(home,t); + (void) new (home) ManProp(home,t); return ES_OK; } - template - Actor* - ManProp::copy(Space& home, bool share) { - return new (home) ManProp(home,share,*this); + template + Actor* + ManProp::copy(Space& home, bool share) { + return new (home) ManProp(home,share,*this); } - template - ExecStatus - ManProp::propagate(Space& home, const ModEventDelta&) { + template + ExecStatus + ManProp::propagate(Space& home, const ModEventDelta&) { GECODE_ES_CHECK(overload(home,t)); - GECODE_ES_CHECK(detectable(home,t)); - GECODE_ES_CHECK(notfirstnotlast(home,t)); - GECODE_ES_CHECK(edgefinding(home,t)); - GECODE_ES_CHECK(subsumed(home,*this,t)); + + if (PL::basic) + GECODE_ES_CHECK(timetabling(home,*this,t)); + + if (PL::advanced) { + GECODE_ES_CHECK(detectable(home,t)); + GECODE_ES_CHECK(notfirstnotlast(home,t)); + GECODE_ES_CHECK(edgefinding(home,t)); + } + + if (!PL::basic) + GECODE_ES_CHECK(subsumed(home,*this,t)); + return ES_NOFIX; } diff --git a/gecode/int/unary/not-first-not-last.hpp b/gecode/int/unary/not-first-not-last.hpp index 2792ce5ca3..575ce56087 100755 --- a/gecode/int/unary/not-first-not-last.hpp +++ b/gecode/int/unary/not-first-not-last.hpp @@ -67,7 +67,7 @@ namespace Gecode { namespace Int { namespace Unary { for (int i=t.size(); i--; ) GECODE_ME_CHECK(t[i].lct(home,lct[i])); - + return ES_OK; } @@ -79,8 +79,8 @@ namespace Gecode { namespace Int { namespace Unary { TaskViewArray::TaskViewBwd> b(t); return notlast(home,b); } - - template + + template forceinline ExecStatus notlast(Space& home, Propagator& p, TaskViewArray& t) { sort(t); @@ -113,7 +113,7 @@ namespace Gecode { namespace Int { namespace Unary { GECODE_ME_CHECK(t[i].lct(home,lct[i])); } else if (lct[i] < t[i].ect()) { GECODE_ME_CHECK(t[i].excluded(home)); - t[i].cancel(home,p,PC_INT_BND); t[i]=t[--n]; + t[i].cancel(home,p,PL::pc); t[i]=t[--n]; } t.size(n); } @@ -121,15 +121,16 @@ namespace Gecode { namespace Int { namespace Unary { return (t.size() < 2) ? home.ES_SUBSUMED(p) : ES_OK; } - template + template ExecStatus notfirstnotlast(Space& home, Propagator& p, TaskArray& t) { TaskViewArray::TaskViewFwd> f(t); - GECODE_ES_CHECK(notlast(home,p,f)); + GECODE_ES_CHECK((notlast::TaskViewFwd,PL> + (home,p,f))); TaskViewArray::TaskViewBwd> b(t); - return notlast(home,p,b); + return notlast::TaskViewBwd,PL>(home,p,b); } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/unary/opt-prop.hpp b/gecode/int/unary/opt-prop.hpp index a504ff0a24..4ce01f397e 100755 --- a/gecode/int/unary/opt-prop.hpp +++ b/gecode/int/unary/opt-prop.hpp @@ -38,20 +38,21 @@ #include namespace Gecode { namespace Int { namespace Unary { - - template + + template forceinline - OptProp::OptProp(Home home, TaskArray& t) - : TaskProp(home,t) {} + OptProp::OptProp(Home home, TaskArray& t) + : TaskProp(home,t) {} - template + template forceinline - OptProp::OptProp(Space& home, bool shared, OptProp& p) - : TaskProp(home,shared,p) {} + OptProp::OptProp(Space& home, bool shared, + OptProp& p) + : TaskProp(home,shared,p) {} - template - forceinline ExecStatus - OptProp::post(Home home, TaskArray& t) { + template + ExecStatus + OptProp::post(Home home, TaskArray& t) { int m=0, o=0; for (int i=t.size(); i--; ) { if (t[i].mandatory()) @@ -63,50 +64,56 @@ namespace Gecode { namespace Int { namespace Unary { TaskArray::ManTask> mt(home,m); for (int i=m; i--; ) mt[i].init(t[i]); - return ManProp::ManTask>::post(home,mt); + return ManProp::ManTask,PL>::post(home,mt); } if (o+m > 1) - (void) new (home) OptProp(home,t); + (void) new (home) OptProp(home,t); return ES_OK; } - template - Actor* - OptProp::copy(Space& home, bool share) { - return new (home) OptProp(home,share,*this); + template + Actor* + OptProp::copy(Space& home, bool share) { + return new (home) OptProp(home,share,*this); } - template - ExecStatus - OptProp::propagate(Space& home, const ModEventDelta& med) { + template + ExecStatus + OptProp::propagate(Space& home, const ModEventDelta& med) { // Did one of the Boolean views change? - if (Int::BoolView::me(med) == Int::ME_BOOL_VAL) - GECODE_ES_CHECK((purge(home,*this,t))); - - GECODE_ES_CHECK(overload(home,*this,t)); - - GECODE_ES_CHECK(detectable(home,*this,t)); - GECODE_ES_CHECK(notfirstnotlast(home,*this,t)); - - // Partition into mandatory and optional activities - int n = t.size(); - int i=0, j=n-1; - while (true) { - while ((i < n) && t[i].mandatory()) i++; - while ((j >= 0) && !t[j].mandatory()) j--; - if (i >= j) break; - std::swap(t[i],t[j]); - } + if (BoolView::me(med) == ME_BOOL_VAL) + GECODE_ES_CHECK((purge(home,*this,t))); + + GECODE_ES_CHECK((overload(home,*this,t))); + + if (PL::basic) + GECODE_ES_CHECK(timetabling(home,*this,t)); + + if (PL::advanced) { + GECODE_ES_CHECK((detectable(home,*this,t))); + GECODE_ES_CHECK((notfirstnotlast(home,*this,t))); + + // Partition into mandatory and optional activities + int n = t.size(); + int i=0, j=n-1; + while (true) { + while ((i < n) && t[i].mandatory()) i++; + while ((j >= 0) && !t[j].mandatory()) j--; + if (i >= j) break; + std::swap(t[i],t[j]); + } - if (i > 1) { - // Truncate array to only contain mandatory tasks - t.size(i); - GECODE_ES_CHECK(edgefinding(home,t)); - // Restore to also include optional tasks - t.size(n); + if (i > 1) { + // Truncate array to only contain mandatory tasks + t.size(i); + GECODE_ES_CHECK(edgefinding(home,t)); + // Restore to also include optional tasks + t.size(n); + } } - GECODE_ES_CHECK(subsumed(home,*this,t)); + if (!PL::basic) + GECODE_ES_CHECK(subsumed(home,*this,t)); return ES_NOFIX; } diff --git a/gecode/int/unary/overload.hpp b/gecode/int/unary/overload.hpp index 6e7685d1a9..d0d4318f09 100755 --- a/gecode/int/unary/overload.hpp +++ b/gecode/int/unary/overload.hpp @@ -54,9 +54,9 @@ namespace Gecode { namespace Int { namespace Unary { } return ES_OK; } - + // Overload checking for optional tasks - template + template ExecStatus overload(Space& home, Propagator& p, TaskArray& t) { TaskViewArray::TaskViewFwd> f(t); @@ -84,10 +84,10 @@ namespace Gecode { namespace Int { namespace Unary { } if (to_purge) - GECODE_ES_CHECK((purge(home,p,t))); + GECODE_ES_CHECK((purge(home,p,t))); return ES_OK; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/unary/post.hpp b/gecode/int/unary/post.hpp new file mode 100755 index 0000000000..823ce34b2d --- /dev/null +++ b/gecode/int/unary/post.hpp @@ -0,0 +1,72 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { namespace Unary { + + template + forceinline ExecStatus + manpost(Home home, TaskArray& t, IntPropLevel ipl) { + switch (ba(ipl)) { + case IPL_BASIC: default: + return ManProp::post(home,t); + case IPL_ADVANCED: + return ManProp::post(home,t); + case IPL_BASIC_ADVANCED: + return ManProp::post(home,t); + } + GECODE_NEVER; + return ES_OK; + } + + template + forceinline ExecStatus + optpost(Home home, TaskArray& t, IntPropLevel ipl) { + switch (ba(ipl)) { + case IPL_BASIC: default: + return OptProp::post(home,t); + case IPL_ADVANCED: + return OptProp::post(home,t); + case IPL_BASIC_ADVANCED: + return OptProp::post(home,t); + } + GECODE_NEVER; + return ES_OK; + } + +}}} + +// STATISTICS: int-post diff --git a/gecode/int/unary/subsumption.hpp b/gecode/int/unary/subsumption.hpp index ced56b31b4..583235e26b 100755 --- a/gecode/int/unary/subsumption.hpp +++ b/gecode/int/unary/subsumption.hpp @@ -49,7 +49,7 @@ namespace Gecode { namespace Int { namespace Unary { return home.ES_SUBSUMED(p); } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/unary/task-view.hpp b/gecode/int/unary/task-view.hpp index 8e303fd860..d6295875ea 100755 --- a/gecode/int/unary/task-view.hpp +++ b/gecode/int/unary/task-view.hpp @@ -57,7 +57,7 @@ namespace Gecode { namespace Int { namespace Unary { s << t.est() << ':' << t.pmin() << ':' << t.lct(); return os << s.str(); } - + template std::basic_ostream& operator <<(std::basic_ostream& os, const OptFixPTaskBwd& t) { @@ -88,7 +88,7 @@ namespace Gecode { namespace Int { namespace Unary { << t.pmax() << ':' << t.ect() << ':' << t.lct(); return os << s.str(); } - + template std::basic_ostream& operator <<(std::basic_ostream& os, const OptFlexTaskBwd& t) { @@ -99,7 +99,7 @@ namespace Gecode { namespace Int { namespace Unary { << (t.mandatory() ? '1' : (t.optional() ? '?' : '0')); return os << s.str(); } - + }}} // STATISTICS: int-var diff --git a/gecode/int/unary/task.hpp b/gecode/int/unary/task.hpp index b7a0fd532f..cf907fa93c 100755 --- a/gecode/int/unary/task.hpp +++ b/gecode/int/unary/task.hpp @@ -56,7 +56,7 @@ namespace Gecode { namespace Int { namespace Unary { _s=t._s; _p=t._p; } - forceinline int + forceinline int ManFixPTask::est(void) const { return _s.min(); } @@ -103,7 +103,7 @@ namespace Gecode { namespace Int { namespace Unary { return _s.assigned(); } - forceinline ModEvent + forceinline ModEvent ManFixPTask::est(Space& home, int n) { return _s.gq(home,n); } @@ -125,18 +125,18 @@ namespace Gecode { namespace Int { namespace Unary { Iter::Ranges::Singleton r(e-_p+1,l); return _s.minus_r(home,r,false); } else { - return Int::ME_INT_NONE; + return ME_INT_NONE; } } forceinline ModEvent ManFixPTask::mandatory(Space&) { - return Int::ME_INT_NONE; + return ME_INT_NONE; } forceinline ModEvent ManFixPTask::excluded(Space&) { - return Int::ME_INT_FAILED; + return ME_INT_FAILED; } forceinline void @@ -152,6 +152,10 @@ namespace Gecode { namespace Int { namespace Unary { ManFixPTask::cancel(Space& home, Propagator& p, PropCond pc) { _s.cancel(home, p, pc); } + forceinline void + ManFixPTask::reschedule(Space& home, Propagator& p, PropCond pc) { + _s.reschedule(home, p, pc); + } template std::basic_ostream& @@ -169,7 +173,7 @@ namespace Gecode { namespace Int { namespace Unary { forceinline ManFixPSETask::ManFixPSETask(void) {} forceinline - ManFixPSETask::ManFixPSETask(TaskType t, IntVar s, int p) + ManFixPSETask::ManFixPSETask(TaskType t, IntVar s, int p) : ManFixPTask(s,p), _t(t) {} forceinline void ManFixPSETask::init(TaskType t, IntVar s, int p) { @@ -180,7 +184,7 @@ namespace Gecode { namespace Int { namespace Unary { ManFixPTask::init(t0); _t = t0._t; } - forceinline int + forceinline int ManFixPSETask::est(void) const { return (_t == TT_FIXS) ? _p : _s.min(); } @@ -229,45 +233,45 @@ namespace Gecode { namespace Int { namespace Unary { return 0; } - forceinline ModEvent + forceinline ModEvent ManFixPSETask::est(Space& home, int n) { switch (_t) { case TT_FIXE: // fall through case TT_FIXP: return _s.gq(home,n); - case TT_FIXS: return (n <= _p) ? Int::ME_INT_NONE : Int::ME_INT_FAILED; + case TT_FIXS: return (n <= _p) ? ME_INT_NONE : ME_INT_FAILED; default: GECODE_NEVER; } - return Int::ME_INT_NONE; + return ME_INT_NONE; } forceinline ModEvent ManFixPSETask::ect(Space& home, int n) { switch (_t) { - case TT_FIXE: return (n <= _p) ? Int::ME_INT_NONE : Int::ME_INT_FAILED; + case TT_FIXE: return (n <= _p) ? ME_INT_NONE : ME_INT_FAILED; case TT_FIXP: return _s.gq(home,n-_p); case TT_FIXS: return _s.gq(home,n); default: GECODE_NEVER; } - return Int::ME_INT_NONE; + return ME_INT_NONE; } forceinline ModEvent ManFixPSETask::lst(Space& home, int n) { switch (_t) { case TT_FIXE: // fall through case TT_FIXP: return _s.lq(home,n); - case TT_FIXS: return (n >= _p) ? Int::ME_INT_NONE : Int::ME_INT_FAILED; + case TT_FIXS: return (n >= _p) ? ME_INT_NONE : ME_INT_FAILED; default: GECODE_NEVER; } - return Int::ME_INT_NONE; + return ME_INT_NONE; } forceinline ModEvent ManFixPSETask::lct(Space& home, int n) { switch (_t) { - case TT_FIXE: return (n >= _p) ? Int::ME_INT_NONE : Int::ME_INT_FAILED; + case TT_FIXE: return (n >= _p) ? ME_INT_NONE : ME_INT_FAILED; case TT_FIXP: return _s.lq(home,n-_p); case TT_FIXS: return _s.lq(home,n); default: GECODE_NEVER; } - return Int::ME_INT_NONE; + return ME_INT_NONE; } forceinline ModEvent ManFixPSETask::norun(Space& home, int e, int l) { @@ -289,9 +293,9 @@ namespace Gecode { namespace Int { namespace Unary { default: GECODE_NEVER; } - return Int::ME_INT_NONE; + return ME_INT_NONE; } else { - return Int::ME_INT_NONE; + return ME_INT_NONE; } } @@ -327,7 +331,7 @@ namespace Gecode { namespace Int { namespace Unary { _s=t._s; _p=t._p; _e=t._e; } - forceinline int + forceinline int ManFlexTask::est(void) const { return _s.min(); } @@ -382,7 +386,7 @@ namespace Gecode { namespace Int { namespace Unary { return _s.assigned() && _p.assigned() && _e.assigned(); } - forceinline ModEvent + forceinline ModEvent ManFlexTask::est(Space& home, int n) { return _s.gq(home,n); } @@ -403,22 +407,22 @@ namespace Gecode { namespace Int { namespace Unary { if (e <= l) { Iter::Ranges::Singleton sr(e-_p.min()+1,l); if (me_failed(_s.minus_r(home,sr,false))) - return Int::ME_INT_FAILED; + return ME_INT_FAILED; Iter::Ranges::Singleton er(e+1,_p.min()+l); return _e.minus_r(home,er,false); } else { - return Int::ME_INT_NONE; + return ME_INT_NONE; } } forceinline ModEvent ManFlexTask::mandatory(Space&) { - return Int::ME_INT_NONE; + return ME_INT_NONE; } forceinline ModEvent ManFlexTask::excluded(Space&) { - return Int::ME_INT_FAILED; + return ME_INT_FAILED; } forceinline void @@ -440,6 +444,12 @@ namespace Gecode { namespace Int { namespace Unary { _p.cancel(home, p, pc); _e.cancel(home, p, pc); } + forceinline void + ManFlexTask::reschedule(Space& home, Propagator& p, PropCond pc) { + _s.reschedule(home, p, pc); + _p.reschedule(home, p, pc); + _e.reschedule(home, p, pc); + } template std::basic_ostream& @@ -526,7 +536,7 @@ namespace Gecode { namespace Int { namespace Unary { << (t.mandatory() ? '1' : (t.optional() ? '?' : '0')); return os << s.str(); } - + }}} // STATISTICS: int-var diff --git a/gecode/int/unary/time-tabling.hpp b/gecode/int/unary/time-tabling.hpp new file mode 100755 index 0000000000..216cd75b94 --- /dev/null +++ b/gecode/int/unary/time-tabling.hpp @@ -0,0 +1,111 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * Guido Tack + * + * Copyright: + * Christian Schulte, 2015 + * Guido Tack, 2010 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Int { namespace Unary { + + template + ExecStatus + timetabling(Space& home, Propagator& p, TaskArray& t) { + Region r(home); + + bool assigned; + if (Event* e = Event::events(r,t,assigned)) { + // Whether resource is free + bool free = true; + // Set of current but not required tasks + Support::BitSet tasks(r,static_cast(t.size())); + + // Process events + do { + // Current time + int time = e->time(); + + // Process events for completion of required part + for ( ; (e->type() == Event::LRT) && (e->time() == time); e++) + if (t[e->idx()].mandatory()) { + tasks.set(static_cast(e->idx())); + free = true; + } + + // Process events for completion of task + for ( ; (e->type() == Event::LCT) && (e->time() == time); e++) + tasks.clear(static_cast(e->idx())); + + // Process events for start of task + for ( ; (e->type() == Event::EST) && (e->time() == time); e++) + tasks.set(static_cast(e->idx())); + + // Process events for zero-length task + for ( ; (e->type() == Event::ZRO) && (e->time() == time); e++) + if (!free) + return ES_FAILED; + + // Norun start time + int nrstime = time; + // Process events for start of required part + for ( ; (e->type() == Event::ERT) && (e->time() == time); e++) + if (t[e->idx()].mandatory()) { + tasks.clear(static_cast(e->idx())); + if (!free) + return ES_FAILED; + free = false; + nrstime = time+1; + } else if (t[e->idx()].optional() && !free) { + GECODE_ME_CHECK(t[e->idx()].excluded(home)); + } + + if (!free) + for (Iter::Values::BitSet > j(tasks); + j(); ++j) + // Task j cannot run from time to next time - 1 + if (t[j.val()].mandatory()) + GECODE_ME_CHECK(t[j.val()].norun(home, nrstime, e->time() - 1)); + + } while (e->type() != Event::END); + } + + if (assigned) + return home.ES_SUBSUMED(p); + + return ES_NOFIX; + } + +}}} + +// STATISTICS: int-prop diff --git a/gecode/int/unary/tree.hpp b/gecode/int/unary/tree.hpp index c0f81bde13..8196222132 100755 --- a/gecode/int/unary/tree.hpp +++ b/gecode/int/unary/tree.hpp @@ -45,26 +45,27 @@ namespace Gecode { namespace Int { namespace Unary { forceinline void OmegaNode::init(const OmegaNode&, const OmegaNode&) { - p = 0; ect = -Int::Limits::infinity; + p = 0; ect = -Limits::infinity; } forceinline void OmegaNode::update(const OmegaNode& l, const OmegaNode& r) { - p = l.p + r.p; + p = l.p + r.p; ect = std::max(plus(l.ect,r.p), r.ect); } template + forceinline OmegaTree::OmegaTree(Region& r, const TaskViewArray& t) : TaskTree(r,t) { for (int i=tasks.size(); i--; ) { - leaf(i).p = 0; leaf(i).ect = -Int::Limits::infinity; + leaf(i).p = 0; leaf(i).ect = -Limits::infinity; } init(); } template - forceinline void + forceinline void OmegaTree::insert(int i) { leaf(i).p = tasks[i].pmin(); leaf(i).ect = tasks[i].est()+tasks[i].pmin(); @@ -74,22 +75,22 @@ namespace Gecode { namespace Int { namespace Unary { template forceinline void OmegaTree::remove(int i) { - leaf(i).p = 0; leaf(i).ect = -Int::Limits::infinity; + leaf(i).p = 0; leaf(i).ect = -Limits::infinity; update(i); } template - forceinline int + forceinline int OmegaTree::ect(void) const { return root().ect; } - + template - forceinline int + forceinline int OmegaTree::ect(int i) const { // Check whether task i is in? OmegaTree& o = const_cast&>(*this); - if (o.leaf(i).ect != -Int::Limits::infinity) { + if (o.leaf(i).ect != -Limits::infinity) { o.remove(i); int ect = o.root().ect; o.insert(i); @@ -98,11 +99,11 @@ namespace Gecode { namespace Int { namespace Unary { return root().ect; } } - + /* - * Ome lambda tree + * Omega lambda tree */ forceinline void @@ -119,7 +120,7 @@ namespace Gecode { namespace Int { namespace Unary { lp = l.lp + r.p; } else { resLp = r.resLp; - lp = l.p + r.lp; + lp = l.p + r.lp; } if ((r.lect >= plus(l.ect,r.lp)) && (r.lect >= plus(l.lect,r.p))) { lect = r.lect; resEct = r.resEct; @@ -127,7 +128,7 @@ namespace Gecode { namespace Int { namespace Unary { assert(plus(l.ect,r.lp) > r.lect); lect = plus(l.ect,r.lp); resEct = r.resLp; } else { - assert((plus(l.lect,r.p) > r.lect) && + assert((plus(l.lect,r.p) > r.lect) && (plus(l.lect,r.p) > plus(l.ect,r.lp))); lect = plus(l.lect,r.p); resEct = l.resEct; } @@ -135,7 +136,8 @@ namespace Gecode { namespace Int { namespace Unary { template - OmegaLambdaTree::OmegaLambdaTree(Region& r, + forceinline + OmegaLambdaTree::OmegaLambdaTree(Region& r, const TaskViewArray& t, bool inc) : TaskTree(r,t) { @@ -152,7 +154,7 @@ namespace Gecode { namespace Int { namespace Unary { // Enter no tasks into tree (omega = empty, lambda = empty) for (int i=tasks.size(); i--; ) { leaf(i).p = leaf(i).lp = 0; - leaf(i).ect = leaf(i).lect = -Int::Limits::infinity; + leaf(i).ect = leaf(i).lect = -Limits::infinity; leaf(i).resEct = OmegaLambdaNode::undef; leaf(i).resLp = OmegaLambdaNode::undef; } @@ -161,12 +163,12 @@ namespace Gecode { namespace Int { namespace Unary { } template - forceinline void + forceinline void OmegaLambdaTree::shift(int i) { // That means that i is in omega - assert(leaf(i).ect > -Int::Limits::infinity); + assert(leaf(i).ect > -Limits::infinity); leaf(i).p = 0; - leaf(i).ect = -Int::Limits::infinity; + leaf(i).ect = -Limits::infinity; leaf(i).resEct = i; leaf(i).resLp = i; update(i); @@ -175,7 +177,7 @@ namespace Gecode { namespace Int { namespace Unary { template forceinline void OmegaLambdaTree::oinsert(int i) { - leaf(i).p = tasks[i].pmin(); + leaf(i).p = tasks[i].pmin(); leaf(i).ect = tasks[i].est()+tasks[i].pmin(); update(i); } @@ -183,7 +185,7 @@ namespace Gecode { namespace Int { namespace Unary { template forceinline void OmegaLambdaTree::linsert(int i) { - leaf(i).lp = tasks[i].pmin(); + leaf(i).lp = tasks[i].pmin(); leaf(i).lect = tasks[i].est()+tasks[i].pmin(); leaf(i).resEct = i; leaf(i).resLp = i; @@ -193,8 +195,8 @@ namespace Gecode { namespace Int { namespace Unary { template forceinline void OmegaLambdaTree::lremove(int i) { - leaf(i).lp = 0; - leaf(i).lect = -Int::Limits::infinity; + leaf(i).lp = 0; + leaf(i).lect = -Limits::infinity; leaf(i).resEct = OmegaLambdaNode::undef; leaf(i).resLp = OmegaLambdaNode::undef; update(i); @@ -205,25 +207,25 @@ namespace Gecode { namespace Int { namespace Unary { OmegaLambdaTree::lempty(void) const { return root().resEct < 0; } - + template - forceinline int + forceinline int OmegaLambdaTree::responsible(void) const { return root().resEct; } - + template - forceinline int + forceinline int OmegaLambdaTree::ect(void) const { return root().ect; } - + template - forceinline int + forceinline int OmegaLambdaTree::lect(void) const { return root().lect; } - + }}} // STATISTICS: int-prop diff --git a/gecode/int/unshare.cpp b/gecode/int/unshare.cpp index 52a09bad7a..8913572111 100755 --- a/gecode/int/unshare.cpp +++ b/gecode/int/unshare.cpp @@ -60,20 +60,20 @@ namespace Gecode { /// Return a fresh yet equal integer variable forceinline ExecStatus - link(Home home, IntVar** x, int n, IntConLevel icl) { + link(Home home, IntVar** x, int n, IntPropLevel ipl) { if (n > 2) { ViewArray y(home,n); y[0]=*x[0]; for (int i=1; imin(),x[0]->max()); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((ipl == IPL_DOM) || (ipl == IPL_DEF)) { GECODE_ES_CHECK(Rel::NaryEqDom::post(home,y)); } else { GECODE_ES_CHECK(Rel::NaryEqBnd::post(home,y)); } } else if (n == 2) { *x[1]=IntVar(home,x[0]->min(),x[0]->max()); - if ((icl == ICL_DOM) || (icl == ICL_DEF)) { + if ((ipl == IPL_DOM) || (ipl == IPL_DEF)) { GECODE_ES_CHECK((Rel::EqDom::post (home,*x[0],*x[1]))); } else { @@ -86,7 +86,7 @@ namespace Gecode { /// Return a fresh yet equal Boolean variable forceinline ExecStatus - link(Home home, BoolVar** x, int n, IntConLevel) { + link(Home home, BoolVar** x, int n, IntPropLevel) { if (n > 2) { ViewArray y(home,n); y[0]=*x[0]; @@ -103,7 +103,7 @@ namespace Gecode { /// Replace unassigned shared variables by fresh, yet equal variables template forceinline ExecStatus - unshare(Home home, VarArgArray& x, IntConLevel icl) { + unshare(Home home, VarArgArray& x, IntPropLevel ipl) { int n=x.size(); if (n < 2) return ES_OK; @@ -122,7 +122,7 @@ namespace Gecode { while ((isame(*y[i])) i++; if (!y[j]->assigned()) - link(home,&y[j],i-j,icl); + link(home,&y[j],i-j,ipl); } return ES_OK; } @@ -130,15 +130,15 @@ namespace Gecode { }} void - unshare(Home home, IntVarArgs& x, IntConLevel icl) { - if (home.failed()) return; - GECODE_ES_FAIL(Int::Unshare::unshare(home,x,icl)); + unshare(Home home, IntVarArgs& x, IntPropLevel ipl) { + GECODE_POST; + GECODE_ES_FAIL(Int::Unshare::unshare(home,x,vbd(ipl))); } void - unshare(Home home, BoolVarArgs& x, IntConLevel) { - if (home.failed()) return; - GECODE_ES_FAIL(Int::Unshare::unshare(home,x,ICL_DEF)); + unshare(Home home, BoolVarArgs& x, IntPropLevel) { + GECODE_POST; + GECODE_ES_FAIL(Int::Unshare::unshare(home,x,IPL_DEF)); } } diff --git a/gecode/int/val-set.hpp b/gecode/int/val-set.hpp index 0940862d09..50775df188 100755 --- a/gecode/int/val-set.hpp +++ b/gecode/int/val-set.hpp @@ -55,7 +55,7 @@ namespace Gecode { namespace Int { c->min(v); n++; return; } else { - *p = new (home) RangeList(v,v,c); n++; + *p = new (home) RangeList(v,v,c); n++; return; } } else if (v <= c->max()) { @@ -134,7 +134,7 @@ namespace Gecode { namespace Int { } forceinline - ValSet::Ranges::Ranges(const ValSet& vs) + ValSet::Ranges::Ranges(const ValSet& vs) : c(vs.fst) {} forceinline bool diff --git a/gecode/int/var-imp.hpp b/gecode/int/var-imp.hpp index d0e726d56a..3b39a323be 100644 --- a/gecode/int/var-imp.hpp +++ b/gecode/int/var-imp.hpp @@ -345,6 +345,8 @@ namespace Gecode { namespace Int { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to variable void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a @@ -674,6 +676,8 @@ namespace Gecode { namespace Int { * ME_INT_VAL (or ME_BOOL_VAL). */ static void schedule(Space& home, Propagator& p, ModEvent me); + /// Re-schedule propagator \a p + void reschedule(Space& home, Propagator& p, PropCond pc); /// Translate modification event \a me to modification event delta for view static ModEventDelta med(ModEvent me); //@} diff --git a/gecode/int/var-imp/bool.hpp b/gecode/int/var-imp/bool.hpp index 60367d6e8d..185b842880 100755 --- a/gecode/int/var-imp/bool.hpp +++ b/gecode/int/var-imp/bool.hpp @@ -418,6 +418,11 @@ namespace Gecode { namespace Int { BoolVarImpBase::schedule(home,p,me); } + forceinline void + BoolVarImp::reschedule(Space& home, Propagator& p, PropCond) { + BoolVarImpBase::reschedule(home,p,PC_BOOL_VAL,assigned()); + } + forceinline ModEventDelta BoolVarImp::med(ModEvent me) { return BoolVarImpBase::med(me); diff --git a/gecode/int/var-imp/int.hpp b/gecode/int/var-imp/int.hpp index 16a1af06d0..32788dd656 100755 --- a/gecode/int/var-imp/int.hpp +++ b/gecode/int/var-imp/int.hpp @@ -699,7 +699,7 @@ namespace Gecode { namespace Int { if ((i_min > dom.min()) && (i_max >= dom.max())) return lq(home,i_min-1); - + if ((i_min <= dom.min()) && (i_max < dom.max()) && (!i() || (i.min() > dom.max()))) return gq(home,i_max+1); @@ -1007,6 +1007,11 @@ namespace Gecode { namespace Int { IntVarImpBase::cancel(home,p,pc,dom.min()==dom.max()); } + forceinline void + IntVarImp::reschedule(Space& home, Propagator& p, PropCond pc) { + IntVarImpBase::reschedule(home,p,pc,dom.min()==dom.max()); + } + forceinline void IntVarImp::subscribe(Space& home, Advisor& a) { IntVarImpBase::subscribe(home,a,dom.min()==dom.max()); diff --git a/gecode/int/var-imp/int.vis b/gecode/int/var-imp/int.vis index 2b65c313f1..86008c1dd0 100755 --- a/gecode/int/var-imp/int.vis +++ b/gecode/int/var-imp/int.vis @@ -58,7 +58,7 @@ Combine: VAL=VAL, BND=VAL, DOM=VAL [ModEvent] Name: BND=SUBSCRIBE Combine: VAL=VAL, BND=BND, DOM=BND - /** + /** * \brief Domain operation has changed the minimum or maximum of the domain * * Note that this implies that the domain has not resulted in a value. @@ -69,7 +69,7 @@ Combine: VAL=VAL, BND=BND, DOM=BND [ModEvent] Name: DOM Combine: VAL=VAL, BND=BND, DOM=DOM - /** + /** * \brief Domain operation has changed the domain * * Note that this implies that the domain has not resulted in a value diff --git a/gecode/int/view-val-graph.hh b/gecode/int/view-val-graph.hh index 1ba8670045..146d79a780 100644 --- a/gecode/int/view-val-graph.hh +++ b/gecode/int/view-val-graph.hh @@ -78,7 +78,7 @@ namespace Gecode { namespace Int { namespace ViewValGraph { class BiLink { private: /// Link to previous element - BiLink* _prev; + BiLink* _prev; /// Link to next element BiLink* _next; public: @@ -87,7 +87,7 @@ namespace Gecode { namespace Int { namespace ViewValGraph { /// Return previous element BiLink* prev(void) const; /// Return next element - BiLink* next(void) const; + BiLink* next(void) const; /// Set previous element to \a l void prev(BiLink* l); /// Set next element to \a l @@ -293,7 +293,7 @@ namespace Gecode { namespace Int { namespace ViewValGraph { namespace Gecode { namespace Int { namespace ViewValGraph { - /// View-value graph base class + /// View-value graph base class template class Graph { protected: diff --git a/gecode/int/view-val-graph/graph.hpp b/gecode/int/view-val-graph/graph.hpp index 89b05872b3..bb6880e8ca 100755 --- a/gecode/int/view-val-graph/graph.hpp +++ b/gecode/int/view-val-graph/graph.hpp @@ -148,11 +148,11 @@ namespace Gecode { namespace Int { namespace ViewValGraph { Support::StaticStack*,Region> scc(r,n_val+n_view); Support::StaticStack*,Region> visit(r,n_val+n_view); - + count++; unsigned int cnt0 = count; unsigned int cnt1 = count; - + for (int i = n_view; i--; ) /* * The following test is subtle: for scc, the test should be: @@ -160,7 +160,7 @@ namespace Gecode { namespace Int { namespace ViewValGraph { * However, if view[i] < count-1, then the node has already been * reached on a path and all edges connected to the node have been * marked anyway! So just ignore this node altogether for scc. - */ + */ if (view[i]->min < count-1) { Node* w = view[i]; start: diff --git a/gecode/int/view.hpp b/gecode/int/view.hpp index 6d1ef2ecf5..711855d5e1 100755 --- a/gecode/int/view.hpp +++ b/gecode/int/view.hpp @@ -121,7 +121,7 @@ namespace Gecode { namespace Int { * views. * \ingroup TaskActorInt */ - + /** * \brief Integer view for integer variables * \ingroup TaskActorIntView @@ -139,7 +139,7 @@ namespace Gecode { namespace Int { /// Initialize from integer variable \a y IntView(IntVarImp* y); //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -160,35 +160,35 @@ namespace Gecode { namespace Int { /// Return regret of domain maximum (distance to next smaller value) unsigned int regret_max(void) const; //@} - + /// \name Domain tests //@{ /// Test whether domain is a range bool range(void) const; - + /// Test whether \a n is contained in domain bool in(int n) const; /// Test whether \a n is contained in domain bool in(long long int n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n ModEvent lq(Space& home, int n); /// Restrict domain values to be less or equal than \a n ModEvent lq(Space& home, long long int n); - + /// Restrict domain values to be less than \a n ModEvent le(Space& home, int n); /// Restrict domain values to be less than \a n ModEvent le(Space& home, long long int n); - + /// Restrict domain values to be greater or equal than \a n ModEvent gq(Space& home, int n); /// Restrict domain values to be greater or equal than \a n ModEvent gq(Space& home, long long int n); - + /// Restrict domain values to be greater than \a n ModEvent gr(Space& home, int n); /// Restrict domain values to be greater than \a n @@ -264,7 +264,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& operator <<(std::basic_ostream& os, const IntView& x); - + /** * \brief Minus integer view @@ -284,7 +284,7 @@ namespace Gecode { namespace Int { /// Initialize with integer view \a y explicit MinusView(const IntView& y); //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -295,7 +295,7 @@ namespace Gecode { namespace Int { int med(void) const; /// Return assigned value (only if assigned) int val(void) const; - + /// Return size (cardinality) of domain unsigned int size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -305,18 +305,18 @@ namespace Gecode { namespace Int { /// Return regret of domain maximum (distance to next smaller value) unsigned int regret_max(void) const; //@} - + /// \name Domain tests //@{ /// Test whether domain is a range bool range(void) const; - + /// Test whether \a n is contained in domain bool in(int n) const; /// Test whether \a n is contained in domain bool in(long long int n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n @@ -384,13 +384,13 @@ namespace Gecode { namespace Int { template ModEvent minus_v(Space& home, I& i, bool depends=true); //@} - + /// \name View-dependent propagator support //@{ /// Translate modification event \a me to modification event delta for view static ModEventDelta med(ModEvent me); //@} - + /// \name Delta information for advisors //@{ /// Return minimum value just pruned @@ -432,7 +432,7 @@ namespace Gecode { namespace Int { /// Initialize with integer view \a y and offset \a c OffsetView(const IntView& y, int c); //@} - + /// \name Value access //@{ /// Return offset @@ -447,7 +447,7 @@ namespace Gecode { namespace Int { int med(void) const; /// Return assigned value (only if assigned) int val(void) const; - + /// Return size (cardinality) of domain unsigned int size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -457,18 +457,18 @@ namespace Gecode { namespace Int { /// Return regret of domain maximum (distance to next smaller value) unsigned int regret_max(void) const; //@} - + /// \name Domain tests //@{ /// Test whether domain is a range bool range(void) const; - + /// Test whether \a n is contained in domain bool in(int n) const; /// Test whether \a n is contained in domain bool in(long long int n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n @@ -501,7 +501,7 @@ namespace Gecode { namespace Int { /// Restrict domain values to be equal to \a n ModEvent eq(Space& home, long long int n); //@} - + /** * \name Domain update by iterator * @@ -552,7 +552,7 @@ namespace Gecode { namespace Int { /// Test whether arbitrary values got pruned bool any(const Delta& d) const; //@} - + /// \name Cloning //@{ /// Update this view to be a clone of view \a y @@ -567,7 +567,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& operator <<(std::basic_ostream& os, const OffsetView& x); - + /** \name View comparison * \relates Gecode::Int::OffsetView */ @@ -609,7 +609,7 @@ namespace Gecode { namespace Int { NoOffset::offset(void) const { return 0; } - + /** * \brief Converter with fixed offset @@ -652,8 +652,8 @@ namespace Gecode { namespace Int { * behaves as \f$a\cdot x\f$. * * The precision of a scale integer view is defined by the value types - * \a Val and \a UnsVal. \a Val can be either \c int or \c long \c long - * \c int where \a UnsVal must be the unsigned variant of \a Val. The + * \a Val and \a UnsVal. \a Val can be either \c int or \c long \c long + * \c int where \a UnsVal must be the unsigned variant of \a Val. The * range which is allowed for the two types is defined by the values in * Gecode::Limits. * @@ -681,7 +681,7 @@ namespace Gecode { namespace Int { /// Initialize as \f$b\cdot y\f$ ScaleView(int b, const IntView& y); //@} - + /// \name Value access //@{ /// Return scale factor of scale view @@ -694,7 +694,7 @@ namespace Gecode { namespace Int { Val med(void) const; /// Return assigned value (only if assigned) Val val(void) const; - + /// Return size (cardinality) of domain UnsVal size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -712,7 +712,7 @@ namespace Gecode { namespace Int { /// Test whether \a n is contained in domain bool in(Val n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n @@ -728,7 +728,7 @@ namespace Gecode { namespace Int { /// Restrict domain values to be equal to \a n ModEvent eq(Space& home, Val n); //@} - + /// \name View-dependent propagator support //@{ /// Translate modification event \a me to modification event delta for view @@ -744,7 +744,7 @@ namespace Gecode { namespace Int { /// Test whether arbitrary values got pruned bool any(const Delta& d) const; //@} - + /// \name Cloning //@{ /// Update this view to be a clone of view \a y @@ -763,7 +763,7 @@ namespace Gecode { namespace Int { * \ingroup TaskActorIntView */ typedef ScaleView LLongScaleView; - + /** * \brief Print integer-precision integer scale view * \relates Gecode::Int::ScaleView @@ -771,7 +771,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& operator <<(std::basic_ostream& os, const IntScaleView& x); - + /** * \brief Print long long-precision integer scale view * \relates Gecode::Int::ScaleView @@ -812,7 +812,7 @@ namespace Gecode { namespace Int { /// Initialize with integer value \a n ConstIntView(int n); //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -823,7 +823,7 @@ namespace Gecode { namespace Int { int med(void) const; /// Return assigned value (only if assigned) int val(void) const; - + /// Return size (cardinality) of domain unsigned int size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -843,7 +843,7 @@ namespace Gecode { namespace Int { /// Test whether \a n is contained in domain bool in(long long int n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n @@ -963,7 +963,7 @@ namespace Gecode { namespace Int { /// Default constructor ZeroIntView(void); //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -974,7 +974,7 @@ namespace Gecode { namespace Int { int med(void) const; /// Return assigned value (only if assigned) int val(void) const; - + /// Return size (cardinality) of domain unsigned int size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -994,7 +994,7 @@ namespace Gecode { namespace Int { /// Test whether \a n is contained in domain bool in(long long int n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n @@ -1122,7 +1122,7 @@ namespace Gecode { namespace Int { /// Initialize with integer view \a y explicit CachedView(const View& y); //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -1133,7 +1133,7 @@ namespace Gecode { namespace Int { int med(void) const; /// Return assigned value (only if assigned) int val(void) const; - + /// Return size (cardinality) of domain unsigned int size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -1143,18 +1143,18 @@ namespace Gecode { namespace Int { /// Return regret of domain maximum (distance to next smaller value) unsigned int regret_max(void) const; //@} - + /// \name Domain tests //@{ /// Test whether domain is a range bool range(void) const; - + /// Test whether \a n is contained in domain bool in(int n) const; /// Test whether \a n is contained in domain bool in(long long int n) const; //@} - + /// \name Domain update by value //@{ /// Restrict domain values to be less or equal than \a n @@ -1187,7 +1187,7 @@ namespace Gecode { namespace Int { /// Restrict domain values to be equal to \a n ModEvent eq(Space& home, long long int n); //@} - + /** * \name Domain update by iterator * @@ -1248,7 +1248,7 @@ namespace Gecode { namespace Int { /// Check whether cache differs from current domain bool modified(void) const; //@} - + /// \name Cloning //@{ /// Update this view to be a clone of view \a y @@ -1263,7 +1263,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& operator <<(std::basic_ostream& os, const CachedView& x); - + /** \name View comparison * \relates Gecode::Int::CachedView */ @@ -1287,7 +1287,7 @@ namespace Gecode { namespace Int { template class ViewDiffRanges : public Iter::Ranges::Diff > { - typedef Iter::Ranges::Diff > + typedef Iter::Ranges::Diff > Super; protected: /// Cached domain iterator @@ -1325,7 +1325,7 @@ namespace Gecode { namespace Int { /// Initialize from Boolean variable implementation \a y BoolView(BoolVarImp* y); //@} - + /// \name Domain status access //@{ /// How many bits does the status have @@ -1339,7 +1339,7 @@ namespace Gecode { namespace Int { /// Return current domain status BoolStatus status(void) const; //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -1350,7 +1350,7 @@ namespace Gecode { namespace Int { int med(void) const; /// Return assigned value (only if assigned) int val(void) const; - + /// Return size (cardinality) of domain unsigned int size(void) const; /// Return width of domain (distance between maximum and minimum) @@ -1360,7 +1360,7 @@ namespace Gecode { namespace Int { /// Return regret of domain maximum (distance to next smaller value) unsigned int regret_max(void) const; //@} - + /// \name Domain tests //@{ /// Test whether domain is a range @@ -1380,7 +1380,7 @@ namespace Gecode { namespace Int { /// Test whether view is not yet assigned bool none(void) const; //@} - + /// \name Boolean assignment operations //@{ /// Try to assign view to one @@ -1404,7 +1404,7 @@ namespace Gecode { namespace Int { ModEvent le(Space& home, int n); /// Restrict domain values to be less than \a n ModEvent le(Space& home, long long int n); - + /// Restrict domain values to be greater or equal than \a n ModEvent gq(Space& home, int n); /// Restrict domain values to be greater or equal than \a n @@ -1414,7 +1414,7 @@ namespace Gecode { namespace Int { ModEvent gr(Space& home, int n); /// Restrict domain values to be greater than \a n ModEvent gr(Space& home, long long int n); - + /// Restrict domain values to be different from \a n ModEvent nq(Space& home, int n); /// Restrict domain values to be different from \a n @@ -1425,7 +1425,7 @@ namespace Gecode { namespace Int { /// Restrict domain values to be equal to \a n ModEvent eq(Space& home, long long int n); //@} - + /** * \name Domain update by iterator * @@ -1474,7 +1474,7 @@ namespace Gecode { namespace Int { /// Test whether a view has been assigned to one static bool one(const Delta& d); //@} - + /// \name View-dependent propagator support //@{ /// Translate modification event \a me to modification event delta for view @@ -1489,7 +1489,7 @@ namespace Gecode { namespace Int { template std::basic_ostream& operator <<(std::basic_ostream& os, const BoolView& x); - + /** @@ -1511,7 +1511,7 @@ namespace Gecode { namespace Int { /// Initialize with Boolean view \a y explicit NegBoolView(const BoolView& y); //@} - + /// \name Domain status access //@{ /// How many bits does the status have @@ -1525,7 +1525,7 @@ namespace Gecode { namespace Int { /// Return current domain status BoolStatus status(void) const; //@} - + /// \name Boolean domain tests //@{ /// Test whether view is assigned to be zero @@ -1535,7 +1535,7 @@ namespace Gecode { namespace Int { /// Test whether view is not yet assigned bool none(void) const; //@} - + /// \name Boolean assignment operations //@{ /// Try to assign view to one @@ -1547,7 +1547,7 @@ namespace Gecode { namespace Int { /// Assign not yet assigned view to zero ModEvent zero_none(Space& home); //@} - + /// \name Value access //@{ /// Return minimum of domain @@ -1557,7 +1557,7 @@ namespace Gecode { namespace Int { /// Return assigned value (only if assigned) int val(void) const; //@} - + /// \name Delta information for advisors //@{ /// Return minimum value just pruned @@ -1616,44 +1616,44 @@ namespace Gecode { namespace Int { RT_MAYBE = 1, ///< Relation may hold or not RT_TRUE = 2 ///< Relation does hold }; - + /// Test whether views \a x and \a y are equal (use bounds information) - template RelTest rtest_eq_bnd(View x, View y); + template RelTest rtest_eq_bnd(VX x, VY y); /// Test whether views \a x and \a y are equal (use full domain information) - template RelTest rtest_eq_dom(View x, View y); + template RelTest rtest_eq_dom(VX x, VY y); /// Test whether view \a x and integer \a n are equal (use bounds information) - template RelTest rtest_eq_bnd(View x, int n); + template RelTest rtest_eq_bnd(VX x, int n); /// Test whether view \a x and integer \a n are equal (use full domain information) - template RelTest rtest_eq_dom(View x, int n); - + template RelTest rtest_eq_dom(VX x, int n); + /// Test whether views \a x and \a y are different (use bounds information) - template RelTest rtest_nq_bnd(View x, View y); + template RelTest rtest_nq_bnd(VX x, VY y); /// Test whether views \a x and \a y are different (use full domain information) - template RelTest rtest_nq_dom(View x, View y); + template RelTest rtest_nq_dom(VX x, VY y); /// Test whether view \a x and integer \a n are different (use bounds information) - template RelTest rtest_nq_bnd(View x, int n); + template RelTest rtest_nq_bnd(VX x, int n); /// Test whether view \a x and integer \a n are different (use full domain information) - template RelTest rtest_nq_dom(View x, int n); + template RelTest rtest_nq_dom(VX x, int n); /// Test whether view \a x is less or equal than view \a y - template RelTest rtest_lq(View x, View y); + template RelTest rtest_lq(VX x, VY y); /// Test whether view \a x is less or equal than integer \a n - template RelTest rtest_lq(View x, int n); - + template RelTest rtest_lq(VX x, int n); + /// Test whether view \a x is less than view \a y - template RelTest rtest_le(View x, View y); + template RelTest rtest_le(VX x, VY y); /// Test whether view \a x is less than integer \a n - template RelTest rtest_le(View x, int n); - + template RelTest rtest_le(VX x, int n); + /// Test whether view \a x is greater or equal than view \a y - template RelTest rtest_gq(View x, View y); + template RelTest rtest_gq(VX x, VY y); /// Test whether view \a x is greater or equal than integer \a n - template RelTest rtest_gq(View x, int n); - + template RelTest rtest_gq(VX x, int n); + /// Test whether view \a x is greater than view \a y - template RelTest rtest_gr(View x, View y); + template RelTest rtest_gr(VX x, VY y); /// Test whether view \a x is greater than integer \a n - template RelTest rtest_gr(View x, int n); + template RelTest rtest_gr(VX x, int n); //@} @@ -1666,7 +1666,7 @@ namespace Gecode { namespace Int { BT_SAME, ///< Same variable BT_COMP ///< Same variable but complement }; - + /** * \name Test sharing between Boolean and negated Boolean views * \relates BoolView NegBoolView @@ -1681,7 +1681,7 @@ namespace Gecode { namespace Int { /// Test whether views \a b0 and \a b1 are the same BoolTest bool_test(const NegBoolView& b0, const NegBoolView& b1); //@} - + }} #include diff --git a/gecode/int/view/cached.hpp b/gecode/int/view/cached.hpp index b7fef6e43b..afa447aba4 100755 --- a/gecode/int/view/cached.hpp +++ b/gecode/int/view/cached.hpp @@ -47,7 +47,7 @@ namespace Gecode { namespace Int { template forceinline CachedView::CachedView(const View& y) - : DerivedView(y), _firstRange(NULL), _lastRange(NULL), + : DerivedView(y), _firstRange(NULL), _lastRange(NULL), _size(0) {} @@ -272,7 +272,7 @@ namespace Gecode { namespace Int { _firstRange = new (home) RangeList(y._firstRange->min(), y._firstRange->max(),NULL); RangeList* cur = _firstRange; - + for (RangeList* y_cur = y._firstRange->next(); y_cur != NULL; y_cur = y_cur->next()) { RangeList* next = diff --git a/gecode/int/view/rel-test.hpp b/gecode/int/view/rel-test.hpp index 8a14ac1bd1..edb8607f31 100755 --- a/gecode/int/view/rel-test.hpp +++ b/gecode/int/view/rel-test.hpp @@ -42,17 +42,18 @@ namespace Gecode { namespace Int { * */ - template + template forceinline RelTest - rtest_eq_bnd(View x, View y) { + rtest_eq_bnd(VX x, VY y) { if ((x.min() > y.max()) || (x.max() < y.min())) return RT_FALSE; return (x.assigned() && y.assigned()) ? RT_TRUE : RT_MAYBE; } - template + template RelTest - rtest_eq_dom_check(View x, View y) { - ViewRanges rx(x), ry(y); + rtest_eq_dom_check(VX x, VY y) { + ViewRanges rx(x); + ViewRanges ry(y); while (rx() && ry()) { if (rx.max() < ry.min()) { ++rx; @@ -63,33 +64,33 @@ namespace Gecode { namespace Int { return RT_FALSE; } - template + template forceinline RelTest - rtest_eq_dom(View x, View y) { + rtest_eq_dom(VX x, VY y) { RelTest rt = rtest_eq_bnd(x,y); if (rt != RT_MAYBE) return rt; return (x.range() && y.range()) ? RT_MAYBE : rtest_eq_dom_check(x,y); } - template + template forceinline RelTest - rtest_eq_bnd(View x, int n) { + rtest_eq_bnd(VX x, int n) { if ((n > x.max()) || (n < x.min())) return RT_FALSE; return x.assigned() ? RT_TRUE : RT_MAYBE; } - template + template RelTest - rtest_eq_dom_check(View x, int n) { - ViewRanges rx(x); + rtest_eq_dom_check(VX x, int n) { + ViewRanges rx(x); while (n > rx.max()) ++rx; return (n >= rx.min()) ? RT_MAYBE : RT_FALSE; } - template + template forceinline RelTest - rtest_eq_dom(View x, int n) { + rtest_eq_dom(VX x, int n) { RelTest rt = rtest_eq_bnd(x,n); if (rt != RT_MAYBE) return rt; return x.range() ? RT_MAYBE : rtest_eq_dom_check(x,n); @@ -102,17 +103,18 @@ namespace Gecode { namespace Int { * */ - template + template forceinline RelTest - rtest_nq_bnd(View x, View y) { + rtest_nq_bnd(VX x, VY y) { if ((x.min() > y.max()) || (x.max() < y.min())) return RT_TRUE; return (x.assigned() && y.assigned()) ? RT_FALSE : RT_MAYBE; } - template + template forceinline RelTest - rtest_nq_dom_check(View x, View y) { - ViewRanges rx(x), ry(y); + rtest_nq_dom_check(VX x, VY y) { + ViewRanges rx(x); + ViewRanges ry(y); while (rx() && ry()) { if (rx.max() < ry.min()) { ++rx; @@ -123,33 +125,33 @@ namespace Gecode { namespace Int { return RT_TRUE; } - template + template forceinline RelTest - rtest_nq_dom(View x, View y) { + rtest_nq_dom(VX x, VY y) { RelTest rt = rtest_nq_bnd(x,y); if (rt != RT_MAYBE) return rt; return (x.range() && y.range()) ? RT_MAYBE : rtest_nq_dom_check(x,y); } - template + template forceinline RelTest - rtest_nq_bnd(View x, int n) { + rtest_nq_bnd(VX x, int n) { if ((n > x.max()) || (n < x.min())) return RT_TRUE; return (x.assigned()) ? RT_FALSE : RT_MAYBE; } - template + template forceinline RelTest - rtest_nq_dom_check(View x, int n) { - ViewRanges rx(x); + rtest_nq_dom_check(VX x, int n) { + ViewRanges rx(x); while (n > rx.max()) ++rx; return (n >= rx.min()) ? RT_MAYBE : RT_TRUE; } - template + template forceinline RelTest - rtest_nq_dom(View x, int n) { + rtest_nq_dom(VX x, int n) { RelTest rt = rtest_nq_bnd(x,n); if (rt != RT_MAYBE) return rt; return x.range() ? RT_MAYBE : rtest_nq_dom_check(x,n); @@ -161,70 +163,70 @@ namespace Gecode { namespace Int { * */ - template + template forceinline RelTest - rtest_lq(View x, int n) { - if (x.max() <= n) return RT_TRUE; - if (x.min() > n) return RT_FALSE; - return RT_MAYBE; - } - - template - forceinline RelTest - rtest_lq(View x, View y) { + rtest_lq(VX x, VY y) { if (x.max() <= y.min()) return RT_TRUE; if (x.min() > y.max()) return RT_FALSE; return RT_MAYBE; } - template + template forceinline RelTest - rtest_le(View x, int n) { - if (x.max() < n) return RT_TRUE; - if (x.min() >= n) return RT_FALSE; + rtest_lq(VX x, int n) { + if (x.max() <= n) return RT_TRUE; + if (x.min() > n) return RT_FALSE; return RT_MAYBE; } - template + template forceinline RelTest - rtest_le(View x, View y) { + rtest_le(VX x, VY y) { if (x.max() < y.min()) return RT_TRUE; if (x.min() >= y.max()) return RT_FALSE; return RT_MAYBE; } - template + template forceinline RelTest - rtest_gq(View x, int n) { - if (x.max() < n) return RT_FALSE; - if (x.min() >= n) return RT_TRUE; + rtest_le(VX x, int n) { + if (x.max() < n) return RT_TRUE; + if (x.min() >= n) return RT_FALSE; return RT_MAYBE; } - template + template forceinline RelTest - rtest_gq(View x, View y) { + rtest_gq(VX x, VY y) { if (x.max() < y.min()) return RT_FALSE; if (x.min() >= y.max()) return RT_TRUE; return RT_MAYBE; } - template + template forceinline RelTest - rtest_gr(View x, int n) { - if (x.max() <= n) return RT_FALSE; - if (x.min() > n) return RT_TRUE; + rtest_gq(VX x, int n) { + if (x.max() < n) return RT_FALSE; + if (x.min() >= n) return RT_TRUE; return RT_MAYBE; } - template + template forceinline RelTest - rtest_gr(View x, View y) { + rtest_gr(VX x, VY y) { if (x.max() <= y.min()) return RT_FALSE; if (x.min() > y.max()) return RT_TRUE; return RT_MAYBE; } + template + forceinline RelTest + rtest_gr(VX x, int n) { + if (x.max() <= n) return RT_FALSE; + if (x.min() > n) return RT_TRUE; + return RT_MAYBE; + } + }} // STATISTICS: int-var diff --git a/gecode/int/view/scale.hpp b/gecode/int/view/scale.hpp index 5348b3f046..f739dd201b 100755 --- a/gecode/int/view/scale.hpp +++ b/gecode/int/view/scale.hpp @@ -136,27 +136,27 @@ namespace Gecode { namespace Int { template forceinline ModEvent ScaleView::lq(Space& home, Val n) { - return (n >= max()) ? ME_INT_NONE : + return (n >= max()) ? ME_INT_NONE : x.lq(home,floor_div_xp(n,static_cast(a))); } template forceinline ModEvent ScaleView::le(Space& home, Val n) { - return (n > max()) ? ME_INT_NONE : + return (n > max()) ? ME_INT_NONE : x.le(home,floor_div_xp(n,static_cast(a))); } template forceinline ModEvent ScaleView::gq(Space& home, Val n) { - return (n <= min()) ? ME_INT_NONE : + return (n <= min()) ? ME_INT_NONE : x.gq(home,ceil_div_xp(n,static_cast(a))); } template forceinline ModEvent ScaleView::gr(Space& home, Val n) { - return (n < min()) ? ME_INT_NONE : + return (n < min()) ? ME_INT_NONE : x.gr(home,ceil_div_xp(n,static_cast(a))); } diff --git a/gecode/iter/ranges-cache.hpp b/gecode/iter/ranges-cache.hpp index 6d14f70c2a..0cc39727da 100755 --- a/gecode/iter/ranges-cache.hpp +++ b/gecode/iter/ranges-cache.hpp @@ -70,7 +70,7 @@ namespace Gecode { namespace Iter { namespace Ranges { Cache::Cache(void) {} forceinline - Cache::Cache(const Cache& m) + Cache::Cache(const Cache& m) : RangeListIter(m) {} template diff --git a/gecode/iter/ranges-inter.hpp b/gecode/iter/ranges-inter.hpp index e0520591ba..46477b0f3d 100755 --- a/gecode/iter/ranges-inter.hpp +++ b/gecode/iter/ranges-inter.hpp @@ -279,11 +279,11 @@ namespace Gecode { namespace Iter { namespace Ranges { std::min(i.max(),j->max),f); *c = t; c = &t->next; if (i.max() < j->max) { - ++i; + ++i; } else { - RangeList* t = j->next; + RangeList* tn = j->next; j->next = f; f = j; - j = t; + j = tn; } } done: diff --git a/gecode/iter/ranges-list.hpp b/gecode/iter/ranges-list.hpp index 6e232c05e7..76fe060343 100755 --- a/gecode/iter/ranges-list.hpp +++ b/gecode/iter/ranges-list.hpp @@ -124,16 +124,16 @@ namespace Gecode { namespace Iter { namespace Ranges { forceinline - RangeListIter::RLIO::RLIO(Region& r) + RangeListIter::RLIO::RLIO(Region& r) : Support::BlockAllocator(r), use_cnt(1) {} forceinline - RangeListIter::RangeListIter(void) + RangeListIter::RangeListIter(void) : rlio(NULL), h(NULL), c(NULL) {} forceinline - RangeListIter::RangeListIter(Region& r) + RangeListIter::RangeListIter(Region& r) : rlio(new (r.ralloc(sizeof(RLIO))) RLIO(r)), h(NULL), c(NULL) {} forceinline void @@ -143,7 +143,7 @@ namespace Gecode { namespace Iter { namespace Ranges { } forceinline - RangeListIter::RangeListIter(const RangeListIter& i) + RangeListIter::RangeListIter(const RangeListIter& i) : rlio(i.rlio), h(i.h), c(i.c) { if (rlio != NULL) rlio->use_cnt++; @@ -221,7 +221,7 @@ namespace Gecode { namespace Iter { namespace Ranges { inline RangeListIter::RangeList* RangeListIter::copy(I& i) { RangeList* h; - RangeList** c = &h; + RangeList** c = &h; for ( ; i(); ++i) { RangeList* t = range(i); *c = t; c = &t->next; diff --git a/gecode/iter/ranges-minus.hpp b/gecode/iter/ranges-minus.hpp index 56b9a6b4e5..a44d26ff61 100755 --- a/gecode/iter/ranges-minus.hpp +++ b/gecode/iter/ranges-minus.hpp @@ -43,7 +43,7 @@ namespace Gecode { namespace Iter { namespace Ranges { * This iterator in effect changes the order of how ranges * are iterated: the first range of the input iterator defines * the last range of the Minus iterator. Upon initialization - * all ranges of the input iterator are stored + * all ranges of the input iterator are stored * which later allows iteration in inverse direction. * * \ingroup FuncIterRanges @@ -72,7 +72,7 @@ namespace Gecode { namespace Iter { namespace Ranges { Minus::Minus(void) {} forceinline - Minus::Minus(const Minus& m) + Minus::Minus(const Minus& m) : RangeListIter(m) {} template diff --git a/gecode/iter/ranges-rangelist.hpp b/gecode/iter/ranges-rangelist.hpp index abfa449d80..2766d38ec7 100644 --- a/gecode/iter/ranges-rangelist.hpp +++ b/gecode/iter/ranges-rangelist.hpp @@ -54,9 +54,9 @@ namespace Gecode { namespace Iter { namespace Ranges { //@{ /// Default constructor RangeList(void); - /// Initialize with BndSet \a s + /// Initialize with range list \a s RangeList(const Gecode::RangeList* s); - /// Initialize with BndSet \a s + /// Initialize with range list \a s void init(const Gecode::RangeList* s); //@} @@ -79,6 +79,7 @@ namespace Gecode { namespace Iter { namespace Ranges { //@} }; + forceinline RangeList::RangeList(void) {} @@ -109,7 +110,6 @@ namespace Gecode { namespace Iter { namespace Ranges { return c->width(); } - }}} // STATISTICS: iter-any diff --git a/gecode/iter/ranges-union.hpp b/gecode/iter/ranges-union.hpp index fb79e6b724..5ca41fee8c 100755 --- a/gecode/iter/ranges-union.hpp +++ b/gecode/iter/ranges-union.hpp @@ -184,7 +184,7 @@ namespace Gecode { namespace Iter { namespace Ranges { NaryUnion::two(I& i, J& j) { RangeList* h; RangeList** c = &h; - + while (i() && j()) if (i.max()+1 < j.min()) { RangeList* t = range(i); ++i; @@ -206,7 +206,7 @@ namespace Gecode { namespace Iter { namespace Ranges { max = std::max(max,j.max()); ++j; goto nexta; } - + RangeList* t = range(min,max); *c = t; c = &t->next; } @@ -227,7 +227,7 @@ namespace Gecode { namespace Iter { namespace Ranges { NaryUnion::insert(I& i, RangeList*& u) { // The current rangelist RangeList** c = &u; - + while ((*c != NULL) && i()) if ((*c)->max+1 < i.min()) { // Keep range from union @@ -243,11 +243,11 @@ namespace Gecode { namespace Iter { namespace Ranges { (*c)->min = std::min((*c)->min,i.min()); // Compute new maximum int max = std::max((*c)->max,i.max()); - + // Scan from the next range in the union - RangeList* s = (*c)->next; + RangeList* s = (*c)->next; ++i; - + nextb: if ((s != NULL) && (s->min <= max+1)) { max = std::max(max,s->max); @@ -276,7 +276,7 @@ namespace Gecode { namespace Iter { namespace Ranges { forceinline - NaryUnion::NaryUnion(void) + NaryUnion::NaryUnion(void) : f(NULL) {} template diff --git a/gecode/iter/values-bitset.hpp b/gecode/iter/values-bitset.hpp index 4bc4513f69..229173fa4e 100755 --- a/gecode/iter/values-bitset.hpp +++ b/gecode/iter/values-bitset.hpp @@ -80,15 +80,15 @@ namespace Gecode { namespace Iter { namespace Values { template forceinline - BitSet::BitSet(const BS& bs0) + BitSet::BitSet(const BS& bs0) : bs(bs0), cur(bs.next(0)), limit(bs.size()) { } template forceinline - BitSet::BitSet(const BS& bs0, int n, int m) - : bs(bs0), - cur(bs.next(static_cast(n))), + BitSet::BitSet(const BS& bs0, int n, int m) + : bs(bs0), + cur(bs.next(static_cast(n))), limit(std::min(bs.size(),static_cast(m)+1)) { } diff --git a/gecode/iter/values-bitsetoffset.hpp b/gecode/iter/values-bitsetoffset.hpp index 2f7e90dc06..0d7bd514b7 100644 --- a/gecode/iter/values-bitsetoffset.hpp +++ b/gecode/iter/values-bitsetoffset.hpp @@ -83,15 +83,15 @@ namespace Gecode { namespace Iter { namespace Values { template forceinline - BitSetOffset::BitSetOffset(const BS& bs0) + BitSetOffset::BitSetOffset(const BS& bs0) : bs(bs0), cur(bs.next(bs0.offset())), limit(bs.offset()+bs.size()) { } template forceinline - BitSetOffset::BitSetOffset(const BS& bs0, int n, int m) - : bs(bs0), - cur(bs.next(n)), + BitSetOffset::BitSetOffset(const BS& bs0, int n, int m) + : bs(bs0), + cur(bs.next(n)), limit(std::min(bs.offset()+bs.size(),m+1)) { } diff --git a/gecode/iter/values-list.hpp b/gecode/iter/values-list.hpp index 1cfc7a3f0f..acfe1f6243 100755 --- a/gecode/iter/values-list.hpp +++ b/gecode/iter/values-list.hpp @@ -105,17 +105,17 @@ namespace Gecode { namespace Iter { namespace Values { forceinline - ValueListIter::VLIO::VLIO(Region& r) + ValueListIter::VLIO::VLIO(Region& r) : Support::BlockAllocator(r), use_cnt(1) {} forceinline - ValueListIter::ValueListIter(void) + ValueListIter::ValueListIter(void) : vlio(NULL) {} forceinline - ValueListIter::ValueListIter(Region& r) - : vlio(new (r.ralloc(sizeof(VLIO))) VLIO(r)), + ValueListIter::ValueListIter(Region& r) + : vlio(new (r.ralloc(sizeof(VLIO))) VLIO(r)), h(NULL), c(NULL) {} forceinline void @@ -125,7 +125,7 @@ namespace Gecode { namespace Iter { namespace Values { } forceinline - ValueListIter::ValueListIter(const ValueListIter& i) + ValueListIter::ValueListIter(const ValueListIter& i) : vlio(i.vlio), h(i.h), c(i.c) { vlio->use_cnt++; } diff --git a/gecode/iter/values-minus.hpp b/gecode/iter/values-minus.hpp index c3e2d476e5..b98babf9c7 100755 --- a/gecode/iter/values-minus.hpp +++ b/gecode/iter/values-minus.hpp @@ -72,7 +72,7 @@ namespace Gecode { namespace Iter { namespace Values { Minus::Minus(void) {} forceinline - Minus::Minus(const Minus& m) + Minus::Minus(const Minus& m) : ValueListIter(m) {} template diff --git a/gecode/kernel.hh b/gecode/kernel.hh index bcc0389573..b8c5bf9ebd 100755 --- a/gecode/kernel.hh +++ b/gecode/kernel.hh @@ -123,7 +123,7 @@ */ #include -#include +#include #include #include #include @@ -184,26 +184,27 @@ namespace Gecode { * * \ingroup TaskModel */ - - /** + + /** * \defgroup TaskModelBranchExec Branch with a function - * + * * This does not really branch (it just offers a single alternative) but * executes a single function during branching. A typical - * application is to post more constraints after another brancher + * application is to post more constraints after another brancher * has finished. * * \ingroup TaskModelBranch */ //@{ /// Call the function \a f (with the current space as argument) for branching - GECODE_KERNEL_EXPORT BrancherHandle + GECODE_KERNEL_EXPORT void branch(Home home, void (*f)(Space& home)); //@} } #include +#include #include #include #include @@ -227,6 +228,18 @@ namespace Gecode { #include + +/* + * Trace support + * + */ + +#include +#include +#include +#include + + /* * Allocator support * @@ -234,6 +247,15 @@ namespace Gecode { #include + +/* + * Printing support + * + */ + +#include + + #endif // STATISTICS: kernel-other diff --git a/gecode/kernel/activity.cpp b/gecode/kernel/activity.cpp index 5f5ec4b653..38257f634c 100755 --- a/gecode/kernel/activity.cpp +++ b/gecode/kernel/activity.cpp @@ -49,7 +49,7 @@ namespace Gecode { release(); } } - + Activity& Activity::operator =(const Activity& a) { if (storage != a.storage) { diff --git a/gecode/kernel/activity.hpp b/gecode/kernel/activity.hpp index dc62ecdbc4..3e01869b24 100755 --- a/gecode/kernel/activity.hpp +++ b/gecode/kernel/activity.hpp @@ -46,7 +46,7 @@ namespace Gecode { template class Recorder; /// Object for storing activity values - class Storage { + class Storage : public HeapAllocated { public: /// Mutex to synchronize globally shared access Support::Mutex m; @@ -64,10 +64,6 @@ namespace Gecode { typename BranchTraits::Merit bm); /// Delete object ~Storage(void); - /// Allocate memory from heap - static void* operator new(size_t s); - /// Free memory allocated from heap - static void operator delete(void* p); }; /// Pointer to storage object @@ -123,7 +119,7 @@ namespace Gecode { GECODE_KERNEL_EXPORT ~Activity(void); //@} - + /// \name Information access //@{ /// Return activity value at position \a i @@ -178,8 +174,10 @@ namespace Gecode { Recorder(Home home, ViewArray& x, Activity& a); /// Copy propagator during cloning virtual Propagator* copy(Space& home, bool share); - /// Cost function (crazy so that propagator is likely to run last) + /// Cost function (record so that propagator runs last) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Give advice to propagator virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); /// Perform propagation @@ -189,7 +187,7 @@ namespace Gecode { /// Post activity recorder propagator static ExecStatus post(Home home, ViewArray& x, Activity& a); }; - + /** * \brief Print activity values enclosed in curly brackets * \relates Activity @@ -206,7 +204,7 @@ namespace Gecode { */ template forceinline - Activity::Recorder::Idx::Idx(Space& home, Propagator& p, + Activity::Recorder::Idx::Idx(Space& home, Propagator& p, Council& c, int i) : Advisor(home,p,c), _info(i << 1) {} template @@ -243,7 +241,7 @@ namespace Gecode { */ template forceinline - Activity::Recorder::Recorder(Home home, ViewArray& x, + Activity::Recorder::Recorder(Home home, ViewArray& x, Activity& a0) : NaryPropagator(home,x), a(a0), c(home) { home.notice(*this,AP_DISPOSE); @@ -254,7 +252,7 @@ namespace Gecode { template forceinline ExecStatus - Activity::Recorder::post(Home home, ViewArray& x, + Activity::Recorder::post(Home home, ViewArray& x, Activity& a) { (void) new (home) Recorder(home,x,a); return ES_OK; @@ -265,18 +263,10 @@ namespace Gecode { * Activity value storage * */ - forceinline void* - Activity::Storage::operator new(size_t s) { - return Gecode::heap.ralloc(s); - } - forceinline void - Activity::Storage::operator delete(void* p) { - Gecode::heap.rfree(p); - } template forceinline Activity::Storage::Storage(Home home, ViewArray& x, double d0, - typename + typename BranchTraits::Merit bm) : use_cnt(1), a(heap.alloc(x.size())), n(x.size()), d(d0) { if (bm != NULL) @@ -371,7 +361,7 @@ namespace Gecode { s << '}'; return os << s.str(); } - + /* * Propagation for activity recorder @@ -380,7 +370,7 @@ namespace Gecode { template forceinline Activity::Recorder::Recorder(Space& home, bool share, - Recorder& p) + Recorder& p) : NaryPropagator(home,share,p) { a.update(home, share, p.a); c.update(home, share, p.c); @@ -407,9 +397,15 @@ namespace Gecode { } template - PropCost + PropCost Activity::Recorder::cost(const Space&, const ModEventDelta&) const { - return PropCost::crazy(PropCost::HI,1000); + return PropCost::record(); + } + + template + void + Activity::Recorder::reschedule(Space& home) { + View::schedule(home,*this,ME_GEN_ASSIGNED); } template @@ -439,7 +435,7 @@ namespace Gecode { a.release(); return c.empty() ? home.ES_SUBSUMED(*this) : ES_FIX; } - + } // STATISTICS: kernel-branch diff --git a/gecode/kernel/afc.hpp b/gecode/kernel/afc.hpp index f93977759b..dcc9287212 100755 --- a/gecode/kernel/afc.hpp +++ b/gecode/kernel/afc.hpp @@ -81,7 +81,7 @@ namespace Gecode { /// Destructor ~AFC(void); //@} - + /// \name Information access //@{ /// Return number of AFC values @@ -126,7 +126,7 @@ namespace Gecode { template forceinline - AFC::AFC(Home home, const VarArgArray& x, double d) + AFC::AFC(Home home, const VarArgArray& x, double d) : n(x.size()) { if ((d < 0.0) || (d > 1.0)) throw IllegalDecay("AFC"); @@ -141,7 +141,7 @@ namespace Gecode { static_cast(home).afc_decay(d); } - + forceinline AFC::AFC(const AFC& a) : n(a.n) {} @@ -183,7 +183,7 @@ namespace Gecode { (void)a; return os << "AFC(no information available)"; } - + } // STATISTICS: kernel-branch diff --git a/gecode/kernel/allocators.hpp b/gecode/kernel/allocators.hpp index 7f51dc784b..5e4e56ccda 100644 --- a/gecode/kernel/allocators.hpp +++ b/gecode/kernel/allocators.hpp @@ -40,7 +40,7 @@ namespace Gecode { template struct space_allocator; /** - + \defgroup FuncMemAllocator Using allocators with Gecode \ingroup FuncMem @@ -48,7 +48,7 @@ namespace Gecode { generic data structures such as those of the STL (e.g. std::set). Memory can be allocated from the space heap (see Space) or from a region (see Region). - + \section FuncMemAllocatorA Using allocators with dynamic data structures There are two possible scenarios for allocator usage. One is to @@ -65,8 +65,8 @@ struct MySpace : public Space { {} MySpace(bool share, MySpace& other) - : Space(share, other), - safe_set(other.safe_set.begin(), other.safe_set.end(), + : Space(share, other), + safe_set(other.safe_set.begin(), other.safe_set.end(), S::key_compare(), S::allocator_type(*this)) {} @@ -108,8 +108,8 @@ struct MySpace : public Space { {} MySpace(bool share, MySpace& other) - : Space(share, other), - fast_set(construct(other.safe_set.begin(), other.safe_set.end(), + : Space(share, other), + fast_set(construct(other.safe_set.begin(), other.safe_set.end(), S::key_compare(), S::allocator_type(*this))) {} @@ -150,10 +150,10 @@ typedef std::set, Gecode::region_allocator > SR; /** * \brief %Space allocator - specialization for \c void. * - * The specialization is needed as the default instantiation fails + * The specialization is needed as the default instantiation fails * for \c void. */ - template<> + template<> struct space_allocator { typedef void* pointer; typedef const void* const_pointer; @@ -167,13 +167,13 @@ typedef std::set, Gecode::region_allocator > SR; /** * \brief Allocator that allocates memory from a space heap * - * Note that this allocator may be used to construct dynamic + * Note that this allocator may be used to construct dynamic * data structures that allocate memory from the space heap, * or even reside in the space heap as a whole. * * \ingroup FuncMemAllocator */ - template + template struct space_allocator { /// Type of objects the allocator creates. This is identical to \a T. typedef T value_type; @@ -190,7 +190,7 @@ typedef std::set, Gecode::region_allocator > SR; /// Const reference to \a T. typedef T const& const_reference; /// Rebinding helper (returns the type of a similar allocator for type \a U). - template struct rebind { + template struct rebind { /// The allocator type for \a U typedef space_allocator other; }; @@ -221,7 +221,7 @@ typedef std::set, Gecode::region_allocator > SR; * \brief Copy from other instantiation * @param al The source allocator. */ - template + template space_allocator(space_allocator const& al) throw() : space(al.space) {} /// Convert a reference \a x to a pointer @@ -230,15 +230,15 @@ typedef std::set, Gecode::region_allocator > SR; const_pointer address(const_reference x) const { return &x; } /// Returns the largest size for which a call to allocate might succeed. size_type max_size(void) const throw() { - return std::numeric_limits::max() / + return std::numeric_limits::max() / (sizeof(T)>0 ? sizeof(T) : 1); } /** - * \brief Allocates storage + * \brief Allocates storage * * Returns a pointer to the first element in a block of storage - * count*sizeof(T) bytes in size. The block is aligned - * appropriately for objects of type \a T. Throws the exception + * count*sizeof(T) bytes in size. The block is aligned + * appropriately for objects of type \a T. Throws the exception * \a bad_alloc if the storage is unavailable. */ pointer allocate(size_type count) { @@ -246,13 +246,13 @@ typedef std::set, Gecode::region_allocator > SR; } /** - * \brief Allocates storage + * \brief Allocates storage * * Returns a pointer to the first element in a block of storage - * count*sizeof(T) bytes in size. The block is aligned - * appropriately for objects of type \a T. Throws the exception + * count*sizeof(T) bytes in size. The block is aligned + * appropriately for objects of type \a T. Throws the exception * \a bad_alloc if the storage is unavailable. - * The (unused) parameter could be used as an allocation hint, + * The (unused) parameter could be used as an allocation hint, * but this allocator ignores it. */ pointer allocate(size_type count, const void * const hint) { @@ -266,10 +266,10 @@ typedef std::set, Gecode::region_allocator > SR; } /* - * \brief Constructs an object + * \brief Constructs an object * - * Constructs an object of type \a T with the initial value of \a t - * at the location specified by \a element. This function calls + * Constructs an object of type \a T with the initial value of \a t + * at the location specified by \a element. This function calls * the placement new() operator. */ void construct(pointer element, const_reference t) { @@ -285,11 +285,11 @@ typedef std::set, Gecode::region_allocator > SR; /** * \brief Tests two space allocators for equality * - * Two allocators are equal when each can release storage allocated + * Two allocators are equal when each can release storage allocated * from the other. */ template - bool operator==(space_allocator const& al1, + bool operator==(space_allocator const& al1, space_allocator const& al2) throw() { return &al1.space == &al2.space; } @@ -297,11 +297,11 @@ typedef std::set, Gecode::region_allocator > SR; /** * \brief Tests two space allocators for inequality * - * Two allocators are equal when each can release storage allocated + * Two allocators are equal when each can release storage allocated * from the other. */ template - bool operator!=(space_allocator const& al1, + bool operator!=(space_allocator const& al1, space_allocator const& al2) throw() { return &al1.space != &al2.space; } @@ -312,10 +312,10 @@ typedef std::set, Gecode::region_allocator > SR; /** * \brief %Region allocator - specialization for \c void. * - * The specialization is needed as the default instantiation fails + * The specialization is needed as the default instantiation fails * for \c void. */ - template<> + template<> struct region_allocator { typedef void* pointer; typedef const void* const_pointer; @@ -334,7 +334,7 @@ typedef std::set, Gecode::region_allocator > SR; * * \ingroup FuncMemAllocator */ - template + template struct region_allocator { /// Type of objects the allocator creates. This is identical to \a T. typedef T value_type; @@ -352,7 +352,7 @@ typedef std::set, Gecode::region_allocator > SR; typedef T const& const_reference; /// Rebinding helper (returns the type of a similar allocator for type \a U). - template struct rebind { + template struct rebind { /// The allocator type for \a U typedef region_allocator other; }; @@ -364,20 +364,20 @@ typedef std::set, Gecode::region_allocator > SR; * \brief Construction * @param region The region to allocate objects from. */ - region_allocator(Region& region) throw() + region_allocator(Region& region) throw() : region(region) {} /** * \brief Copy construction * @param al The allocator to copy. */ - region_allocator(region_allocator const& al) throw() + region_allocator(region_allocator const& al) throw() : region(al.region) {} /** * \brief Copy from other instantiation. * @param al The source allocator. */ - template - region_allocator(region_allocator const& al) throw() + template + region_allocator(region_allocator const& al) throw() : region(al.region) {} /// Convert a reference \a x to a pointer @@ -386,16 +386,16 @@ typedef std::set, Gecode::region_allocator > SR; const_pointer address(const_reference x) const { return &x; } /// Returns the largest size for which a call to allocate might succeed. size_type max_size(void) const throw() { - return std::numeric_limits::max() + return std::numeric_limits::max() / (sizeof(T)>0 ? sizeof(T) : 1); } /** - * \brief Allocates storage + * \brief Allocates storage * * Returns a pointer to the first element in a block of storage - * count*sizeof(T) bytes in size. The block is aligned - * appropriately for objects of type \a T. Throws the exception + * count*sizeof(T) bytes in size. The block is aligned + * appropriately for objects of type \a T. Throws the exception * \a bad_alloc if the storage is unavailable. */ pointer allocate(size_type count) { @@ -403,38 +403,38 @@ typedef std::set, Gecode::region_allocator > SR; } /** - * \brief Allocates storage + * \brief Allocates storage * * Returns a pointer to the first element in a block of storage - * count*sizeof(T) bytes in size. The block is aligned - * appropriately for objects of type \a T. Throws the exception + * count*sizeof(T) bytes in size. The block is aligned + * appropriately for objects of type \a T. Throws the exception * \a bad_alloc if the storage is unavailable. * - * The (unused) parameter could be used as an allocation hint, + * The (unused) parameter could be used as an allocation hint, * but this allocator ignores it. */ pointer allocate(size_type count, const void * const hint) { (void) hint; return allocate(count); } - + /** * \brief Deallocates storage * - * Deallocates storage obtained by a call to allocate() with - * arguments \a count and \a p. Note that region allocator never + * Deallocates storage obtained by a call to allocate() with + * arguments \a count and \a p. Note that region allocator never * actually deallocates memory (so this function does nothing); * the memory is released when the region is destroyed. */ - void deallocate(pointer* p, size_type count) { + void deallocate(pointer p, size_type count) { region.rfree(static_cast(p), count); } /** * \brief Constructs an object * - * Constructs an object of type \a T with the initial value - * of \a t at the location specified by \a element. This function + * Constructs an object of type \a T with the initial value + * of \a t at the location specified by \a element. This function * calls the placement new() operator. */ void construct(pointer element, const_reference t) { @@ -450,11 +450,11 @@ typedef std::set, Gecode::region_allocator > SR; /* * \brief Tests two region allocators for equality * - * Two allocators are equal when each can release storage allocated + * Two allocators are equal when each can release storage allocated * from the other. */ template - bool operator==(region_allocator const& al1, + bool operator==(region_allocator const& al1, region_allocator const& al2) throw() { return &al1.region == &al2.region; } @@ -466,7 +466,7 @@ typedef std::set, Gecode::region_allocator > SR; * from the other. */ template - bool operator!=(region_allocator const& al1, + bool operator!=(region_allocator const& al1, region_allocator const& al2) throw() { return &al1.region != &al2.region; } diff --git a/gecode/kernel/archive.cpp b/gecode/kernel/archive.cpp index 8eea165ace..dec45548cf 100644 --- a/gecode/kernel/archive.cpp +++ b/gecode/kernel/archive.cpp @@ -45,12 +45,12 @@ namespace Gecode { _a = heap.realloc(_a,_n,m); _size = m; } - + Archive::Archive(const Archive& e) : _size(e._n), _n(e._n), _pos(e._pos) { _a = heap.alloc(_n); heap.copy(_a,e._a,_n); } - + Archive& Archive::operator =(const Archive& e) { if (this!=&e) { @@ -60,7 +60,7 @@ namespace Gecode { } return *this; } - + Archive::~Archive(void) { heap.free(_a,_size); } diff --git a/gecode/kernel/archive.hpp b/gecode/kernel/archive.hpp index 9673933901..70fd18140c 100644 --- a/gecode/kernel/archive.hpp +++ b/gecode/kernel/archive.hpp @@ -121,47 +121,47 @@ namespace Gecode { /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, unsigned int& i); /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, int& i); /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, unsigned short& i); /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, short& i); /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, unsigned char& i); /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, char& i); /** Read next element from \a e into \a i * \relates Archive - */ + */ Archive& operator >>(Archive& e, bool& i); /** Read next element from \a e into \a d * \relates Archive - */ + */ Archive& operator >>(Archive& e, float& d); /** Read next element from \a e into \a d * \relates Archive - */ + */ Archive& operator >>(Archive& e, double& d); @@ -179,10 +179,10 @@ namespace Gecode { resize(_n+1); _a[_n++] = i; } - + forceinline int Archive::size(void) const { return _n; } - + forceinline unsigned int Archive::operator [](int i) const { assert(i < _n); @@ -275,7 +275,7 @@ namespace Gecode { } forceinline Archive& operator >>(Archive& e, bool& i) { - i = static_cast(e.get()); + i = (e.get() != 0); return e; } forceinline Archive& diff --git a/gecode/kernel/array.hpp b/gecode/kernel/array.hpp index 6eeab0fc78..0759fc8178 100755 --- a/gecode/kernel/array.hpp +++ b/gecode/kernel/array.hpp @@ -364,16 +364,19 @@ namespace Gecode { * \brief Subscribe propagator \a p with propagation condition \a pc to variable * * In case \a process is false, the propagator is just subscribed but - * not processed for execution (this must be used when creating + * not scheduled for execution (this must be used when creating * subscriptions during propagation). */ - void subscribe(Space& home, Propagator& p, PropCond pc, bool process=true); + void subscribe(Space& home, Propagator& p, PropCond pc, + bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc to all views void cancel(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to variable void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a void cancel(Space& home, Advisor& a); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); //@} /// \name Cloning @@ -632,9 +635,6 @@ namespace Gecode { /// Destructor ~ArgArrayBase(void); //@} - private: - static void* operator new(size_t) throw(); - static void operator delete(void*,size_t); }; template class PrimArgArray; @@ -772,7 +772,7 @@ namespace Gecode { explicit ArgArray(int n); /// Allocate array with \a n elements and initialize with elements from array \a e ArgArray(int n, const T* e); - /// Initialize from primitive argument array \a a (copy elements) + /// Initialize from argument array \a a (copy elements) ArgArray(const ArgArray& a); /// Initialize from vector \a a ArgArray(const std::vector& a); @@ -1088,7 +1088,7 @@ namespace Gecode { return false; return true; } - + template forceinline void* VarArray::operator new(size_t) throw() { @@ -1140,7 +1140,7 @@ namespace Gecode { for (int i=x.size(); i--;) r[i] = x[i]; r[x.size()] = y; - return r; + return r; } template @@ -1398,9 +1398,9 @@ namespace Gecode { template void ViewArray::subscribe(Space& home, Propagator& p, PropCond pc, - bool process) { + bool schedule) { for (int i = n; i--; ) - x[i].subscribe(home,p,pc,process); + x[i].subscribe(home,p,pc,schedule); } template @@ -1424,6 +1424,13 @@ namespace Gecode { x[i].cancel(home,a); } + template + void + ViewArray::reschedule(Space& home, Propagator& p, PropCond pc) { + for (int i = n; i--; ) + x[i].reschedule(home,p,pc); + } + template forceinline bool ViewArray::assigned(void) const { @@ -1794,17 +1801,6 @@ namespace Gecode { return r; } - template - forceinline void* - ArgArrayBase::operator new(size_t) throw () { - return NULL; - } - - template - forceinline void - ArgArrayBase::operator delete(void*,size_t) { - } - /* * Argument arrays for primitive types * @@ -1887,14 +1883,14 @@ namespace Gecode { typename ArrayTraits >::ArgsType operator +(const PrimArgArray& x, const T& y) { return x.template concat - >::ArgsType>(y); + >::ArgsType>(y); } template typename ArrayTraits >::ArgsType operator +(const T& x, const PrimArgArray& y) { return PrimArgArray(1,x).template concat - >::ArgsType>(y); + >::ArgsType>(y); } @@ -1969,7 +1965,7 @@ namespace Gecode { typename ArrayTraits >::ArgsType operator +(const ArgArray& x, const T& y) { return x.template concat - >::ArgsType>(y); + >::ArgsType>(y); } template @@ -1978,7 +1974,7 @@ namespace Gecode { ArgArray xa(1); xa[0] = x; return xa.template concat - >::ArgsType>(y); + >::ArgsType>(y); } /* @@ -2053,7 +2049,7 @@ namespace Gecode { typename ArrayTraits >::ArgsType operator +(const VarArgArray& x, const Var& y) { return x.template concat - >::ArgsType>(y); + >::ArgsType>(y); } template @@ -2062,7 +2058,7 @@ namespace Gecode { VarArgArray xa(1); xa[0] = x; return xa.template concat - >::ArgsType>(y); + >::ArgsType>(y); } template diff --git a/gecode/kernel/branch-tiebreak.hpp b/gecode/kernel/branch-tiebreak.hpp index 01aaee3adc..2d448afc71 100755 --- a/gecode/kernel/branch-tiebreak.hpp +++ b/gecode/kernel/branch-tiebreak.hpp @@ -50,9 +50,9 @@ namespace Gecode { VarBranch d0 = VarBranch()); }; - /** + /** * \defgroup TaskModelBranchTieBreak Tie-breaking for variable selection - * + * * \ingroup TaskModelBranch */ //@{ @@ -80,21 +80,21 @@ namespace Gecode { : a(a0), b(b0), c(c0), d(d0) {} template - forceinline TieBreak + TieBreak tiebreak(VarBranch a, VarBranch b) { TieBreak ab(a,b); return ab; } template - forceinline TieBreak + TieBreak tiebreak(VarBranch a, VarBranch b, VarBranch c) { TieBreak abc(a,b,c); return abc; } template - forceinline TieBreak + TieBreak tiebreak(VarBranch a, VarBranch b, VarBranch c, VarBranch d) { TieBreak abcd(a,b,c,d); return abcd; diff --git a/gecode/kernel/branch-val.hpp b/gecode/kernel/branch-val.hpp index c523064fcf..4d37463298 100755 --- a/gecode/kernel/branch-val.hpp +++ b/gecode/kernel/branch-val.hpp @@ -65,22 +65,22 @@ namespace Gecode { }; - forceinline - ValBranch::ValBranch(void) + forceinline + ValBranch::ValBranch(void) : vf(NULL), cf(NULL) {} - - forceinline + + forceinline ValBranch::ValBranch(Rnd r0) : r(r0), vf(NULL), cf(NULL) { if (!r.initialized()) throw UninitializedRnd("ValBranch::ValBranch"); } - forceinline + forceinline ValBranch::ValBranch(VoidFunction v, VoidFunction c) : vf(v), cf(c) {} - forceinline Rnd + inline Rnd ValBranch::rnd(void) const { return r; } diff --git a/gecode/kernel/branch-var.hpp b/gecode/kernel/branch-var.hpp index 417976be25..4682a1e740 100755 --- a/gecode/kernel/branch-var.hpp +++ b/gecode/kernel/branch-var.hpp @@ -39,7 +39,7 @@ namespace Gecode { /** * \brief Tie-break limit function - * + * * Here the value \a w is the worst and \b is the best merit value * found. The function must return the merit value that is considered * the limit for breaking ties. @@ -98,36 +98,36 @@ namespace Gecode { }; // Variable branching - forceinline + forceinline VarBranch::VarBranch(BranchTbl t) : _tbl(t), _decay(1.0) {} - forceinline + forceinline VarBranch::VarBranch(double d, BranchTbl t) : _tbl(t), _decay(d) {} - forceinline + forceinline VarBranch::VarBranch(AFC a, BranchTbl t) : _tbl(t), _decay(1.0), _afc(a) { if (!_afc.initialized()) throw UninitializedAFC("VarBranch::VarBranch"); } - forceinline + forceinline VarBranch::VarBranch(Activity a, BranchTbl t) : _tbl(t), _decay(1.0), _act(a) { if (!_act.initialized()) throw UninitializedActivity("VarBranch::VarBranch"); } - forceinline + forceinline VarBranch::VarBranch(Rnd r) : _tbl(NULL), _rnd(r), _decay(1.0) { if (!_rnd.initialized()) throw UninitializedRnd("VarBranch::VarBranch"); } - forceinline + forceinline VarBranch::VarBranch(VoidFunction f, BranchTbl t) : _tbl(t), _decay(1.0), _mf(f) {} diff --git a/gecode/kernel/branch.cpp b/gecode/kernel/branch.cpp index 6cdec2641d..bb2c751fde 100755 --- a/gecode/kernel/branch.cpp +++ b/gecode/kernel/branch.cpp @@ -81,7 +81,7 @@ namespace Gecode { return new Description(*this,1); } /// Perform commit - virtual ExecStatus + virtual ExecStatus commit(Space& home, const Choice&, unsigned int) { done = true; f(home); @@ -89,7 +89,7 @@ namespace Gecode { } /// Print explanation virtual void - print(const Space&, const Choice&, unsigned int, + print(const Space&, const Choice&, unsigned int, std::ostream& o) const { o << "FunctionBranch(" << f << ")"; } @@ -98,17 +98,15 @@ namespace Gecode { return new (home) FunctionBranch(home,share,*this); } /// Post brancher - static BrancherHandle post(Home home, void (*f)(Space&)) { - return *new (home) FunctionBranch(home,f); + static void post(Home home, void (*f)(Space&)) { + (void) new (home) FunctionBranch(home,f); } }; - BrancherHandle + void branch(Home home, void (*f)(Space& home)) { - if (home.failed()) - return BrancherHandle(); - return FunctionBranch::post(home,f); + FunctionBranch::post(home,f); } } diff --git a/gecode/kernel/brancher-merit.hpp b/gecode/kernel/brancher-merit.hpp index 28e0541361..45a42e5e0a 100755 --- a/gecode/kernel/brancher-merit.hpp +++ b/gecode/kernel/brancher-merit.hpp @@ -106,7 +106,7 @@ namespace Gecode { class MeritAFC : public MeritBase { protected: /// AFC information - AFC afc; + AFC afc; public: /// Constructor for initialization MeritAFC(Space& home, const VarBranch& vb); @@ -167,8 +167,8 @@ namespace Gecode { f(function_cast(vb.merit())) {} template forceinline - MeritFunction::MeritFunction(Space& home, bool shared, - MeritFunction& mf) + MeritFunction::MeritFunction(Space& home, bool shared, + MeritFunction& mf) : MeritBase(home,shared,mf), f(mf.f) {} template forceinline double @@ -184,7 +184,7 @@ namespace Gecode { : MeritBase(home,vb) {} template forceinline - MeritDegree::MeritDegree(Space& home, bool shared, + MeritDegree::MeritDegree(Space& home, bool shared, MeritDegree& md) : MeritBase(home,shared,md) {} template @@ -200,7 +200,7 @@ namespace Gecode { : MeritBase(home,vb), afc(vb.afc()) {} template forceinline - MeritAFC::MeritAFC(Space& home, bool shared, + MeritAFC::MeritAFC(Space& home, bool shared, MeritAFC& ma) : MeritBase(home,shared,ma) { afc.update(home,shared,ma.afc); @@ -229,7 +229,7 @@ namespace Gecode { : MeritBase(home,vb), activity(vb.activity()) {} template forceinline - MeritActivity::MeritActivity(Space& home, bool shared, + MeritActivity::MeritActivity(Space& home, bool shared, MeritActivity& ma) : MeritBase(home,shared,ma) { activity.update(home, shared, ma.activity); diff --git a/gecode/kernel/brancher-val-commit.hpp b/gecode/kernel/brancher-val-commit.hpp index 3955ddefa7..496d53c9ec 100755 --- a/gecode/kernel/brancher-val-commit.hpp +++ b/gecode/kernel/brancher-val-commit.hpp @@ -64,7 +64,7 @@ namespace Gecode { /// Class for user-defined value commit template - class ValCommitFunction : public + class ValCommitFunction : public ValCommit::ValType> { typedef typename ValCommit forceinline - ValCommitFunction::ValCommitFunction(Space& home, - const ValBranch& vb) + ValCommitFunction::ValCommitFunction(Space& home, + const ValBranch& vb) : ValCommit(home,vb), c(function_cast(vb.commit())) {} template forceinline - ValCommitFunction::ValCommitFunction(Space& home, bool shared, - ValCommitFunction& vc) + ValCommitFunction::ValCommitFunction(Space& home, bool shared, + ValCommitFunction& vc) : ValCommit(home,shared,vc), c(vc.c) {} template forceinline ModEvent - ValCommitFunction::commit(Space& home, unsigned int a, View x, int i, + ValCommitFunction::commit(Space& home, unsigned int a, View x, int i, Val n) { typename View::VarType y(x.varimp()); c(home,a,y,i,n); @@ -137,7 +137,7 @@ namespace Gecode { } template forceinline void - ValCommitFunction::print(const Space&, unsigned int, + ValCommitFunction::print(const Space&, unsigned int, View, int i, const Val&, std::ostream& o) const { o << "var[" << i << "] is user-defined."; diff --git a/gecode/kernel/brancher-val-sel-commit.hpp b/gecode/kernel/brancher-val-sel-commit.hpp index c87b373b49..c5b97de818 100755 --- a/gecode/kernel/brancher-val-sel-commit.hpp +++ b/gecode/kernel/brancher-val-sel-commit.hpp @@ -55,12 +55,12 @@ namespace Gecode { /// Constructor for initialization ValSelCommitBase(Space& home, const ValBranch& vb); /// Constructor for cloning - ValSelCommitBase(Space& home, bool shared, + ValSelCommitBase(Space& home, bool shared, ValSelCommitBase& vsc); /// Return value of view \a x at position \a i virtual Val val(const Space& home, View x, int i) = 0; /// Commit view \a x at position \a i to value \a n for alternative \a a - virtual ModEvent commit(Space& home, unsigned int a, + virtual ModEvent commit(Space& home, unsigned int a, View x, int i, Val n) = 0; /// Create no-good literal for choice \a c and alternative \a a virtual NGL* ngl(Space& home, unsigned int a, @@ -75,6 +75,8 @@ namespace Gecode { virtual bool notice(void) const = 0; /// Delete value selection virtual void dispose(Space& home) = 0; + /// Unused destructor + virtual ~ValSelCommitBase(void); /// \name Memory management //@{ /// Allocate memory from space @@ -88,7 +90,7 @@ namespace Gecode { /// Class for value selection and commit template - class ValSelCommit + class ValSelCommit : public ValSelCommitBase { protected: typedef typename ValSelCommitBase& vsc); /// Return value of view \a x at position \a i virtual Val val(const Space& home, View x, int i); @@ -133,6 +135,8 @@ namespace Gecode { forceinline ValSelCommitBase:: ValSelCommitBase(Space&, bool, ValSelCommitBase&) {} + template + ValSelCommitBase::~ValSelCommitBase(void) {} template forceinline void @@ -151,13 +155,13 @@ namespace Gecode { template forceinline - ValSelCommit::ValSelCommit(Space& home, - const ValBranch& vb) + ValSelCommit::ValSelCommit(Space& home, + const ValBranch& vb) : ValSelCommitBase(home,vb), s(home,vb), c(home,vb) {} template forceinline - ValSelCommit::ValSelCommit(Space& home, bool shared, + ValSelCommit::ValSelCommit(Space& home, bool shared, ValSelCommit& vsc) : ValSelCommitBase(home,shared,vsc), s(home,shared,vsc.s), c(home,shared,vsc.c) {} @@ -170,13 +174,13 @@ namespace Gecode { template ModEvent - ValSelCommit::commit(Space& home, unsigned int a, + ValSelCommit::commit(Space& home, unsigned int a, View x, int i, Val n) { return c.commit(home,a,x,i,n); } template - NGL* + NGL* ValSelCommit::ngl(Space& home, unsigned int a, View x, Val n) const { return c.ngl(home, a, x, n); @@ -184,7 +188,7 @@ namespace Gecode { template void - ValSelCommit::print(const Space& home, unsigned int a, + ValSelCommit::print(const Space& home, unsigned int a, View x, int i, const Val& n, std::ostream& o) const { c.print(home,a,x,i,n,o); diff --git a/gecode/kernel/brancher-val-sel.hpp b/gecode/kernel/brancher-val-sel.hpp index 591bc5047a..e452203545 100755 --- a/gecode/kernel/brancher-val-sel.hpp +++ b/gecode/kernel/brancher-val-sel.hpp @@ -64,7 +64,7 @@ namespace Gecode { /// User-defined value selection template - class ValSelFunction : + class ValSelFunction : public ValSel::ValType> { public: @@ -115,8 +115,8 @@ namespace Gecode { v(function_cast(vb.val())) {} template forceinline - ValSelFunction::ValSelFunction(Space& home, bool shared, - ValSelFunction& vs) + ValSelFunction::ValSelFunction(Space& home, bool shared, + ValSelFunction& vs) : ValSel(home,shared,vs), v(vs.v) {} template forceinline typename ValSelFunction::Val diff --git a/gecode/kernel/brancher-view-sel.hpp b/gecode/kernel/brancher-view-sel.hpp index cca89418d6..06c146e825 100755 --- a/gecode/kernel/brancher-view-sel.hpp +++ b/gecode/kernel/brancher-view-sel.hpp @@ -63,19 +63,19 @@ namespace Gecode { /// Select a view from \a x starting from \a s and return its position virtual int select(Space& home, ViewArray& x, int s) = 0; /// Select a view from \a x starting from \a s and return its position - virtual int select(Space& home, ViewArray& x, int s, + virtual int select(Space& home, ViewArray& x, int s, BranchFilter bf) = 0; /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n) = 0; /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf) = 0; /// Break ties in \a x and update to new ties - virtual void brk(Space& home, ViewArray& x, + virtual void brk(Space& home, ViewArray& x, int* ties, int& n) = 0; /// Select a view from \a x considering views with positions in \a ties - virtual int select(Space& home, ViewArray& x, + virtual int select(Space& home, ViewArray& x, int* ties, int n) = 0; //@} /// \name Resource management and cloning @@ -86,6 +86,8 @@ namespace Gecode { virtual bool notice(void) const; /// Dispose view selection virtual void dispose(Space& home); + /// Unused destructor + virtual ~ViewSel(void); //@} /// \name Memory management //@{ @@ -115,17 +117,17 @@ namespace Gecode { /// Select a view from \a x starting at \a s and return its position virtual int select(Space& home, ViewArray& x, int s); /// Select a view from \a x starting at \a s and return its position - virtual int select(Space& home, ViewArray& x, int s, + virtual int select(Space& home, ViewArray& x, int s, BranchFilter bf); /// Select ties from \a x starting at \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n); /// Select ties from \a x starting at \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf); /// Break ties in \a x and update to new ties - virtual void brk(Space& home, ViewArray& x, + virtual void brk(Space& home, ViewArray& x, int* ties, int& n); /// Select a view from \a x considering view with positions in \a ties virtual int select(Space& home, ViewArray& x, int* ties, int n); @@ -160,10 +162,10 @@ namespace Gecode { virtual int select(Space& home, ViewArray& x, int s, BranchFilter bf); /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n); /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf); /// Break ties in \a x and update to new ties virtual void brk(Space& home, ViewArray& x, int* ties, int& n); @@ -218,13 +220,13 @@ namespace Gecode { /// Select a view from \a x starting from \a s and return its position virtual int select(Space& home, ViewArray& x, int s); /// Select a view from \a x starting from \a s and return its position - virtual int select(Space& home, ViewArray& x, int s, + virtual int select(Space& home, ViewArray& x, int s, BranchFilter bf); /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n); /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf); /// Break ties in \a x and update to new ties virtual void brk(Space& home, ViewArray& x, int* ties, int& n); @@ -258,16 +260,16 @@ namespace Gecode { /// Constructor for initialization ViewSelChooseTbl(Space& home, const VarBranch& vb); /// Constructor for copying during cloning - ViewSelChooseTbl(Space& home, bool shared, - ViewSelChooseTbl& vs); + ViewSelChooseTbl(Space& home, bool shared, + ViewSelChooseTbl& vs); //@} /// \name View selection and tie breaking //@{ /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n); /// Select ties from \a x starting from \a s - virtual void ties(Space& home, ViewArray& x, int s, + virtual void ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf); /// Break ties in \a x and update to new ties virtual void brk(Space& home, ViewArray& x, int* ties, int& n); @@ -371,6 +373,8 @@ namespace Gecode { void ViewSel::dispose(Space&) {} template + ViewSel::~ViewSel(void) {} + template forceinline void ViewSel::operator delete(void*) {} template @@ -385,11 +389,11 @@ namespace Gecode { template forceinline - ViewSelNone::ViewSelNone(Space& home, const VarBranch& vb) + ViewSelNone::ViewSelNone(Space& home, const VarBranch& vb) : ViewSel(home,vb) {} template forceinline - ViewSelNone::ViewSelNone(Space& home, bool shared, + ViewSelNone::ViewSelNone(Space& home, bool shared, ViewSelNone& vs) : ViewSel(home,shared,vs) {} template @@ -403,8 +407,8 @@ namespace Gecode { return s; } template - void - ViewSelNone::ties(Space&, ViewArray& x, int s, + void + ViewSelNone::ties(Space&, ViewArray& x, int s, int* ties, int& n) { int j=0; ties[j++]=s; for (int i=s+1; i 0); } template - void - ViewSelNone::ties(Space& home, ViewArray& x, int s, + void + ViewSelNone::ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf) { int j=0; ties[j++]=s; for (int i=s+1; i forceinline - ViewSelRnd::ViewSelRnd(Space& home, const VarBranch& vb) + ViewSelRnd::ViewSelRnd(Space& home, const VarBranch& vb) : ViewSel(home,vb), r(vb.rnd()) {} template forceinline @@ -480,19 +484,19 @@ namespace Gecode { return j; } template - void - ViewSelRnd::ties(Space& home, ViewArray& x, int s, + void + ViewSelRnd::ties(Space& home, ViewArray& x, int s, int* ties, int& n) { n=1; ties[0] = select(home,x,s); } template void - ViewSelRnd::ties(Space& home, ViewArray& x, int s, + ViewSelRnd::ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf) { n=1; ties[0] = select(home,x,s,bf); } template - void + void ViewSelRnd::brk(Space&, ViewArray&, int* ties, int& n) { ties[0] = ties[static_cast(r(static_cast(n)))]; n=1; @@ -523,13 +527,13 @@ namespace Gecode { template forceinline - ViewSelChoose::ViewSelChoose(Space& home, const VarBranch& vb) + ViewSelChoose::ViewSelChoose(Space& home, const VarBranch& vb) : ViewSel(home,vb), m(home,vb) {} template forceinline - ViewSelChoose::ViewSelChoose(Space& home, bool shared, - ViewSelChoose& vs) + ViewSelChoose::ViewSelChoose(Space& home, bool shared, + ViewSelChoose& vs) : ViewSel(home,shared,vs), m(home,shared,vs.m) {} template @@ -550,8 +554,8 @@ namespace Gecode { } template - int - ViewSelChoose::select(Space& home, ViewArray& x, int s, + int + ViewSelChoose::select(Space& home, ViewArray& x, int s, BranchFilter bf) { // Consider x[s] as the so-far best view int b_i = s; @@ -570,8 +574,8 @@ namespace Gecode { } template - void - ViewSelChoose::ties(Space& home, ViewArray& x, int s, + void + ViewSelChoose::ties(Space& home, ViewArray& x, int s, int* ties, int& n) { // Consider x[s] as the so-far best view and record as tie Val b = m(home,x[s],s); @@ -593,8 +597,8 @@ namespace Gecode { } template - void - ViewSelChoose::ties(Space& home, ViewArray& x, int s, + void + ViewSelChoose::ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf) { // Consider x[s] as the so-far best view and record as tie Val b = m(home,x[s],s); @@ -618,8 +622,8 @@ namespace Gecode { } template - void - ViewSelChoose::brk(Space& home, ViewArray& x, + void + ViewSelChoose::brk(Space& home, ViewArray& x, int* ties, int& n) { // Keep first tie in place Val b = m(home,x[ties[0]],ties[0]); @@ -636,13 +640,13 @@ namespace Gecode { } } n=j; - // There must be at least one tie, of course! + // There must be at least one tie, of course! assert(n > 0); } template - int - ViewSelChoose::select(Space& home, ViewArray& x, + int + ViewSelChoose::select(Space& home, ViewArray& x, int* ties, int n) { int b_i = ties[0]; Val b_m = m(home,x[ties[0]],ties[0]); @@ -654,15 +658,15 @@ namespace Gecode { } return b_i; } - + template - bool + bool ViewSelChoose::notice(void) const { return m.notice(); } template - void + void ViewSelChoose::dispose(Space& home) { m.dispose(home); } @@ -670,20 +674,20 @@ namespace Gecode { template forceinline - ViewSelChooseTbl::ViewSelChooseTbl(Space& home, - const VarBranch& vb) + ViewSelChooseTbl::ViewSelChooseTbl(Space& home, + const VarBranch& vb) : ViewSelChoose(home,vb), tbl(vb.tbl()) {} template forceinline ViewSelChooseTbl::ViewSelChooseTbl - (Space& home, bool shared, - ViewSelChooseTbl& vs) + (Space& home, bool shared, + ViewSelChooseTbl& vs) : ViewSelChoose(home,shared,vs), tbl(vs.tbl) {} template - void - ViewSelChooseTbl::ties(Space& home, ViewArray& x, int s, + void + ViewSelChooseTbl::ties(Space& home, ViewArray& x, int s, int* ties, int& n) { // Find the worst and best merit value Val w = m(home,x[s],s); @@ -722,7 +726,7 @@ namespace Gecode { template void - ViewSelChooseTbl::ties(Space& home, ViewArray& x, int s, + ViewSelChooseTbl::ties(Space& home, ViewArray& x, int s, int* ties, int& n, BranchFilter bf) { // Find the worst and best merit value Val w = m(home,x[s],s); @@ -744,7 +748,7 @@ namespace Gecode { int j=0; for (int i=s; i(m(home,x[i],i)))) ties[j++]=i; } @@ -803,17 +807,17 @@ namespace Gecode { template forceinline - ViewSelMin::ViewSelMin(Space& home, const VarBranch& vb) + ViewSelMin::ViewSelMin(Space& home, const VarBranch& vb) : ViewSelChoose(home,vb) {} template forceinline - ViewSelMin::ViewSelMin(Space& home, bool shared, - ViewSelMin& vs) + ViewSelMin::ViewSelMin(Space& home, bool shared, + ViewSelMin& vs) : ViewSelChoose(home,shared,vs) {} template - ViewSel::View>* + ViewSel::View>* ViewSelMin::copy(Space& home, bool shared) { return new (home) ViewSelMin(home,shared,*this); } @@ -821,17 +825,17 @@ namespace Gecode { template forceinline - ViewSelMinTbl::ViewSelMinTbl(Space& home, const VarBranch& vb) + ViewSelMinTbl::ViewSelMinTbl(Space& home, const VarBranch& vb) : ViewSelChooseTbl(home,vb) {} template forceinline - ViewSelMinTbl::ViewSelMinTbl(Space& home, bool shared, - ViewSelMinTbl& vs) + ViewSelMinTbl::ViewSelMinTbl(Space& home, bool shared, + ViewSelMinTbl& vs) : ViewSelChooseTbl(home,shared,vs) {} template - ViewSel::View>* + ViewSel::View>* ViewSelMinTbl::copy(Space& home, bool shared) { return new (home) ViewSelMinTbl(home,shared,*this); } @@ -840,17 +844,17 @@ namespace Gecode { template forceinline - ViewSelMax::ViewSelMax(Space& home, const VarBranch& vb) + ViewSelMax::ViewSelMax(Space& home, const VarBranch& vb) : ViewSelChoose(home,vb) {} template forceinline - ViewSelMax::ViewSelMax(Space& home, bool shared, - ViewSelMax& vs) + ViewSelMax::ViewSelMax(Space& home, bool shared, + ViewSelMax& vs) : ViewSelChoose(home,shared,vs) {} template - ViewSel::View>* + ViewSel::View>* ViewSelMax::copy(Space& home, bool shared) { return new (home) ViewSelMax(home,shared,*this); } @@ -859,17 +863,17 @@ namespace Gecode { template forceinline - ViewSelMaxTbl::ViewSelMaxTbl(Space& home, const VarBranch& vb) + ViewSelMaxTbl::ViewSelMaxTbl(Space& home, const VarBranch& vb) : ViewSelChooseTbl(home,vb) {} template forceinline - ViewSelMaxTbl::ViewSelMaxTbl(Space& home, bool shared, - ViewSelMaxTbl& vs) + ViewSelMaxTbl::ViewSelMaxTbl(Space& home, bool shared, + ViewSelMaxTbl& vs) : ViewSelChooseTbl(home,shared,vs) {} template - ViewSel::View>* + ViewSel::View>* ViewSelMaxTbl::copy(Space& home, bool shared) { return new (home) ViewSelMaxTbl(home,shared,*this); } diff --git a/gecode/kernel/brancher-view-val.hpp b/gecode/kernel/brancher-view-val.hpp index 12554c40d2..739e03f2df 100755 --- a/gecode/kernel/brancher-view-val.hpp +++ b/gecode/kernel/brancher-view-val.hpp @@ -80,6 +80,8 @@ namespace Gecode { virtual void subscribe(Space& home, Propagator& p); /// Cancel subscription for no-good literal virtual void cancel(Space& home, Propagator& p); + /// Schedule propagator \a p + virtual void reschedule(Space& home, Propagator& p); /// Dispose virtual size_t dispose(Space& home); }; @@ -100,8 +102,8 @@ namespace Gecode { /// Value selection and commit object ValSelCommitBase* vsc; /// Function type for printing variable and value selection - typedef void (*VarValPrint)(const Space& home, const BrancherHandle& bh, - unsigned int b, + typedef void (*VarValPrint)(const Space& home, const Brancher& b, + unsigned int alt, typename View::VarType x, int i, const Val& m, std::ostream& o); @@ -110,9 +112,9 @@ namespace Gecode { /// Constructor for cloning \a b ViewValBrancher(Space& home, bool share, ViewValBrancher& b); /// Constructor for creation - ViewValBrancher(Home home, + ViewValBrancher(Home home, ViewArray& x, - ViewSel* vs[n], + ViewSel* vs[n], ValSelCommitBase* vsc, BranchFilter bf, VarValPrint vvp); @@ -139,12 +141,12 @@ namespace Gecode { /// Delete brancher and return its size virtual size_t dispose(Space& home); /// Brancher post function - static BrancherHandle post(Home home, - ViewArray& x, - ViewSel* vs[n], - ValSelCommitBase* vsc, - BranchFilter bf, - VarValPrint vvp); + static void post(Home home, + ViewArray& x, + ViewSel* vs[n], + ValSelCommitBase* vsc, + BranchFilter bf, + VarValPrint vvp); }; //@} @@ -193,26 +195,32 @@ namespace Gecode { : NGL(home,share,ngl), n(ngl.n) { x.update(home,share,ngl.x); } - + template void ViewValNGL::subscribe(Space& home, Propagator& p) { x.subscribe(home,p,pc); } - + template void ViewValNGL::cancel(Space& home, Propagator& p) { x.cancel(home,p,pc); } - + + template + void + ViewValNGL::reschedule(Space& home, Propagator& p) { + x.reschedule(home,p,pc); + } + template size_t ViewValNGL::dispose(Space& home) { (void) NGL::dispose(home); return sizeof(*this); } - + /* @@ -222,9 +230,9 @@ namespace Gecode { template forceinline ViewValBrancher:: - ViewValBrancher(Home home, + ViewValBrancher(Home home, ViewArray& x, - ViewSel* vs[n], + ViewSel* vs[n], ValSelCommitBase* vsc0, BranchFilter bf, VarValPrint vvp0) @@ -234,22 +242,22 @@ namespace Gecode { } template - inline BrancherHandle + inline void ViewValBrancher:: post(Home home, ViewArray& x, ViewSel* vs[n], ValSelCommitBase* vsc, BranchFilter bf, VarValPrint vvp) { - return *new (home) ViewValBrancher(home,x,vs,vsc,bf,vvp); + (void) new (home) ViewValBrancher(home,x,vs,vsc,bf,vvp); } template forceinline ViewValBrancher:: ViewValBrancher(Space& home, bool shared, ViewValBrancher& b) - : ViewBrancher(home,shared,b), + : ViewBrancher(home,shared,b), vsc(b.vsc->copy(home,shared)), vvp(b.vvp) {} - + template Actor* ViewValBrancher::copy(Space& home, bool shared) { @@ -282,7 +290,7 @@ namespace Gecode { return me_failed(vsc->commit(home,b, ViewBrancher::view(pvc.pos()), pvc.pos().pos, - pvc.val())) + pvc.val())) ? ES_FAILED : ES_OK; } diff --git a/gecode/kernel/brancher-view.hpp b/gecode/kernel/brancher-view.hpp index 51898c20c3..d1d9967875 100755 --- a/gecode/kernel/brancher-view.hpp +++ b/gecode/kernel/brancher-view.hpp @@ -72,7 +72,7 @@ namespace Gecode { /** * \brief Generic brancher by view selection * - * Defined for views of type \a View and \a n view selectors for + * Defined for views of type \a View and \a n view selectors for * tie-breaking. */ template diff --git a/gecode/kernel/core.cpp b/gecode/kernel/core.cpp index f11c947a9c..d066c42842 100644 --- a/gecode/kernel/core.cpp +++ b/gecode/kernel/core.cpp @@ -56,11 +56,9 @@ namespace Gecode { */ Actor* Actor::sentinel; -#ifdef __GNUC__ - /// To avoid warnings from GCC - Actor::~Actor(void) {} -#endif - + Actor::~Actor(void) { + assert(false); + } /* @@ -93,7 +91,7 @@ namespace Gecode { return NULL; } - void + void Brancher::print(const Space&, const Choice&, unsigned int, std::ostream&) const { } @@ -128,7 +126,7 @@ namespace Gecode { // Initialize propagator queues for (int i=0; i<=PropCost::AC_MAX; i++) pc.p.queue[i].init(); - pc.p.branch_id = reserved_branch_id+1; + pc.p.bid = reserved_bid+1; pc.p.n_sub = 0; } @@ -192,22 +190,6 @@ namespace Gecode { } } - unsigned int - Space::propagators(void) const { - unsigned int n = 0; - for (Propagators p(*this); p(); ++p) - n++; - return n; - } - - unsigned int - Space::branchers(void) const { - unsigned int n = 0; - for (Branchers b(*this); b(); ++b) - n++; - return n; - } - void Space::flush(void) { // Flush malloc cache @@ -252,9 +234,8 @@ namespace Gecode { Space::status(StatusStatistics& stat) { SpaceStatus s = SS_FAILED; // Check whether space is failed - if (failed()) { - s = SS_FAILED; goto exit; - } + if (failed()) + goto exit; assert(pc.p.active <= &pc.p.queue[PropCost::AC_MAX+1]); // Check whether space is stable but not failed if (pc.p.active >= &pc.p.queue[0]) { @@ -263,6 +244,9 @@ namespace Gecode { goto unstable; execute: stat.propagate++; + if (p->disabled()) + goto put_into_idle; + pc.p.ei.propagator(*p); // Keep old modification event delta med_o = p->u.med; // Clear med but leave propagator in queue @@ -271,7 +255,7 @@ namespace Gecode { case ES_FAILED: // Count failure if (afc_enabled()) - gafc.fail(p->gafc); + gpi.fail(p->gpi()); // Mark as failed fail(); s = SS_FAILED; goto exit; case ES_NOFIX: @@ -293,8 +277,11 @@ namespace Gecode { } // Fall through case ES_FIX: - // Clear med and put into idle queue - p->u.med = 0; p->unlink(); pl.head(p); + put_into_idle: + // Clear med + p->u.med = 0; + // Put into idle queue + p->unlink(); pl.head(p); stable_or_unstable: // There might be a propagator in the queue do { @@ -321,6 +308,7 @@ namespace Gecode { } } stable: + pc.p.ei.other(); /* * Find the next brancher that has still alternatives left * @@ -356,7 +344,7 @@ namespace Gecode { s = SS_SOLVED; exit: stat.wmp = (wmp() > 0U); - if (wmp() == 1U) + if (wmp() == 1U) wmp(0U); return s; } @@ -369,7 +357,7 @@ namespace Gecode { if (failed() || (b_status == Brancher::cast(&bl))) { // There are no more choices to be generated // Delete all branchers - Brancher* b = Brancher::cast(bl.next()); + Brancher* b = Brancher::cast(bl.next()); while (b != Brancher::cast(&bl)) { Brancher* d = b; b = Brancher::cast(b->next()); @@ -413,9 +401,12 @@ namespace Gecode { throw SpaceIllegalAlternative("Space::commit"); if (failed()) return; - if (Brancher* b = brancher(c._id)) { + if (Brancher* b = brancher(c.bid)) { // There is a matching brancher - if (b->commit(*this,c,a) == ES_FAILED) + pc.p.ei.brancher(*b); + ExecStatus es = b->commit(*this,c,a); + pc.p.ei.other(); + if (es == ES_FAILED) fail(); } else { // There is no matching brancher! @@ -429,9 +420,12 @@ namespace Gecode { throw SpaceIllegalAlternative("Space::commit"); if (failed()) return; - if (Brancher* b = brancher(c._id)) { + if (Brancher* b = brancher(c.bid)) { // There is a matching brancher - if (b->commit(*this,c,a) == ES_FAILED) + pc.p.ei.brancher(*b); + ExecStatus es = b->commit(*this,c,a); + pc.p.ei.other(); + if (es == ES_FAILED) fail(); } } @@ -442,7 +436,7 @@ namespace Gecode { throw SpaceIllegalAlternative("Space::ngl"); if (failed()) return NULL; - if (Brancher* b = brancher(c._id)) { + if (Brancher* b = brancher(c.bid)) { // There is a matching brancher return b->ngl(*this,c,a); } else { @@ -456,7 +450,7 @@ namespace Gecode { throw SpaceIllegalAlternative("Space::print"); if (failed()) return; - if (Brancher* b = const_cast(*this).brancher(c._id)) { + if (Brancher* b = const_cast(*this).brancher(c.bid)) { // There is a matching brancher b->print(*this,c,a,o); } else { @@ -469,23 +463,15 @@ namespace Gecode { Space::kill_brancher(unsigned int id) { if (failed()) return; - for (Brancher* b = Brancher::cast(bl.next()); + for (Brancher* b = Brancher::cast(bl.next()); b != Brancher::cast(&bl); b = Brancher::cast(b->next())) if (b->id() == id) { - // Make sure that neither b_status nor b_commit does not point to b - if (b_commit == b) - b_commit = Brancher::cast(b->next()); - if (b_status == b) - b_status = Brancher::cast(b->next()); - b->unlink(); - rfree(b,b->dispose(*this)); + kill(*b); return; } } - - /* * Space cloning * @@ -498,9 +484,9 @@ namespace Gecode { * */ Space::Space(bool share, Space& s) - : sm(s.sm->copy(share)), + : sm(s.sm->copy(share)), mm(sm,s.mm,s.pc.p.n_sub*sizeof(Propagator**)), - gafc(s.gafc), + gpi(s.gpi), d_fst(&Actor::sentinel), _wmp_afc(s._wmp_afc) { #ifdef GECODE_HAS_VAR_DISPOSE @@ -554,14 +540,14 @@ namespace Gecode { } Space* - Space::_clone(bool share) { + Space::_clone(bool share_data, bool share_info) { if (failed()) throw SpaceFailed("Space::clone"); if (!stable()) throw SpaceNotStable("Space::clone"); // Copy all data structures (which in turn will invoke the constructor) - Space* c = copy(share); + Space* c = copy(share_data); if (c->d_fst != &Actor::sentinel) throw SpaceNotCloned("Space::clone"); @@ -637,7 +623,22 @@ namespace Gecode { c->pc.p.queue[i].init(); // Copy propagation only data c->pc.p.n_sub = pc.p.n_sub; - c->pc.p.branch_id = pc.p.branch_id; + c->pc.p.bid = pc.p.bid; + + if (!share_info) { + // Re-allocate afc information + for (ActorLink* c_a = c->pl.next(); c_a != &c->pl; c_a = c_a->next()) { + Propagator* p = Propagator::cast(c_a); + GPI::Info* gpi = c->gpi.allocate(p->gpi().gid); + if (p->disabled()) + p->gpi_disabled = Support::mark(gpi); + else + p->gpi_disabled = gpi; + } + } + // Reset execution information + c->pc.p.ei.other(); pc.p.ei.other(); + return c; } @@ -646,19 +647,29 @@ namespace Gecode { } bool - Space::master(const CRI& cri) { - if (cri.last() != NULL) - constrain(*cri.last()); - cri.nogoods().post(*this); - // Perform a restart even if a solution has been found - return true; + Space::master(const MetaInfo& mi) { + switch (mi.type()) { + case MetaInfo::RESTART: + if (mi.last() != NULL) + constrain(*mi.last()); + mi.nogoods().post(*this); + // Perform a restart even if a solution has been found + return true; + case MetaInfo::PORTFOLIO: + // Kill all branchers + BrancherGroup::all.kill(*this); + return true; + default: GECODE_NEVER; + return true; + } } bool - Space::slave(const CRI&) { + Space::slave(const MetaInfo&) { return true; } + void LocalObject::fwdcopy(Space& home, bool share) { ActorLink::cast(this)->prev(copy(home,share)); @@ -675,17 +686,17 @@ namespace Gecode { Space::afc_decay(double d) { afc_enable(); // Commit outstanding decay operations - if (gafc.decay() != 1.0) + if (gpi.decay() != 1.0) for (Propagators p(*this); p(); ++p) - (void) gafc.afc(p.propagator().gafc); - gafc.decay(d); + (void) gpi.afc(p.propagator().gpi()); + gpi.decay(d); } void Space::afc_set(double a) { afc_enable(); for (Propagators p(*this); p(); ++p) - gafc.set(p.propagator().gafc,a); + gpi.set(p.propagator().gpi(),a); } @@ -694,6 +705,162 @@ namespace Gecode { return false; } + NGL::~NGL(void) { + } + + + /* + * Groups + */ + + Group Group::all(GROUPID_ALL); + Group Group::def(GROUPID_DEF); + + PropagatorGroup PropagatorGroup::all(GROUPID_ALL); + PropagatorGroup PropagatorGroup::def(GROUPID_DEF); + + BrancherGroup BrancherGroup::all(GROUPID_ALL); + BrancherGroup BrancherGroup::def(GROUPID_DEF); + + unsigned int Group::next = GROUPID_DEF+1; + Support::Mutex Group::m; + + + Group::Group(void) { + m.acquire(); + gid = next++; + m.release(); + if (gid == GROUPID_MAX) + throw TooManyGroups("Group::Group"); + } + + + PropagatorGroup& + PropagatorGroup::move(Space& home, PropagatorGroup g) { + if ((id() != GROUPID_ALL) && (id() != g.id())) + for (Space::Propagators ps(home); ps(); ++ps) + if (g.in(ps.propagator().group())) + ps.propagator().group(*this); + return *this; + } + + PropagatorGroup& + PropagatorGroup::move(Space& home, unsigned int pid) { + if (id() == GROUPID_ALL) + return *this; + for (Space::Propagators ps(home); ps(); ++ps) + if (ps.propagator().id() == pid) { + ps.propagator().group(*this); + return *this; + } + throw UnknownPropagator("PropagatorGroup::move"); + GECODE_NEVER; + return *this; + } + + unsigned int + PropagatorGroup::size(Space& home) const { + if (home.failed()) + return 0; + unsigned int n=0; + for (Space::Propagators ps(home); ps(); ++ps) + if (in(ps.propagator().group())) + n++; + return n; + } + + void + PropagatorGroup::kill(Space& home) { + if (home.failed()) + return; + Space::Propagators ps(home); + while (ps()) { + Propagator& p = ps.propagator(); + ++ps; + if (in(p.group())) + home.kill(p); + } + } + + void + PropagatorGroup::disable(Space& home) { + if (home.failed()) + return; + for (Space::Propagators ps(home); ps(); ++ps) + if (in(ps.propagator().group())) + ps.propagator().disable(); + } + + void + PropagatorGroup::enable(Space& home, bool s) { + if (home.failed()) + return; + if (s) { + Space::Propagators ps(home); + while (ps()) { + Propagator& p = ps.propagator(); + ++ps; + if (in(p.group())) { + p.enable(); + p.reschedule(home); + } + } + } else { + for (Space::Propagators ps(home); ps(); ++ps) + if (in(ps.propagator().group())) + ps.propagator().enable(); + } + } + + + BrancherGroup& + BrancherGroup::move(Space& home, BrancherGroup g) { + if ((id() != GROUPID_ALL) && (id() != g.id())) + for (Space::Branchers bs(home); bs(); ++bs) + if (g.in(bs.brancher().group())) + bs.brancher().group(*this); + return *this; + } + + BrancherGroup& + BrancherGroup::move(Space& home, unsigned int bid) { + if (id() == GROUPID_ALL) + return *this; + for (Space::Branchers bs(home); bs(); ++bs) + if (bs.brancher().id() == bid) { + bs.brancher().group(*this); + return *this; + } + throw UnknownBrancher("BrancherGroup::move"); + GECODE_NEVER; + return *this; + } + + unsigned int + BrancherGroup::size(Space& home) const { + if (home.failed()) + return 0; + unsigned int n=0; + for (Space::Branchers bs(home); bs(); ++bs) + if (in(bs.brancher().group())) + n++; + return n; + } + + void + BrancherGroup::kill(Space& home) { + if (home.failed()) + return; + Space::Branchers bs(home); + while (bs()) { + Brancher& b = bs.brancher(); + ++bs; + if (in(b.group())) + home.kill(b); + } + } + + } // STATISTICS: kernel-core diff --git a/gecode/kernel/core.hpp b/gecode/kernel/core.hpp index 6f44b55bd6..7c384e4837 100644 --- a/gecode/kernel/core.hpp +++ b/gecode/kernel/core.hpp @@ -85,7 +85,7 @@ namespace Gecode { * * \ingroup FuncSupportShared */ - class Object { + class Object : public HeapAllocated { friend class Space; friend class SharedHandle; private: @@ -102,10 +102,6 @@ namespace Gecode { virtual Object* copy(void) const = 0; /// Delete shared object virtual ~Object(void); - /// Allocate memory from heap - static void* operator new(size_t s); - /// Free memory allocated from heap - static void operator delete(void* p); }; private: /// The shared object @@ -218,11 +214,17 @@ namespace Gecode { class ActorLink; class Actor; class Propagator; + class SubscribedPropagators; class LocalObject; class Advisor; class AFC; class Brancher; - class BrancherHandle; + class Group; + class PropagatorGroup; + class BrancherGroup; + class PostInfo; + class ExecInfo; + template class Council; template class Advisors; template class VarImp; @@ -291,6 +293,7 @@ namespace Gecode { friend class Space; friend class Propagator; template friend class VarImpDisposer; + friend class SubscribedPropagators; private: union { /** @@ -474,6 +477,15 @@ namespace Gecode { */ static void schedule(Space& home, Propagator& p, ModEvent me, bool force = false); + /** + * \brief Schedule propagator \a p + * + * Schedules a propagator for propagation condition \a pc and + * modification event \a me. If the variable is assigned, + * the appropriate modification event is used for scheduling. + */ + static void reschedule(Space& home, Propagator& p, PropCond pc, + bool assigned, ModEvent me); /// Project modification event for this variable type from \a med static ModEvent me(const ModEventDelta& med); /// Translate modification event \a me into modification event delta @@ -512,6 +524,7 @@ namespace Gecode { //@} }; + /** * \defgroup TaskActorStatus Status of constraint propagation and branching commit * Note that the enum values starting with a double underscore should not @@ -526,7 +539,7 @@ namespace Gecode { ES_NOFIX = 0, ///< Propagation has not computed fixpoint ES_OK = 0, ///< Execution is okay ES_FIX = 1, ///< Propagation has computed fixpoint - ES_NOFIX_FORCE = 2, ///< Advisor forces rescheduling of propagator + ES_NOFIX_FORCE = 2, ///< Advisor forces rescheduling of propagator __ES_PARTIAL = 2 ///< Internal: propagator has computed partial fixpoint, do not use }; @@ -539,8 +552,9 @@ namespace Gecode { public: /// The actual cost values that are used enum ActualCost { - AC_CRAZY_LO = 0, ///< Exponential complexity, cheap - AC_CRAZY_HI = 0, ///< Exponential complexity, expensive + AC_RECORD = 0, ///< Reserved for recording information + AC_CRAZY_LO = 1, ///< Exponential complexity, cheap + AC_CRAZY_HI = 1, ///< Exponential complexity, expensive AC_CUBIC_LO = 1, ///< Cubic complexity, cheap AC_CUBIC_HI = 1, ///< Cubic complexity, expensive AC_QUADRATIC_LO = 2, ///< Quadratic complexity, cheap @@ -569,6 +583,8 @@ namespace Gecode { /// Constructor for automatic coercion of \a ac PropCost(ActualCost ac); public: + /// For recording information (no propagation allowed) + static PropCost record(void); /// Exponential complexity for modifier \a m and size measure \a n static PropCost crazy(PropCost::Mod m, unsigned int n); /// Exponential complexity for modifier \a m and size measure \a n @@ -692,39 +708,218 @@ namespace Gecode { static void* operator new(size_t s, Space& home); /// No-op for exceptions static void operator delete(void* p, Space& home); - private: -#ifndef __GNUC__ - /// Not used (uses dispose instead) - static void operator delete(void* p); -#endif - /// Not used - static void* operator new(size_t s); //@} -#ifdef __GNUC__ public: - /// To avoid warnings from GCC + /// To avoid warnings GECODE_KERNEL_EXPORT virtual ~Actor(void); - /// Not used (uses dispose instead) + /// Not used + static void* operator new(size_t s); + /// Not used static void operator delete(void* p); -#endif }; + class Home; + /** + * \brief Group baseclass for controlling actors + * \ingroup TaskGroup + */ + class Group { + friend class Home; + friend class Propagator; + friend class Brancher; + friend class ExecInfo; + protected: + /// Fake id for group of all actors + static const unsigned int GROUPID_ALL = 0U; + /// Pre-defined default group id + static const unsigned int GROUPID_DEF = 1U; + /// The maximal group number + static const unsigned int GROUPID_MAX = UINT_MAX >> 2; + /// The group id + unsigned int gid; + /// Next group id + GECODE_KERNEL_EXPORT + static unsigned int next; + /// Mutex for protection + GECODE_KERNEL_EXPORT + static Support::Mutex m; + /// Construct with predefined group id \a gid0 + Group(unsigned int gid0); + public: + /// \name Construction and access + //@{ + /// Constructor + GECODE_KERNEL_EXPORT + Group(void); + /// Copy constructor + Group(const Group& g); + /// Assignment operator + Group& operator =(const Group& g); + /// Return a unique id for the group + unsigned int id(void) const; + /// Check whether actor group \a a is included in this group + bool in(Group a) const; + /// Check whether this is a real group (and not just default) + bool in(void) const; + //@} + /// Group of all actors + GECODE_KERNEL_EXPORT + static Group all; + /// Group of actors not in any user-defined group + GECODE_KERNEL_EXPORT + static Group def; + }; + + /** + * \brief Group of propagators + * \ingroup TaskGroup + */ + class PropagatorGroup : public Group { + friend class Propagator; + friend class ExecInfo; + protected: + /// Initialize with group id \a gid + PropagatorGroup(unsigned int gid); + public: + /// \name Construction + //@{ + /// Constructor + PropagatorGroup(void); + /// Copy constructor + PropagatorGroup(const PropagatorGroup& g); + /// Assignment operator + PropagatorGroup& operator =(const PropagatorGroup& g); + /// To augment a space argument + Home operator ()(Space& home); + //@} + /// \name Move propagators between groups + //@{ + /// Move propagators from group \a g to this group + GECODE_KERNEL_EXPORT + PropagatorGroup& move(Space& home, PropagatorGroup g); + /// Move propagator \a p to this group + PropagatorGroup& move(Space& home, Propagator& p); + /** + * \brief Move propagator with id \a id to this group + * + * Throws an exception of type UnknownPropagator, if no propagator + * with id \a id exists. + */ + GECODE_KERNEL_EXPORT + PropagatorGroup& move(Space& home, unsigned int id); + //@} + /// \name Operations on groups + //@{ + /// Test whether this group is equal to group \a g + bool operator ==(PropagatorGroup g) const; + /// Test whether this group is different from group \a g + bool operator !=(PropagatorGroup g) const; + /// Return number of propagators in a group + GECODE_KERNEL_EXPORT + unsigned int size(Space& home) const; + /// Kill all propagators in a group + GECODE_KERNEL_EXPORT + void kill(Space& home); + /// Disable all propagators in a group + GECODE_KERNEL_EXPORT + void disable(Space& home); + /** + * \brief Enable all propagators in a group + * + * If \a s is true, the propagators will be scheduled for propagation + * if needed. + */ + GECODE_KERNEL_EXPORT + void enable(Space& home, bool s=true); + //@} + /// Group of all propagators + GECODE_KERNEL_EXPORT + static PropagatorGroup all; + /// Group of propagators not in any user-defined group + GECODE_KERNEL_EXPORT + static PropagatorGroup def; + }; + + /** + * \brief Group of branchers + * \ingroup TaskGroup + */ + class BrancherGroup : public Group { + friend class Brancher; + protected: + /// Initialize with group id \a gid + BrancherGroup(unsigned int gid); + public: + /// \name Construction + //@{ + /// Constructor + BrancherGroup(void); + /// Copy constructor + BrancherGroup(const BrancherGroup& g); + /// Assignment operator + BrancherGroup& operator =(const BrancherGroup& g); + /// To augment a space argument + Home operator ()(Space& home); + //@} + /// \name Move branchers between groups + //@{ + /// Move branchers from group \a g to this group + GECODE_KERNEL_EXPORT + BrancherGroup& move(Space& home, BrancherGroup g); + /// Move brancher \a b to this group + BrancherGroup& move(Space& home, Brancher& b); + /** + * \brief Move brancher with id \a id to this group + * + * Throws an exception of type UnknownBrancher, if no brancher + * with id \a id exists. + */ + GECODE_KERNEL_EXPORT + BrancherGroup& move(Space& home, unsigned int id); + //@} + /// \name Operations on groups + //@{ + /// Test whether this group is equal to group \a g + bool operator ==(BrancherGroup g) const; + /// Test whether this group is different from group \a g + bool operator !=(BrancherGroup g) const; + /// Return number of branchers in a group + GECODE_KERNEL_EXPORT + unsigned int size(Space& home) const; + /// Kill all branchers in a group + GECODE_KERNEL_EXPORT + void kill(Space& home); + //@} + /// Group of all branchers + GECODE_KERNEL_EXPORT + static BrancherGroup all; + /// Group of branchers not in any user-defined group + GECODE_KERNEL_EXPORT + static BrancherGroup def; + }; /** * \brief %Home class for posting propagators */ class Home { + friend class PostInfo; protected: /// The space where the propagator is to be posted Space& s; /// A propagator (possibly) that is currently being rewritten Propagator* p; + /// A propagator group + PropagatorGroup pg; + /// A brancher group + BrancherGroup bg; public: /// \name Conversion //@{ - /// Initialize the home with space \a s and propagator \a p - Home(Space& s, Propagator* p=NULL); + /// Initialize the home with space \a s and propagator \a p and group \a g + Home(Space& s, Propagator* p=NULL, + PropagatorGroup pg=PropagatorGroup::def, + BrancherGroup bg=BrancherGroup::def); /// Assignment operator Home& operator =(const Home& h); /// Retrieve the space of the home @@ -734,8 +929,16 @@ namespace Gecode { //@{ /// Return a home extended by propagator to be rewritten Home operator ()(Propagator& p); + /// Return a home extended by a propagator group + Home operator ()(PropagatorGroup pg); + /// Return a home extended by a brancher group + Home operator ()(BrancherGroup bg); /// Return propagator (or NULL) for currently rewritten propagator Propagator* propagator(void) const; + /// Return propagator group + PropagatorGroup propagatorgroup(void) const; + /// Return brancher group + BrancherGroup branchergroup(void) const; //@} /// \name Forwarding of common space operations //@{ @@ -748,6 +951,60 @@ namespace Gecode { //@} }; + /** + * \brief Execution information + */ + class ExecInfo { + friend class Space; + friend class PostInfo; + public: + /// What is currently executing + enum What { + /// A propagator is currently executing + PROPAGATOR = 0, + /// A brancher is executing + BRANCHER = 1, + /// A post function is executing + POST = 2, + /// Unknown + OTHER = 3 + }; + protected: + /// Encoding a tagged pointer or a tagged group id + ptrdiff_t who; + /// Record that propagator \a p is executing + void propagator(Propagator& p); + /// Record that brancher \a b is executing + void brancher(Brancher& b); + /// Record that a post function with propagator group \a g is executing + void post(PropagatorGroup g); + /// Record that nothing is known at this point + void other(void); + public: + /// Return what is currently executing + What what(void) const; + /// Return currently executing propagator + const Propagator& propagator(void) const; + /// Return currently executing brancher + const Brancher& brancher(void) const; + /// Return propagator group of currently executing post function + PropagatorGroup post(void) const; + }; + + /** + * \brief Class to set group information when a post function is executed + */ + class PostInfo { + protected: + /// The home space + Space& h; + public: + /// Set information + PostInfo(Home home); + /// Reset information + ~PostInfo(void); + }; + /** * \brief Base-class for propagators * \ingroup TaskActor @@ -758,6 +1015,7 @@ namespace Gecode { template friend class VarImp; friend class Advisor; template friend class Council; + friend class SubscribedPropagators; private: union { /// A set of modification events (used during propagation) @@ -767,8 +1025,8 @@ namespace Gecode { /// A list of advisors (used during cloning) Gecode::ActorLink* advisors; } u; - /// A reference to a counter for afc - GlobalAFC::Counter& gafc; + /// A tagged pointer combining a pointer to global propagator information and whether the propagator is disabled + void* gpi_disabled; /// Static cast for a non-null pointer (to give a hint to optimizer) static Propagator* cast(ActorLink* al); /// Static cast for a non-null pointer (to give a hint to optimizer) @@ -780,10 +1038,21 @@ namespace Gecode { Propagator(Space& home, bool share, Propagator& p); /// Return forwarding pointer during copying Propagator* fwd(void) const; + /// Provide access to global propagator information + GPI::Info& gpi(void); public: /// \name Propagation //@{ + /** + * \brief Schedule function + * + * The function is executed when a propagator is enabled again. + * Note that a propagator should be scheduled with the right + * modification event delta and should only be scheduled if + * it is legal to execute the propagator. + */ + virtual void reschedule(Space& home) = 0; /** * \brief Propagation function * @@ -812,7 +1081,7 @@ namespace Gecode { virtual PropCost cost(const Space& home, const ModEventDelta& med) const = 0; /** * \brief Return the modification event delta - * + * * This function returns the modification event delta of the currently * executing propagator and hence can only be called within the * propagate function of a propagator. @@ -841,8 +1110,8 @@ namespace Gecode { * and the advisor will be disposed. * - ES_NOFIX_DISPOSE: the advisor's propagator must be run and the * advisor will be disposed. - * - ES_NOFIX_FORCE_DISPOSE: the advisor's propagator must be run - * , it must forcefully be rescheduled (including recomputation + * - ES_NOFIX_FORCE_DISPOSE: the advisor's propagator must be run + * , it must forcefully be rescheduled (including recomputation * of cost), and the adviser will be disposed. * For more details, see the function documentation. * @@ -861,6 +1130,23 @@ namespace Gecode { /// Return the accumlated failure count double afc(const Space& home) const; //@} + /// \name Id and group support + //@{ + /// Return propagator id + unsigned int id(void) const; + /// Return group propagator belongs to + PropagatorGroup group(void) const; + /// Add propagator to group \a g + void group(PropagatorGroup g); + /// Whether propagator is currently disabled + bool disabled(void) const; + /// Kill propagator + void kill(Space& home); + /// Disable propagator + void disable(void); + /// Enable propagator + void enable(void); + //@} }; @@ -927,6 +1213,7 @@ namespace Gecode { template friend class VarImp; template friend class Council; template friend class Advisors; + friend class SubscribedPropagators; private: /// Is the advisor disposed? bool disposed(void) const; @@ -943,6 +1230,8 @@ namespace Gecode { Advisor(Space& home, Propagator& p, Council& c); /// Copying constructor Advisor(Space& home, bool share, Advisor& a); + /// Provide access to execution information + const ExecInfo& operator ()(const Space& home) const; /// \name Memory management //@{ @@ -989,6 +1278,8 @@ namespace Gecode { virtual void subscribe(Space& home, Propagator& p) = 0; /// Cancel propagator \a p from all views of the no-good literal virtual void cancel(Space& home, Propagator& p) = 0; + /// Schedule propagator \a p for all views of the no-good literal + virtual void reschedule(Space& home, Propagator& p) = 0; /// Test the status of the no-good literal virtual NGL::Status status(const Space& home) const = 0; /// Propagate the negation of the no-good literal @@ -1022,6 +1313,11 @@ namespace Gecode { /// Needed for exceptions static void operator delete(void* p); //@} + public: + /// To avoid warnings + GECODE_KERNEL_EXPORT virtual ~NGL(void); + /// Not used + static void* operator new(size_t s); }; /** @@ -1033,11 +1329,11 @@ namespace Gecode { * * \ingroup TaskActor */ - class GECODE_VTABLE_EXPORT Choice { + class GECODE_VTABLE_EXPORT Choice : public HeapAllocated { friend class Space; private: - unsigned int _id; ///< Identity to match creating brancher - unsigned int _alt; ///< Number of alternatives + unsigned int bid; ///< Identity to match creating brancher + unsigned int alt; ///< Number of alternatives /// Return id of the creating brancher unsigned int id(void) const; @@ -1051,12 +1347,9 @@ namespace Gecode { GECODE_KERNEL_EXPORT virtual ~Choice(void); /// Report size occupied by choice virtual size_t size(void) const = 0; - /// Allocate memory from heap - static void* operator new(size_t); - /// Return memory to heap - static void operator delete(void*); /// Archive into \a e - GECODE_KERNEL_EXPORT virtual void archive(Archive& e) const; + GECODE_KERNEL_EXPORT + virtual void archive(Archive& e) const; }; /** @@ -1073,8 +1366,10 @@ namespace Gecode { friend class Space; friend class Choice; private: - /// Unique identity - unsigned int _id; + /// Unique brancher identity + unsigned int bid; + /// Group id + unsigned int gid; /// Static cast for a non-null pointer (to give a hint to optimizer) static Brancher* cast(ActorLink* al); /// Static cast for a non-null pointer (to give a hint to optimizer) @@ -1087,8 +1382,6 @@ namespace Gecode { public: /// \name Brancher //@{ - /// Return unsigned brancher id - unsigned int id(void) const; /** * \brief Check status of brancher, return true if alternatives left * @@ -1114,7 +1407,7 @@ namespace Gecode { * The current brancher in the space \a home performs a commit from * the information provided by the choice \a c and the alternative \a a. */ - virtual ExecStatus commit(Space& home, const Choice& c, + virtual ExecStatus commit(Space& home, const Choice& c, unsigned int a) = 0; /** * \brief Create no-good literal for choice \a c and alternative \a a @@ -1129,7 +1422,7 @@ namespace Gecode { * of all other alternatives. * */ - GECODE_KERNEL_EXPORT + GECODE_KERNEL_EXPORT virtual NGL* ngl(Space& home, const Choice& c, unsigned int a) const; /** * \brief Print branch for choice \a c and alternative \a a @@ -1140,37 +1433,21 @@ namespace Gecode { * The default function prints nothing. * */ - GECODE_KERNEL_EXPORT + GECODE_KERNEL_EXPORT virtual void print(const Space& home, const Choice& c, unsigned int a, std::ostream& o) const; //@} - }; - - /** - * \brief Handle for brancher - * - * Supports few operations on a brancher, in particular to kill - * a brancher. - * - * \ingroup TaskActor - */ - class BrancherHandle { - private: - /// Id of the brancher - unsigned int _id; - public: - /// Create handle as unitialized - BrancherHandle(void); - /// Create handle for brancher \a b - BrancherHandle(const Brancher& b); - /// Update during cloning - void update(Space& home, bool share, BrancherHandle& bh); + /// \name Id and group support + //@{ /// Return brancher id unsigned int id(void) const; - /// Check whether brancher is still active - bool operator ()(const Space& home) const; - /// Kill the brancher + /// Return group brancher belongs to + BrancherGroup group(void) const; + /// Add brancher to group \a g + void group(BrancherGroup g); + /// Kill brancher void kill(Space& home); + //@} }; /** @@ -1245,7 +1522,7 @@ namespace Gecode { /// Initialize NoGoods(void); /// Post no-goods - GECODE_KERNEL_EXPORT + GECODE_KERNEL_EXPORT virtual void post(Space& home) const; /// Return number of no-goods posted unsigned long int ng(void) const; @@ -1259,11 +1536,23 @@ namespace Gecode { }; /** - * \brief Current restart information during search + * \brief Information passed by meta search engines * */ - class GECODE_VTABLE_EXPORT CRI { + class GECODE_VTABLE_EXPORT MetaInfo { + public: + /// Which type of information is provided + enum Type { + /// Information is provided by a restart-based engine + RESTART, + /// Information is provided by a portfolio-based engine + PORTFOLIO + }; protected: + /// Type of information + const Type t; + /// \name Restart-based information + //@{ /// Number of restarts const unsigned long int r; /// Number of solutions since last restart @@ -1274,13 +1563,28 @@ namespace Gecode { const Space* l; /// No-goods from restart const NoGoods& ng; + //@} + /// \name Portfolio-based information + //@{ + /// Number of asset in portfolio + const unsigned int a; + //@} public: - /// Constructor - CRI(unsigned long int r, - unsigned long int s, - unsigned long int f, - const Space* l, - NoGoods& ng); + /// \name Constructors depending on type of engine + //@{ + /// Constructor for restart-based engine + MetaInfo(unsigned long int r, + unsigned long int s, + unsigned long int f, + const Space* l, + NoGoods& ng); + /// Constructor for portfolio-based engine + MetaInfo(unsigned int a); + //@} + /// Return type of information + Type type(void) const; + /// \name Restart-based information + //@{ /// Return number of restarts unsigned long int restart(void) const; /// Return number of solutions since last restart @@ -1291,6 +1595,12 @@ namespace Gecode { const Space* last(void) const; /// Return no-goods recorded from restart const NoGoods& nogoods(void) const; + //@} + /// \name Portfolio-based information + //@{ + /// Return number of asset in portfolio + unsigned int asset(void) const; + //@} }; /** @@ -1359,25 +1669,30 @@ namespace Gecode { /** * \brief Computation spaces */ - class GECODE_VTABLE_EXPORT Space { + class GECODE_VTABLE_EXPORT Space : public HeapAllocated { friend class Actor; friend class Propagator; + friend class PropagatorGroup; + friend class Propagators; friend class Brancher; + friend class BrancherGroup; + friend class Branchers; friend class Advisor; + template friend class Council; template friend class VarImp; template friend class VarImpDisposer; friend class SharedHandle; friend class LocalObject; friend class Region; friend class AFC; - friend class BrancherHandle; + friend class PostInfo; private: /// Manager for shared memory areas SharedMemory* sm; /// Performs memory management for space MemoryManager mm; /// Global AFC information - GlobalAFC gafc; + GPI gpi; /// Doubly linked list of all propagators ActorLink pl; /// Doubly linked list of all branchers @@ -1402,13 +1717,21 @@ namespace Gecode { Brancher* b_commit; /// Find brancher with identity \a id Brancher* brancher(unsigned int id); + + /// Kill brancher \a b + void kill(Brancher& b); + /// Kill propagator \a p + void kill(Propagator& p); + /// Kill brancher with identity \a id GECODE_KERNEL_EXPORT void kill_brancher(unsigned int id); + /// Reserved brancher id (never created) - static const unsigned reserved_branch_id = 0U; + static const unsigned reserved_bid = 0U; + union { - /// Data only available during propagation + /// Data only available during propagation or branching struct { /** * \brief Cost level with next propagator to be executed @@ -1426,9 +1749,11 @@ namespace Gecode { /// Scheduled propagators according to cost ActorLink queue[PropCost::AC_MAX+1]; /// Id of next brancher to be created - unsigned int branch_id; + unsigned int bid; /// Number of subscriptions unsigned int n_sub; + /// Execution information + ExecInfo ei; } p; /// Data available only during copying struct { @@ -1504,18 +1829,22 @@ namespace Gecode { * failed, an exception of type SpaceFailed is thrown. If the space * is not stable, an exception of SpaceNotStable is thrown. * - * Otherwise, a clone of the space is returned. If \a share is true, + * Otherwise, a clone of the space is returned. If \a share_data is true, * sharable datastructures are shared among the clone and the original - * space. If \a share is false, independent copies of the shared + * space. If \a share_data is false, independent copies of the shared * datastructures must be created. This means that a clone with no * sharing can be used in a different thread without any interaction * with the original space. * + * If \a share_info is true, information about AFC is shared, otherwise + * it will be unshared. + * * Throws an exception of type SpaceNotCloned when the copy constructor * of the Space class is not invoked during cloning. * */ - GECODE_KERNEL_EXPORT Space* _clone(bool share=true); + GECODE_KERNEL_EXPORT Space* _clone(bool share_data=true, + bool share_info=true); /** * \brief Commit choice \a c for alternative \a a @@ -1590,12 +1919,8 @@ namespace Gecode { * \brief Default constructor * \ingroup TaskModelScript */ - GECODE_KERNEL_EXPORT Space(void); - /** - * \brief Destructor - * \ingroup TaskModelScript - */ - GECODE_KERNEL_EXPORT virtual ~Space(void); + GECODE_KERNEL_EXPORT + Space(void); /** * \brief Constructor for cloning * @@ -1604,9 +1929,17 @@ namespace Gecode { * * If \a share is true, share all data structures among copies. * Otherwise, make independent copies. + * + * \ingroup TaskModelScript + */ + GECODE_KERNEL_EXPORT + Space(bool share, Space& s); + /** + * \brief Destructor * \ingroup TaskModelScript */ - GECODE_KERNEL_EXPORT Space(bool share, Space& s); + GECODE_KERNEL_EXPORT + virtual ~Space(void); /** * \brief Copying member function * @@ -1626,52 +1959,57 @@ namespace Gecode { */ GECODE_KERNEL_EXPORT virtual void constrain(const Space& best); /** - * \brief Master configuration function for restart meta search engine + * \brief Master configuration function for meta search engines + * + * This configuration function is used by both restart and + * portfolio meta search engines. + * + * \li A restart meta search engine calls this function on its + * master space whenever it finds a solution or exploration + * restarts. \a mi contains information about the current restart. * - * A restart meta search engine calls this function on its - * master space whenever it finds a solution or exploration - * restarts. \a cri contains information about the current restart. + * If a solution has been found, then search will continue with + * a restart id the function returns true, otherwise search + * will continue. * - * If a solution has been found, then search will continue with a restart - * when the function returns true, otherwise search will continue. + * The default function posts no-goods obtained from \a mi. * - * The default function posts no-goods obtained from \a cri. + * \li A portfolio meta engine calls this function once on + * the master space. The return value is ignored. + * + * The default function does nothing. * * \ingroup TaskModelScript */ - GECODE_KERNEL_EXPORT - virtual bool master(const CRI& cri); + GECODE_KERNEL_EXPORT + virtual bool master(const MetaInfo& mi); /** - * \brief Slave configuration function for restart meta search engine + * \brief Slave configuration function for meta search engines + * + * This configuration function is used by both restart and + * portfolio meta search engines. + * + * \li A restart meta search engine calls this function on its + * slave space whenever it finds a solution or exploration + * restarts. \a mi contains information about the current restart. * - * A restart meta search engine calls this function on its - * slave space whenever it finds a solution or exploration - * restarts. \a cri contains information about the current restart. + * If the function returns true, the search on the slave space is + * considered complete, i.e., if it fails or exhaustively explores the + * entire search space, the meta search engine finishes. If the + * function returns false, the search on the slave space is considered + * incomplete, and the meta engine will restart the search regardless + * of whether the search on the slave space finishes or times out. * - * If the function returns true, the search on the slave space is - * considered complete, i.e., if it fails or exhaustively explores the - * entire search space, the meta search engine finishes. If the function - * returns false, the search on the slave space is considered incomplete, - * and the meta engine will restart the search regardless of whether - * the search on the slave space finishes or times out. + * \li A portfolio meta engine calls this function once on each asset + * (that is, on each slave) and passes the number of the asset, + * starting from zero. * * The default function does nothing and returns true. * * \ingroup TaskModelScript */ - GECODE_KERNEL_EXPORT - virtual bool slave(const CRI& cri); - /** - * \brief Allocate memory from heap for new space - * \ingroup TaskModelScript - */ - static void* operator new(size_t); - /** - * \brief Free memory allocated from heap - * \ingroup TaskModelScript - */ - static void operator delete(void*); - + GECODE_KERNEL_EXPORT + virtual bool slave(const MetaInfo& mi); /* * Member functions for search engines @@ -1737,7 +2075,7 @@ namespace Gecode { */ GECODE_KERNEL_EXPORT const Choice* choice(Archive& e) const; - + /** * \brief Clone space * @@ -1746,19 +2084,24 @@ namespace Gecode { * is not stable, an exception of SpaceNotStable is thrown. * * Otherwise, a clone of the space is returned and the statistics - * information \a stat is updated. If \a share is true, + * information \a stat is updated. If \a share_data is true, * sharable datastructures are shared among the clone and the original - * space. If \a share is false, independent copies of the shared + * space. If \a share_data is false, independent copies of the shared * datastructures must be created. This means that a clone with no * sharing can be used in a different thread without any interaction * with the original space. * + * If \a share_info is true, information about AFC is shared, otherwise + * it will be unshared. + * * Throws an exception of type SpaceNotCloned when the copy constructor * of the Space class is not invoked during cloning. * * \ingroup TaskSearch */ - Space* clone(bool share=true, CloneStatistics& stat=unused_clone) const; + Space* clone(bool share_data=true, + bool share_info=true, + CloneStatistics& stat=unused_clone) const; /** * \brief Commit choice \a c for alternative \a a @@ -1872,7 +2215,7 @@ namespace Gecode { * \brief Notice actor property * * Make the space notice that the actor \a a has the property \a p. - * Note that the same property can only be noticed once for an actor + * Note that the same property can only be noticed once for an actor * unless \a duplicate is true. * \ingroup TaskActor */ @@ -1937,11 +2280,11 @@ namespace Gecode { * \ingroup TaskActorStatus */ ExecStatus ES_NOFIX_PARTIAL(Propagator& p, const ModEventDelta& med); - + /** * \brief %Advisor \a a must be disposed * - * Disposes the advisor and returns that the propagator of \a a + * Disposes the advisor and returns that the propagator of \a a * need not be run. * * \warning Has a side-effect on the advisor. Use only directly when @@ -1953,7 +2296,7 @@ namespace Gecode { /** * \brief %Advisor \a a must be disposed and its propagator must be run * - * Disposes the advisor and returns that the propagator of \a a + * Disposes the advisor and returns that the propagator of \a a * must be run. * * \warning Has a side-effect on the advisor. Use only directly when @@ -1965,8 +2308,8 @@ namespace Gecode { /** * \brief %Advisor \a a must be disposed and its propagator must be forcefully rescheduled * - * Disposes the advisor and returns that the propagator of \a a - * must be run and must be forcefully rescheduled (including + * Disposes the advisor and returns that the propagator of \a a + * must be run and must be forcefully rescheduled (including * recomputation of cost). * * \warning Has a side-effect on the advisor. Use only directly when @@ -1975,7 +2318,7 @@ namespace Gecode { */ template ExecStatus ES_NOFIX_DISPOSE_FORCE(Council& c, A& a); - + /** * \brief Fail space * @@ -1998,25 +2341,15 @@ namespace Gecode { * \ingroup TaskActor */ bool stable(void) const; - /** - * \brief Return number of propagators - * - * Note that this function takes linear time in the number of - * propagators. - */ - GECODE_KERNEL_EXPORT unsigned int propagators(void) const; - /** - * \brief Return number of branchers - * - * Note that this function takes linear time in the number of - * branchers. - */ - GECODE_KERNEL_EXPORT unsigned int branchers(void) const; /// \name Conversion from Space to Home //@{ /// Return a home for this space with the information that \a p is being rewritten Home operator ()(Propagator& p); + /// Return a home for this space with propagator group information \a pg + Home operator ()(PropagatorGroup pg); + /// Return a home for this space with brancher group information \a bg + Home operator ()(BrancherGroup bg); //@} /** @@ -2217,21 +2550,21 @@ namespace Gecode { /** * \brief Constructs a single object of type \a T from space heap using the default constructor. */ - template + template T& construct(void); /** * \brief Constructs a single object of type \a T from space heap using a unary constructor. * * The parameter is passed as a const reference. */ - template + template T& construct(A1 const& a1); /** * \brief Constructs a single object of type \a T from space heap using a binary constructor. * * The parameters are passed as const references. */ - template + template T& construct(A1 const& a1, A2 const& a2); /** * \brief Constructs a single object of type \a T from space heap using a ternary constructor. @@ -2256,65 +2589,147 @@ namespace Gecode { T& construct(A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5); //@} + /// \name Low-level support for AFC + //@{ + /// %Set AFC decay factor to \a d + GECODE_KERNEL_EXPORT + void afc_decay(double d); + /// Return AFC decay factor + double afc_decay(void) const; + /// Reset AFC to \a a + GECODE_KERNEL_EXPORT + void afc_set(double a); + //@} + + private: /** * \brief Class to iterate over propagators of a space - * + * * Note that the iterator cannot be used during cloning. */ class Propagators { + private: + /// Current space + Space& home; + /// Current queue + ActorLink* q; + /// Current propagator + ActorLink* c; + /// End mark + ActorLink* e; + public: + /// Initialize + Propagators(Space& home); + /// Test whether there are propagators left + bool operator ()(void) const; + /// Move iterator to next propagator + void operator ++(void); + /// Return propagator + Propagator& propagator(void) const; + }; + /** + * \brief Class to iterate over scheduled propagators of a space + * + * Note that the iterator cannot be used during cloning. + */ + class ScheduledPropagators { private: /// current space - const Space& home; + Space& home; /// current queue - const ActorLink* q; + ActorLink* q; /// current propagator - const ActorLink* c; + ActorLink* c; /// end mark - const ActorLink* e; + ActorLink* e; public: /// Initialize - Propagators(const Space& home); + ScheduledPropagators(Space& home); /// Test whether there are propagators left bool operator ()(void) const; /// Move iterator to next propagator void operator ++(void); /// Return propagator - const Propagator& propagator(void) const; + Propagator& propagator(void) const; + }; + /** + * \brief Class to iterate over idle propagators of a space + * + * Note that the iterator cannot be used during cloning. + */ + class IdlePropagators { + private: + /// Current propagator + ActorLink* c; + /// End mark + ActorLink* e; + public: + /// Initialize + IdlePropagators(Space& home); + /// Test whether there are propagators left + bool operator ()(void) const; + /// Move iterator to next propagator + void operator ++(void); + /// Return propagator + Propagator& propagator(void) const; }; - /** * \brief Class to iterate over branchers of a space - * + * * Note that the iterator cannot be used during cloning. */ class Branchers { private: /// current brancher - const ActorLink* c; + ActorLink* c; /// end mark - const ActorLink* e; + ActorLink* e; public: /// Initialize - Branchers(const Space& home); + Branchers(Space& home); /// Test whether there are branchers left bool operator ()(void) const; /// Move iterator to next brancher void operator ++(void); /// Return propagator - const Brancher& brancher(void) const; - }; + Brancher& brancher(void) const; + }; + }; - /// \name Low-level support for AFC - //@{ - /// %Set AFC decay factor to \a d - GECODE_KERNEL_EXPORT - void afc_decay(double d); - /// Return AFC decay factor - double afc_decay(void) const; - /// Reset AFC to \a a - GECODE_KERNEL_EXPORT - void afc_set(double a); - //@} + /// Class to iterate over propagators in a group + class Propagators { + private: + /// Propagators + Space::Propagators ps; + /// Current group + PropagatorGroup g; + public: + /// Initialize + Propagators(Space& home, PropagatorGroup g); + /// Test whether there are propagators left + bool operator ()(void) const; + /// Move iterator to next propagator + void operator ++(void); + /// Return propagator + const Propagator& propagator(void) const; + }; + + /// Class to iterate over branchers in a group + class Branchers { + private: + /// Branchers + Space::Branchers bs; + /// Current group + BrancherGroup g; + public: + /// Initialize + Branchers(Space& home, BrancherGroup g); + /// Test whether there are branchers left + bool operator ()(void) const; + /// Move iterator to next brancher + void operator ++(void); + /// Return propagator + const Brancher& brancher(void) const; }; @@ -2325,35 +2740,6 @@ namespace Gecode { * */ - // Heap allocated - forceinline void* - SharedHandle::Object::operator new(size_t s) { - return heap.ralloc(s); - } - forceinline void - SharedHandle::Object::operator delete(void* p) { - heap.rfree(p); - } - - forceinline void* - Space::operator new(size_t s) { - return heap.ralloc(s); - } - forceinline void - Space::operator delete(void* p) { - heap.rfree(p); - } - - forceinline void - Choice::operator delete(void* p) { - heap.rfree(p); - } - forceinline void* - Choice::operator new(size_t s) { - return heap.ralloc(s); - } - - // Space allocation: general space heaps and free lists forceinline void* Space::ralloc(size_t s) { @@ -2680,7 +3066,7 @@ namespace Gecode { * */ forceinline - NoGoods::NoGoods(void) + NoGoods::NoGoods(void) : n(0) {} forceinline unsigned long int NoGoods::ng(void) const { @@ -2695,36 +3081,54 @@ namespace Gecode { /* - * Current restart information + * Information from meta search engines */ forceinline - CRI::CRI(unsigned long int r0, - unsigned long int s0, - unsigned long int f0, - const Space* l0, - NoGoods& ng0) - : r(r0), s(s0), f(f0), l(l0), ng(ng0) {} + MetaInfo::MetaInfo(unsigned long int r0, + unsigned long int s0, + unsigned long int f0, + const Space* l0, + NoGoods& ng0) + : t(RESTART), r(r0), s(s0), f(f0), l(l0), ng(ng0), a(0) {} + + forceinline + MetaInfo::MetaInfo(unsigned int a0) + : t(PORTFOLIO), r(0), s(0), f(0), l(NULL), ng(NoGoods::eng), a(a0) {} + forceinline MetaInfo::Type + MetaInfo::type(void) const { + return t; + } forceinline unsigned long int - CRI::restart(void) const { + MetaInfo::restart(void) const { + assert(type() == RESTART); return r; } forceinline unsigned long int - CRI::solution(void) const { + MetaInfo::solution(void) const { + assert(type() == RESTART); return s; } forceinline unsigned long int - CRI::fail(void) const { + MetaInfo::fail(void) const { + assert(type() == RESTART); return f; } forceinline const Space* - CRI::last(void) const { + MetaInfo::last(void) const { + assert(type() == RESTART); return l; } forceinline const NoGoods& - CRI::nogoods(void) const { + MetaInfo::nogoods(void) const { + assert(type() == RESTART); return ng; } + forceinline unsigned int + MetaInfo::asset(void) const { + assert(type() == PORTFOLIO); + return a; + } @@ -2851,11 +3255,11 @@ namespace Gecode { } forceinline Space* - Space::clone(bool share, CloneStatistics&) const { + Space::clone(bool share_data, bool share_info, CloneStatistics&) const { // Clone is only const for search engines. During cloning, several data // structures are updated (e.g. forwarding pointers), so we have to // cast away the constness. - return const_cast(this)->_clone(share); + return const_cast(this)->_clone(share_data,share_info); } forceinline void @@ -2870,7 +3274,7 @@ namespace Gecode { forceinline double Space::afc_decay(void) const { - return gafc.decay(); + return gpi.decay(); } forceinline size_t @@ -2884,21 +3288,31 @@ namespace Gecode { * */ forceinline - Home::Home(Space& s0, Propagator* p0) : s(s0), p(p0) {} + Home::Home(Space& s0, Propagator* p0, + PropagatorGroup pg0, BrancherGroup bg0) + : s(s0), p(p0), pg(pg0), bg(bg0) {} forceinline Home& Home::operator =(const Home& h) { - s=h.s; p=h.p; + s=h.s; p=h.p; pg=h.pg; bg=h.bg; return *this; } forceinline - Home::operator Space&(void) { - return s; + Home::operator Space&(void) { + return s; } forceinline Home Home::operator ()(Propagator& p) { return Home(s,&p); } forceinline Home + Home::operator ()(PropagatorGroup pg) { + return Home(s,NULL,pg,BrancherGroup::def); + } + forceinline Home + Home::operator ()(BrancherGroup bg) { + return Home(s,NULL,PropagatorGroup::def,bg); + } + forceinline Home Space::operator ()(Propagator& p) { return Home(*this,&p); } @@ -2906,6 +3320,68 @@ namespace Gecode { Home::propagator(void) const { return p; } + forceinline PropagatorGroup + Home::propagatorgroup(void) const { + return pg; + } + forceinline BrancherGroup + Home::branchergroup(void) const { + return bg; + } + + /* + * Execution information + * + */ + forceinline void + ExecInfo::propagator(Propagator& p) { + who = reinterpret_cast(&p) | PROPAGATOR; + } + forceinline void + ExecInfo::brancher(Brancher& b) { + who = reinterpret_cast(&b) | BRANCHER; + } + forceinline void + ExecInfo::post(PropagatorGroup g) { + who = (g.id() << 2) | POST; + } + forceinline void + ExecInfo::other(void) { + who = OTHER; + } + forceinline ExecInfo::What + ExecInfo::what(void) const { + return static_cast(who & 3); + } + forceinline const Propagator& + ExecInfo::propagator(void) const { + assert(what() == PROPAGATOR); + // Because PROPAGATOR == 0 + return *reinterpret_cast(who); + } + forceinline const Brancher& + ExecInfo::brancher(void) const { + assert(what() == BRANCHER); + return *reinterpret_cast(who & ~3); + } + forceinline PropagatorGroup + ExecInfo::post(void) const { + assert(what() == POST); + return PropagatorGroup(static_cast(who >> 2)); + } + + /* + * Post information + */ + forceinline + PostInfo::PostInfo(Home home) : h(home) { + h.pc.p.ei.post(home.propagatorgroup()); + } + forceinline + PostInfo::~PostInfo(void) { + h.pc.p.ei.other(); + } + /* * Propagator @@ -2932,21 +3408,41 @@ namespace Gecode { return static_cast(prev()); } + forceinline bool + Propagator::disabled(void) const { + return Support::marked(gpi_disabled); + } + + forceinline void + Propagator::disable(void) { + gpi_disabled = Support::mark(gpi_disabled); + } + + forceinline void + Propagator::enable(void) { + gpi_disabled = Support::funmark(gpi_disabled); + } + + forceinline GPI::Info& + Propagator::gpi(void) { + return *static_cast(Support::funmark(gpi_disabled)); + } + forceinline - Propagator::Propagator(Home home) - : gafc((home.propagator() != NULL) ? - // Inherit time counter information - home.propagator()->gafc : - // New propagator information - static_cast(home).gafc.allocate()) { + Propagator::Propagator(Home home) + : gpi_disabled((home.propagator() != NULL) ? + // Inherit propagator information + home.propagator()->gpi_disabled : + // New propagator information + static_cast(home).gpi.allocate(home.propagatorgroup().gid)) { u.advisors = NULL; assert((u.med == 0) && (u.size == 0)); static_cast(home).pl.head(this); } forceinline - Propagator::Propagator(Space&, bool, Propagator& p) - : gafc(p.gafc) { + Propagator::Propagator(Space&, bool, Propagator& p) + : gpi_disabled(p.gpi_disabled) { u.advisors = NULL; assert((u.med == 0) && (u.size == 0)); // Set forwarding pointer @@ -2960,7 +3456,22 @@ namespace Gecode { forceinline double Propagator::afc(const Space& home) const { - return const_cast(home).gafc.afc(gafc); + return const_cast(home).gpi.afc(const_cast(*this).gpi()); + } + + forceinline unsigned int + Propagator::id(void) const { + return const_cast(*this).gpi().pid; + } + + forceinline PropagatorGroup + Propagator::group(void) const { + return PropagatorGroup(const_cast(*this).gpi().gid); + } + + forceinline void + Propagator::group(PropagatorGroup g) { + gpi().gid = g.id(); } forceinline ExecStatus @@ -3013,8 +3524,9 @@ namespace Gecode { forceinline Brancher::Brancher(Home home) : - _id(static_cast(home).pc.p.branch_id++) { - if (static_cast(home).pc.p.branch_id == 0U) + bid(static_cast(home).pc.p.bid++), + gid(home.branchergroup().gid) { + if (static_cast(home).pc.p.bid == 0U) throw TooManyBranchers("Brancher::Brancher"); // If no brancher available, make it the first one if (static_cast(home).b_status == &static_cast(home).bl) { @@ -3027,14 +3539,44 @@ namespace Gecode { forceinline Brancher::Brancher(Space&, bool, Brancher& b) - : _id(b._id) { + : bid(b.bid), gid(b.gid) { // Set forwarding pointer b.prev(this); } forceinline unsigned int Brancher::id(void) const { - return _id; + return bid; + } + + forceinline BrancherGroup + Brancher::group(void) const { + return BrancherGroup(gid); + } + + forceinline void + Brancher::group(BrancherGroup g) { + gid = g.id(); + } + + + forceinline void + Space::kill(Brancher& b) { + assert(!failed()); + // Make sure that neither b_status nor b_commit does not point to b! + if (b_commit == &b) + b_commit = Brancher::cast(b.next()); + if (b_status == &b) + b_status = Brancher::cast(b.next()); + b.unlink(); + rfree(&b,b.dispose(*this)); + } + + forceinline void + Space::kill(Propagator& p) { + assert(!failed()); + p.unlink(); + rfree(&p,p.dispose(*this)); } forceinline Brancher* @@ -3045,7 +3587,7 @@ namespace Gecode { * choices. Then, propagation determines less information * than before and the brancher now will create new choices. * Later, during recomputation, all of these choices - * can be used together, possibly interleaved with + * can be used together, possibly interleaved with * choices for other branchers. That means all branchers * must be scanned to find the matching brancher for the choice. * @@ -3071,35 +3613,8 @@ namespace Gecode { } return NULL; } - - /* - * Brancher handle - * - */ - forceinline - BrancherHandle::BrancherHandle(void) - : _id(Space::reserved_branch_id) {} - forceinline - BrancherHandle::BrancherHandle(const Brancher& b) - : _id(b.id()) {} - forceinline void - BrancherHandle::update(Space&, bool, BrancherHandle& bh) { - _id = bh._id; - } - forceinline unsigned int - BrancherHandle::id(void) const { - return _id; - } - forceinline bool - BrancherHandle::operator ()(const Space& home) const { - return const_cast(home).brancher(_id) != NULL; - } - forceinline void - BrancherHandle::kill(Space& home) { - home.kill_brancher(_id); - } - + /* * Local objects * @@ -3122,7 +3637,8 @@ namespace Gecode { } forceinline - LocalObject::LocalObject(Home) { + LocalObject::LocalObject(Home home) { + (void) home; ActorLink::cast(this)->prev(NULL); } @@ -3167,16 +3683,16 @@ namespace Gecode { */ forceinline Choice::Choice(const Brancher& b, const unsigned int a) - : _id(b.id()), _alt(a) {} + : bid(b.id()), alt(a) {} forceinline unsigned int Choice::alternatives(void) const { - return _alt; + return alt; } forceinline unsigned int Choice::id(void) const { - return _id; + return bid; } forceinline @@ -3212,13 +3728,13 @@ namespace Gecode { } forceinline - NGL::NGL(void) + NGL::NGL(void) : nl(NULL) {} forceinline - NGL::NGL(Space&) + NGL::NGL(Space&) : nl(NULL) {} forceinline - NGL::NGL(Space&, bool, NGL&) + NGL::NGL(Space&, bool, NGL&) : nl(NULL) {} forceinline size_t NGL::dispose(Space&) { @@ -3273,6 +3789,11 @@ namespace Gecode { next(n->next()); } + forceinline const ExecInfo& + Advisor::operator ()(const Space& home) const { + return home.pc.p.ei; + } + template forceinline ExecStatus Space::ES_FIX_DISPOSE(Council& c, A& a) { @@ -3745,6 +4266,16 @@ namespace Gecode { enter(home,&a); } + template + void + VarImp::reschedule(Space& home, Propagator& p, PropCond pc, + bool assigned, ModEvent me) { + if (assigned) + VarImp::schedule(home,p,ME_GEN_ASSIGNED); + else if (pc != PC_GEN_ASSIGNED) + VarImp::schedule(home,p,me); + } + template forceinline void VarImp::remove(Space& home, Propagator* p, PropCond pc) { @@ -3850,7 +4381,7 @@ namespace Gecode { break; case ES_FAILED: if (home.afc_enabled()) - home.gafc.fail(p.gafc); + home.gpi.fail(p.gpi()); return false; case ES_NOFIX: schedule(home,p,me); @@ -3944,7 +4475,7 @@ namespace Gecode { reset(); } forceinline StatusStatistics& - StatusStatistics::operator +=(const StatusStatistics& s) { + StatusStatistics::operator +=(const StatusStatistics& s) { propagate += s.propagate; wmp |= s.wmp; return *this; @@ -3968,7 +4499,7 @@ namespace Gecode { return s; } forceinline CloneStatistics& - CloneStatistics::operator +=(const CloneStatistics&) { + CloneStatistics::operator +=(const CloneStatistics&) { return *this; } @@ -3985,7 +4516,7 @@ namespace Gecode { return s; } forceinline CommitStatistics& - CommitStatistics::operator +=(const CommitStatistics&) { + CommitStatistics::operator +=(const CommitStatistics&) { return *this; } @@ -4011,6 +4542,10 @@ namespace Gecode { return (m == LO) ? lo : hi; } + forceinline PropCost + PropCost::record(void) { + return AC_RECORD; + } forceinline PropCost PropCost::crazy(PropCost::Mod m, unsigned int n) { return cost(m,AC_CRAZY_LO,AC_CRAZY_HI,n); @@ -4065,7 +4600,7 @@ namespace Gecode { * */ forceinline - Space::Propagators::Propagators(const Space& home0) + Space::Propagators::Propagators(Space& home0) : home(home0), q(home.pc.p.active) { while (q >= &home.pc.p.queue[0]) { if (q->next() != q) { @@ -4082,11 +4617,11 @@ namespace Gecode { c = e = NULL; } } - forceinline bool + forceinline bool Space::Propagators::operator ()(void) const { return c != NULL; } - forceinline void + forceinline void Space::Propagators::operator ++(void) { c = c->next(); if (c == e) { @@ -4110,66 +4645,280 @@ namespace Gecode { } } } - forceinline const Propagator& + forceinline Propagator& Space::Propagators::propagator(void) const { return *Propagator::cast(c); } + forceinline - Space::Branchers::Branchers(const Space& home) + Space::ScheduledPropagators::ScheduledPropagators(Space& home0) + : home(home0), q(home.pc.p.active) { + while (q >= &home.pc.p.queue[0]) { + if (q->next() != q) { + c = q->next(); e = q; q--; + return; + } + q--; + } + q = c = e = NULL; + } + forceinline bool + Space::ScheduledPropagators::operator ()(void) const { + return c != NULL; + } + forceinline void + Space::ScheduledPropagators::operator ++(void) { + c = c->next(); + if (c == e) { + if (q == NULL) { + c = NULL; + } else { + while (q >= &home.pc.p.queue[0]) { + if (q->next() != q) { + c = q->next(); e = q; q--; + return; + } + q--; + } + q = c = e = NULL; + } + } + } + forceinline Propagator& + Space::ScheduledPropagators::propagator(void) const { + return *Propagator::cast(c); + } + + + forceinline + Space::IdlePropagators::IdlePropagators(Space& home) { + c = Propagator::cast(home.pl.next()); + e = Propagator::cast(&home.pl); + } + forceinline bool + Space::IdlePropagators::operator ()(void) const { + return c != e; + } + forceinline void + Space::IdlePropagators::operator ++(void) { + c = c->next(); + } + forceinline Propagator& + Space::IdlePropagators::propagator(void) const { + return *Propagator::cast(c); + } + + + forceinline + Space::Branchers::Branchers(Space& home) : c(Brancher::cast(home.bl.next())), e(&home.bl) {} - forceinline bool + forceinline bool Space::Branchers::operator ()(void) const { return c != e; } - forceinline void + forceinline void Space::Branchers::operator ++(void) { c = c->next(); } - forceinline const Brancher& + forceinline Brancher& Space::Branchers::brancher(void) const { return *Brancher::cast(c); } + + /* + * Groups of actors + */ + forceinline + Group::Group(unsigned int gid0) : gid(gid0) {} + + forceinline bool + Group::in(Group actor) const { + return (gid == GROUPID_ALL) || (gid == actor.gid); + } + + forceinline bool + Group::in(void) const { + return (gid != GROUPID_ALL) && (gid != GROUPID_DEF); + } + + forceinline + Group::Group(const Group& g) : gid(g.gid) {} + + forceinline Group& + Group::operator =(const Group& g) { + gid=g.gid; return *this; + } + + forceinline unsigned int + Group::id(void) const { + return gid; + } + + + forceinline + PropagatorGroup::PropagatorGroup(void) {} + + forceinline + PropagatorGroup::PropagatorGroup(unsigned int gid) + : Group(gid) {} + + forceinline + PropagatorGroup::PropagatorGroup(const PropagatorGroup& g) + : Group(g) {} + + forceinline PropagatorGroup& + PropagatorGroup::operator =(const PropagatorGroup& g) { + return static_cast(Group::operator =(g)); + } + + forceinline Home + PropagatorGroup::operator ()(Space& home) { + return Home(home,NULL,*this,BrancherGroup::def); + } + + forceinline bool + PropagatorGroup::operator ==(PropagatorGroup g) const { + return id() == g.id(); + } + forceinline bool + PropagatorGroup::operator !=(PropagatorGroup g) const { + return id() != g.id(); + } + + forceinline PropagatorGroup& + PropagatorGroup::move(Space& , Propagator& p) { + if (id() != GROUPID_ALL) + p.group(*this); + return *this; + } + + + forceinline + BrancherGroup::BrancherGroup(void) {} + + forceinline + BrancherGroup::BrancherGroup(unsigned int gid) + : Group(gid) {} + + forceinline + BrancherGroup::BrancherGroup(const BrancherGroup& g) + : Group(g) {} + + forceinline BrancherGroup& + BrancherGroup::operator =(const BrancherGroup& g) { + return static_cast(Group::operator =(g)); + } + + forceinline Home + BrancherGroup::operator ()(Space& home) { + return Home(home,NULL,PropagatorGroup::def,*this); + } + + forceinline bool + BrancherGroup::operator ==(BrancherGroup g) const { + return id() == g.id(); + } + forceinline bool + BrancherGroup::operator !=(BrancherGroup g) const { + return id() != g.id(); + } + + forceinline BrancherGroup& + BrancherGroup::move(Space& , Brancher& p) { + if (id() != GROUPID_ALL) + p.group(*this); + return *this; + } + + + /* + * Iterators for propagators and branchers in a group + * + */ + forceinline + Propagators::Propagators(Space& home, PropagatorGroup g0) + : ps(home), g(g0) { + while (ps() && !g.in(ps.propagator().group())) + ++ps; + } + forceinline bool + Propagators::operator ()(void) const { + return ps(); + } + forceinline void + Propagators::operator ++(void) { + do + ++ps; + while (ps() && !g.in(ps.propagator().group())); + } + forceinline const Propagator& + Propagators::propagator(void) const { + return ps.propagator(); + } + + forceinline + Branchers::Branchers(Space& home, BrancherGroup g0) + : bs(home), g(g0) { + while (bs() && !g.in(bs.brancher().group())) + ++bs; + } + forceinline bool + Branchers::operator ()(void) const { + return bs(); + } + forceinline void + Branchers::operator ++(void) { + do + ++bs; + while (bs() && !g.in(bs.brancher().group())); + } + forceinline const Brancher& + Branchers::brancher(void) const { + return bs.brancher(); + } + + /* * Space construction support * */ - template - forceinline T& + template + forceinline T& Space::construct(void) { return alloc(1); } - template - forceinline T& + template + forceinline T& Space::construct(A1 const& a1) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1); return t; } - template - forceinline T& + template + forceinline T& Space::construct(A1 const& a1, A2 const& a2) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2); return t; } template - forceinline T& + forceinline T& Space::construct(A1 const& a1, A2 const& a2, A3 const& a3) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2,a3); return t; } template - forceinline T& + forceinline T& Space::construct(A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2,a3,a4); return t; } template - forceinline T& + forceinline T& Space::construct(A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2,a3,a4,a5); diff --git a/gecode/kernel/exception.cpp b/gecode/kernel/exception.cpp new file mode 100755 index 0000000000..7e754bf696 --- /dev/null +++ b/gecode/kernel/exception.cpp @@ -0,0 +1,89 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + SpaceFailed::SpaceFailed(const char* l) + : Exception(l,"Attempt to invoke operation on failed space") {} + + SpaceNotStable::SpaceNotStable(const char* l) + : Exception(l,"Attempt to invoke operation on not stable space") {} + + SpaceNotCloned::SpaceNotCloned(const char* l) + : Exception(l,"Copy constructor of space did not call base class copy constructor") {} + + SpaceNoBrancher::SpaceNoBrancher(const char* l) + : Exception(l,"Attempt to commit with no brancher") {} + + SpaceIllegalAlternative::SpaceIllegalAlternative(const char* l) + : Exception(l,"Attempt to commit with illegal alternative") {} + + TooManyGroups::TooManyGroups(const char* l) + : Exception(l,"Too many groups created") {} + + UnknownPropagator::UnknownPropagator(const char* l) + : Exception(l,"Unknown propagator (illegal id)") {} + + TooManyBranchers::TooManyBranchers(const char* l) + : Exception(l,"Too many branchers created") {} + + UnknownBrancher::UnknownBrancher(const char* l) + : Exception(l,"Unknown brancher (illegal id)") {} + + UninitializedRnd::UninitializedRnd(const char* l) + : Exception(l,"Uninitialized random generator for branching") {} + + IllegalDecay::IllegalDecay(const char* l) + : Exception(l,"Illegal decay factor") {} + + UninitializedAFC::UninitializedAFC(const char* l) + : Exception(l,"Uninitialized AFC information for branching") {} + + UninitializedActivity::UninitializedActivity(const char* l) + : Exception(l,"Uninitialized activity information for branching") {} + + AFCWrongArity::AFCWrongArity(const char* l) + : Exception(l,"AFC has wrong number of variables") {} + + ActivityWrongArity::ActivityWrongArity(const char* l) + : Exception(l,"Activity has wrong number of variables") {} + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/exception.hpp b/gecode/kernel/exception.hpp index 8283dcaa9a..ffc8b4f54f 100755 --- a/gecode/kernel/exception.hpp +++ b/gecode/kernel/exception.hpp @@ -45,84 +45,105 @@ namespace Gecode { //@{ /// %Exception: Operation on failed space invoked - class GECODE_VTABLE_EXPORT SpaceFailed : public Exception { + class GECODE_KERNEL_EXPORT SpaceFailed : public Exception { public: /// Initialize with location \a l SpaceFailed(const char* l); }; /// %Exception: Operation on not stable space invoked - class GECODE_VTABLE_EXPORT SpaceNotStable : public Exception { + class GECODE_KERNEL_EXPORT SpaceNotStable : public Exception { public: /// Initialize with location \a l SpaceNotStable(const char* l); }; /// %Exception: Copy constructor did not call base class copy constructor - class GECODE_VTABLE_EXPORT SpaceNotCloned : public Exception { + class GECODE_KERNEL_EXPORT SpaceNotCloned : public Exception { public: /// Initialize with location \a l SpaceNotCloned(const char* l); }; /// %Exception: Commit when no brancher present - class GECODE_VTABLE_EXPORT SpaceNoBrancher : public Exception { + class GECODE_KERNEL_EXPORT SpaceNoBrancher : public Exception { public: /// Initialize with location \a l SpaceNoBrancher(const char* l); }; /// %Exception: Commit with illegal alternative - class GECODE_VTABLE_EXPORT SpaceIllegalAlternative : public Exception { + class GECODE_KERNEL_EXPORT SpaceIllegalAlternative : public Exception { public: /// Initialize with location \a l SpaceIllegalAlternative(const char* l); }; + /// %Exception: too many groups + class GECODE_KERNEL_EXPORT TooManyGroups : public Exception { + public: + /// Initialize with location \a l + TooManyGroups(const char* l); + }; + + /// %Exception: unknown propagator + class GECODE_KERNEL_EXPORT UnknownPropagator : public Exception { + public: + /// Initialize with location \a l + UnknownPropagator(const char* l); + }; + /// %Exception: too many branchers - class GECODE_VTABLE_EXPORT TooManyBranchers : public Exception { + class GECODE_KERNEL_EXPORT TooManyBranchers : public Exception { public: /// Initialize with location \a l TooManyBranchers(const char* l); }; + /// %Exception: unknown brancher + class GECODE_KERNEL_EXPORT UnknownBrancher : public Exception { + public: + /// Initialize with location \a l + UnknownBrancher(const char* l); + }; + /// %Exception: illegal decay factor - class GECODE_VTABLE_EXPORT IllegalDecay : public Exception { + class GECODE_KERNEL_EXPORT IllegalDecay : public Exception { public: /// Initialize with location \a l IllegalDecay(const char* l); }; /// %Exception: uninitialized AFC - class GECODE_VTABLE_EXPORT UninitializedAFC : public Exception { + class GECODE_KERNEL_EXPORT UninitializedAFC : public Exception { public: /// Initialize with location \a l UninitializedAFC(const char* l); }; /// %Exception: uninitialized activity - class GECODE_VTABLE_EXPORT UninitializedActivity : public Exception { + class GECODE_KERNEL_EXPORT UninitializedActivity : public Exception { public: /// Initialize with location \a l UninitializedActivity(const char* l); }; /// %Exception: uninitialized random number generator - class GECODE_VTABLE_EXPORT UninitializedRnd : public Exception { + class GECODE_KERNEL_EXPORT UninitializedRnd : public Exception { public: /// Initialize with location \a l UninitializedRnd(const char* l); }; /// %Exception: AFC has wrong arity - class GECODE_VTABLE_EXPORT AFCWrongArity : public Exception { + class GECODE_KERNEL_EXPORT AFCWrongArity : public Exception { public: /// Initialize with location \a l AFCWrongArity(const char* l); }; /// %Exception: activity has wrong arity - class GECODE_VTABLE_EXPORT ActivityWrongArity : public Exception { + class GECODE_KERNEL_EXPORT ActivityWrongArity : public Exception { public: /// Initialize with location \a l ActivityWrongArity(const char* l); @@ -130,58 +151,6 @@ namespace Gecode { //@} - /* - * Classes for exceptions raised by kernel - * - */ - inline - SpaceFailed::SpaceFailed(const char* l) - : Exception(l,"Attempt to invoke operation on failed space") {} - - inline - SpaceNotStable::SpaceNotStable(const char* l) - : Exception(l,"Attempt to invoke operation on not stable space") {} - - inline - SpaceNotCloned::SpaceNotCloned(const char* l) - : Exception(l,"Copy constructor of space did not call base class copy constructor") {} - - inline - SpaceNoBrancher::SpaceNoBrancher(const char* l) - : Exception(l,"Attempt to commit with no brancher") {} - - inline - SpaceIllegalAlternative::SpaceIllegalAlternative(const char* l) - : Exception(l,"Attempt to commit with illegal alternative") {} - - inline - TooManyBranchers::TooManyBranchers(const char* l) - : Exception(l,"Too many branchers created") {} - - inline - UninitializedRnd::UninitializedRnd(const char* l) - : Exception(l,"Uninitialized random generator for branching") {} - - inline - IllegalDecay::IllegalDecay(const char* l) - : Exception(l,"Illegal decay factor") {} - - inline - UninitializedAFC::UninitializedAFC(const char* l) - : Exception(l,"Uninitialized AFC information for branching") {} - - inline - UninitializedActivity::UninitializedActivity(const char* l) - : Exception(l,"Uninitialized activity information for branching") {} - - inline - AFCWrongArity::AFCWrongArity(const char* l) - : Exception(l,"AFC has wrong number of variables") {} - - inline - ActivityWrongArity::ActivityWrongArity(const char* l) - : Exception(l,"Activity has wrong number of variables") {} - } // STATISTICS: kernel-other diff --git a/gecode/kernel/global-afc.hpp b/gecode/kernel/gpi.hpp similarity index 70% rename from gecode/kernel/global-afc.hpp rename to gecode/kernel/gpi.hpp index 5615df4e67..7624625683 100755 --- a/gecode/kernel/global-afc.hpp +++ b/gecode/kernel/gpi.hpp @@ -39,18 +39,25 @@ namespace Gecode { - /// Globally shared object for propagator information - class GlobalAFC { + /// Global propagator information + class GPI { public: /// Class for storing timed-decay value - class Counter { + class Info { public: + /// Propagator identifier + unsigned int pid; + /// Group identifier + unsigned int gid; + /// \name AFC information specific to propagators + //@{ /// The counter value double c; /// The time-stamp unsigned long int t; + //@} /// Initialize - void init(void); + void init(unsigned int pid, unsigned int gid); }; private: /// Block of propagator information (of variable size) @@ -59,13 +66,15 @@ namespace Gecode { /// Next block Block* next; /// Start of counter entries - Counter c[1]; + Info c[1]; /// Allocate block with \a n entries and previous block \a p static Block* allocate(unsigned int n, Block* p=NULL); }; - /// Class for managing timed-decay values - class DecayManager { + /// Class for managing identifiers and timed-decay values + class Manager : public HeapAllocated { protected: + /// Next free propagator id + unsigned next; /// The decay factor double d; /// The number of precomputed decay powers @@ -75,36 +84,34 @@ namespace Gecode { /// The global time-stamp unsigned long int t; /// Decay counter value - void decay(Counter& c); + void decay(Info& c); public: /// Initialize - DecayManager(void); + Manager(void); + /// Return propagator fresh propagator id + unsigned int pid(void); /// Set decay factor to \a d void decay(double d); /// Return current decay factor double decay(void) const; /// Increment counter and perform decay - void inc(Counter& c); + void inc(Info& c); /// Set failure count to \a a - void set(Counter& c, double a); - /// Return counter value - double val(Counter& c); - /// Allocate memory from heap - static void* operator new(size_t s); - /// Free memory allocated from heap - static void operator delete(void* p); + void set(Info& c, double a); + /// Return counter value + double val(Info& c); }; /// Initial smallest number of entries per block static const unsigned int size_min = 32; /// Largest possible number of entries per block static const unsigned int size_max = 32 * 1024; /// The actual object to store the required information - class Object { + class Object : public HeapAllocated { public: /// Mutex to synchronize globally shared access Support::FastMutex* mutex; /// Pointer to timed decay manager - DecayManager* decay; + Manager* manager; /// Link to previous object (NULL if none) Object* parent; /// How many spaces or objects use this object @@ -117,10 +124,6 @@ namespace Gecode { Block* cur; /// Constructor Object(Support::FastMutex* m, Object* p=NULL); - /// Allocate memory from heap - static void* operator new(size_t s); - /// Free memory allocated from heap - static void operator delete(void* p); }; /// Pointer to object, possibly marked void* mo; @@ -132,36 +135,38 @@ namespace Gecode { void local(Object* o); /// Set global pointer to possibly marked object void global(void* mo); + /// Perform disposal + void dispose(void); public: /// Initialize - GlobalAFC(void); + GPI(void); /// Copy during cloning - GlobalAFC(const GlobalAFC& ga); + GPI(const GPI& ga); /// Destructor - ~GlobalAFC(void); + ~GPI(void); /// Set decay factor to \a d void decay(double d); /// Return decay factor double decay(void) const; /// Increment failure count - void fail(Counter& c); + void fail(Info& c); /// Set failure count to \a a - void set(Counter& c, double a); + void set(Info& c, double a); /// Return failure count - double afc(Counter& c); - /// Allocate new propagator info - Counter& allocate(void); + double afc(Info& c); + /// Allocate new actor info + Info* allocate(unsigned int gid); }; forceinline void - GlobalAFC::Counter::init(void) { - c=1.0; t=0UL; + GPI::Info::init(unsigned int pid0, unsigned int gid0) { + pid=pid0; gid=gid0; c=1.0; t=0UL; } forceinline void - GlobalAFC::DecayManager::decay(double d0) { + GPI::Manager::decay(double d0) { d = d0; if (d != 1.0) { double p = d; @@ -172,15 +177,19 @@ namespace Gecode { } } forceinline - GlobalAFC::DecayManager::DecayManager(void) - : d(1.0), t(0UL) {} + GPI::Manager::Manager(void) + : next(0), d(1.0), t(0UL) {} + forceinline unsigned int + GPI::Manager::pid(void) { + return next++; + } forceinline double - GlobalAFC::DecayManager::decay(void) const { + GPI::Manager::decay(void) const { return d; } forceinline void - GlobalAFC::DecayManager::decay(Counter& c) { + GPI::Manager::decay(Info& c) { assert((t >= c.t) && (d != 1.0)); unsigned int n = t - c.t; if (n > 0) { @@ -193,7 +202,7 @@ namespace Gecode { } } forceinline void - GlobalAFC::DecayManager::inc(Counter& c) { + GPI::Manager::inc(Info& c) { if (d == 1.0) { c.c += 1.0; } else { @@ -202,85 +211,66 @@ namespace Gecode { } } forceinline double - GlobalAFC::DecayManager::val(Counter& c) { + GPI::Manager::val(Info& c) { if (d != 1.0) decay(c); return c.c; } forceinline void - GlobalAFC::DecayManager::set(Counter& c, double a) { + GPI::Manager::set(Info& c, double a) { c.c = a; } - forceinline void* - GlobalAFC::DecayManager::operator new(size_t s) { - return Gecode::heap.ralloc(s); - } - forceinline void - GlobalAFC::DecayManager::operator delete(void* p) { - Gecode::heap.rfree(p); - } /* * Global AFC information * */ - - forceinline void* - GlobalAFC::Object::operator new(size_t s) { - return Gecode::heap.ralloc(s); - } - - forceinline void - GlobalAFC::Object::operator delete(void* p) { - Gecode::heap.rfree(p); - } - - forceinline GlobalAFC::Block* - GlobalAFC::Block::allocate(unsigned int n, GlobalAFC::Block* p) { + forceinline GPI::Block* + GPI::Block::allocate(unsigned int n, GPI::Block* p) { Block* b = static_cast(heap.ralloc(sizeof(Block)+ - (n-1)*sizeof(Counter))); + (n-1)*sizeof(Info))); b->next = p; return b; } forceinline - GlobalAFC::Object::Object(Support::FastMutex* m, Object* p) + GPI::Object::Object(Support::FastMutex* m, Object* p) : mutex(m), parent(p), use_cnt(1), size(size_min), free(size_min), cur(Block::allocate(size)) { if (parent == NULL) { - decay = new DecayManager; + manager = new Manager; } else { - decay = parent->decay; + manager = parent->manager; } } - forceinline GlobalAFC::Object* - GlobalAFC::object(void) const { + forceinline GPI::Object* + GPI::object(void) const { return static_cast(Support::funmark(mo)); } forceinline bool - GlobalAFC::local(void) const { + GPI::local(void) const { return !Support::marked(mo); } forceinline void - GlobalAFC::local(Object* o) { + GPI::local(Object* o) { assert(!Support::marked(o)); mo = o; } forceinline void - GlobalAFC::global(void* o) { + GPI::global(void* o) { mo = Support::fmark(o); } forceinline - GlobalAFC::GlobalAFC(void) { + GPI::GPI(void) { // No synchronization needed as single thread is creating this object local(new Object(new Support::FastMutex)); } forceinline - GlobalAFC::GlobalAFC(const GlobalAFC& gpi) { + GPI::GPI(const GPI& gpi) { global(gpi.mo); Object* o = object(); o->mutex->acquire(); @@ -288,12 +278,12 @@ namespace Gecode { o->mutex->release(); } - forceinline - GlobalAFC::~GlobalAFC(void) { + forceinline void + GPI::dispose(void) { Support::FastMutex* m = object()->mutex; m->acquire(); Object* c = object(); - DecayManager* decay = c->decay; + Manager* manager = c->manager; while ((c != NULL) && (--c->use_cnt == 0)) { // Delete all blocks for c Block* b = c->cur; @@ -303,62 +293,67 @@ namespace Gecode { } // Delete object Object* d = c; c = c->parent; - delete d; + delete d; } m->release(); - // All objects are deleted, so also delete mutex and decya info + // All objects are deleted, so also delete mutex and manager if (c == NULL) { - delete decay; + delete manager; delete m; } } + forceinline + GPI::~GPI(void) { + dispose(); + } + forceinline void - GlobalAFC::fail(Counter& c) { + GPI::fail(Info& c) { Support::FastMutex& m = *object()->mutex; m.acquire(); - object()->decay->inc(c); + object()->manager->inc(c); m.release(); } forceinline void - GlobalAFC::set(Counter& c, double a) { + GPI::set(Info& c, double a) { Support::FastMutex& m = *object()->mutex; m.acquire(); - object()->decay->set(c,a); + object()->manager->set(c,a); m.release(); } forceinline double - GlobalAFC::afc(Counter& c) { + GPI::afc(Info& c) { Support::FastMutex& m = *object()->mutex; double d; m.acquire(); - d = object()->decay->val(c); + d = object()->manager->val(c); m.release(); return d; } forceinline double - GlobalAFC::decay(void) const { + GPI::decay(void) const { Support::FastMutex& m = *object()->mutex; double d; m.acquire(); - d = object()->decay->decay(); + d = object()->manager->decay(); m.release(); return d; } forceinline void - GlobalAFC::decay(double d) { + GPI::decay(double d) { Support::FastMutex& m = *object()->mutex; m.acquire(); - object()->decay->decay(d); + object()->manager->decay(d); m.release(); } - forceinline GlobalAFC::Counter& - GlobalAFC::allocate(void) { + forceinline GPI::Info* + GPI::allocate(unsigned int gid) { /* * If there is no local object, create one. * @@ -379,10 +374,10 @@ namespace Gecode { o->cur = Block::allocate(o->size,o->cur); } - Counter* c = &o->cur->c[--o->free]; - c->init(); + Info* c = &o->cur->c[--o->free]; + c->init(o->manager->pid(),gid); - return *c; + return c; } } diff --git a/gecode/kernel/macros.hpp b/gecode/kernel/macros.hpp index ca28e96321..0ad9ebb2b1 100755 --- a/gecode/kernel/macros.hpp +++ b/gecode/kernel/macros.hpp @@ -35,6 +35,17 @@ * */ +/** + * \brief Check for failure in a constraint post function + * + * Also sets group information for posting. + * \ingroup TaskActor + */ +#define GECODE_POST \ + if (home.failed()) return; \ + ::Gecode::PostInfo __gecode__pi(home); + + /** * \brief Check whether modification event \a me is failed, and forward failure. * @@ -55,7 +66,7 @@ * \ingroup TaskActor */ #define GECODE_ME_CHECK_MODIFIED(modified, me) do { \ - ModEvent __me__ ## __LINE__ = (me); \ + ::Gecode::ModEvent __me__ ## __LINE__ = (me); \ if (::Gecode::me_failed(__me__ ## __LINE__)) \ return ::Gecode::ES_FAILED; \ modified |= ::Gecode::me_modified(__me__ ## __LINE__); \ @@ -107,9 +118,9 @@ * \ingroup TaskActor */ #define GECODE_REWRITE(prop,post) do { \ - Propagator& __p__ ## __LINE__ = (prop); \ - size_t __s__ ## __LINE__ = __p__ ## __LINE__.dispose(home); \ - ExecStatus __es__ ## __LINE__ = (post); \ + ::Gecode::Propagator& __p__ ## __LINE__ = (prop); \ + size_t __s__ ## __LINE__ = __p__ ## __LINE__.dispose(home); \ + ::Gecode::ExecStatus __es__ ## __LINE__ = (post); \ if (__es__ ## __LINE__ != ::Gecode::ES_OK) \ return ::Gecode::ES_FAILED; \ return home.ES_SUBSUMED_DISPOSED(__p__ ## __LINE__,__s__ ## __LINE__); \ diff --git a/gecode/kernel/memory-manager.hpp b/gecode/kernel/memory-manager.hpp index 2470b78494..1506c04f50 100755 --- a/gecode/kernel/memory-manager.hpp +++ b/gecode/kernel/memory-manager.hpp @@ -384,7 +384,7 @@ namespace Gecode { } forceinline - MemoryManager::MemoryManager(SharedMemory* sm, MemoryManager& mm, + MemoryManager::MemoryManager(SharedMemory* sm, MemoryManager& mm, size_t s_sub) : cur_hcsz(mm.cur_hcsz), requested(0), slack(NULL) { MemoryConfig::align(s_sub); diff --git a/gecode/kernel/print.hpp b/gecode/kernel/print.hpp new file mode 100755 index 0000000000..7c95751fac --- /dev/null +++ b/gecode/kernel/print.hpp @@ -0,0 +1,83 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { + + /** + * \brief Print execution information + * \relates ExecInfo + */ + template + std::basic_ostream& + operator <<(std::basic_ostream& os, + const ExecInfo& ei) { + std::basic_ostringstream s; + s.copyfmt(os); s.width(0); + switch (ei.what()) { + case ExecInfo::PROPAGATOR: + s << "propagator(id:" << ei.propagator().id(); + if (ei.propagator().group().in()) + s << ",g:" << ei.propagator().group().id(); + s << ')'; + break; + case ExecInfo::BRANCHER: + s << "brancher(id:" << ei.brancher().id(); + if (ei.brancher().group().in()) + s << ",g:" << ei.brancher().group().id(); + s << ')'; + break; + case ExecInfo::POST: + s << "post("; + if (ei.post().in()) + s << "g:" << ei.post().id(); + s << ')'; + break; + case ExecInfo::OTHER: + s << '-'; + break; + default: + GECODE_NEVER; + } + return os << s.str(); + } + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/propagator.hpp b/gecode/kernel/propagator.hpp index b25c7b1d5f..c9d4422199 100755 --- a/gecode/kernel/propagator.hpp +++ b/gecode/kernel/propagator.hpp @@ -70,6 +70,8 @@ namespace Gecode { public: /// Cost function (defined as PC_UNARY_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -98,6 +100,8 @@ namespace Gecode { public: /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -126,6 +130,8 @@ namespace Gecode { public: /// Cost function (defined as low ternary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -154,6 +160,8 @@ namespace Gecode { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -185,6 +193,8 @@ namespace Gecode { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -216,6 +226,8 @@ namespace Gecode { public: /// Cost function (defined as low binary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -250,6 +262,8 @@ namespace Gecode { public: /// Cost function (defined as low ternary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -281,6 +295,8 @@ namespace Gecode { public: /// Cost function (defined as low linear) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -321,6 +337,13 @@ namespace Gecode { return PropCost::unary(PropCost::LO); } + template + void + UnaryPropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) + x0.reschedule(home,*this,pc); + } + template forceinline size_t UnaryPropagator::dispose(Space& home) { @@ -369,6 +392,15 @@ namespace Gecode { return PropCost::binary(PropCost::LO); } + template + void + BinaryPropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) { + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + } + } + template forceinline size_t BinaryPropagator::dispose(Space& home) { @@ -422,6 +454,16 @@ namespace Gecode { return PropCost::ternary(PropCost::LO);; } + template + void + TernaryPropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) { + x0.reschedule(home,*this,pc); + x1.reschedule(home,*this,pc); + x2.reschedule(home,*this,pc); + } + } + template forceinline size_t TernaryPropagator::dispose(Space& home) { @@ -469,6 +511,13 @@ namespace Gecode { return PropCost::linear(PropCost::LO,x.size()); } + template + void + NaryPropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) + x.reschedule(home,*this,pc); + } + template forceinline size_t NaryPropagator::dispose(Space& home) { @@ -517,6 +566,15 @@ namespace Gecode { return PropCost::linear(PropCost::LO,x.size()+1); } + template + void + NaryOnePropagator::reschedule(Space& home) { + if (pc != PC_GEN_NONE) { + x.reschedule(home,*this,pc); + y.reschedule(home,*this,pc); + } + } + template forceinline size_t NaryOnePropagator::dispose(Space& home) { @@ -568,6 +626,15 @@ namespace Gecode { return PropCost::binary(PropCost::LO); } + template + void + MixBinaryPropagator::reschedule(Space& home) { + if (pc0 != PC_GEN_NONE) + x0.reschedule(home,*this,pc0); + if (pc1 != PC_GEN_NONE) + x1.reschedule(home,*this,pc1); + } + template forceinline size_t MixBinaryPropagator::dispose(Space& home) { @@ -629,6 +696,18 @@ namespace Gecode { return PropCost::ternary(PropCost::LO); } + template + void + MixTernaryPropagator::reschedule(Space& home) { + if (pc0 != PC_GEN_NONE) + x0.reschedule(home,*this,pc0); + if (pc1 != PC_GEN_NONE) + x1.reschedule(home,*this,pc1); + if (pc2 != PC_GEN_NONE) + x2.reschedule(home,*this,pc2); + } + template forceinline size_t @@ -683,6 +762,15 @@ namespace Gecode { return PropCost::linear(PropCost::LO,x.size()+1); } + template + void + MixNaryOnePropagator::reschedule(Space& home) { + if (pc0 != PC_GEN_NONE) + x.reschedule(home,*this,pc0); + if (pc1 != PC_GEN_NONE) + y.reschedule(home,*this,pc1); + } + template forceinline size_t MixNaryOnePropagator::dispose(Space& home) { diff --git a/gecode/kernel/range-list.hpp b/gecode/kernel/range-list.hpp index 1914b93924..181c6a3dc1 100644 --- a/gecode/kernel/range-list.hpp +++ b/gecode/kernel/range-list.hpp @@ -45,7 +45,7 @@ namespace Gecode { * \brief Lists of ranges (intervals) * * This class implements a simple datastructure for storing sets of - * integers as lists of ranges (intervals). Memory is managed as + * integers as lists of ranges (intervals). Memory is managed as * space-allocated free lists. * * \ingroup FuncMemSpace @@ -61,6 +61,8 @@ namespace Gecode { //@{ /// Default constructor (noop) RangeList(void); + /// Initialize with minimum \a min and maximum \a max + RangeList(int min, int max); /// Initialize with minimum \a min and maximum \a max and successor \a n RangeList(int min, int max, RangeList* n); //@} @@ -76,6 +78,8 @@ namespace Gecode { /// Return next element RangeList* next(void) const; + /// Return pointer to next element + RangeList** nextRef(void); //@} /// \name Update @@ -84,16 +88,29 @@ namespace Gecode { void min(int n); /// Set maximum to \a n void max(int n); - /// Set next rane to \a n + /// Set next range to \a n void next(RangeList* n); //@} + /// \name Iterator operations + //@{ + /// Create rangelist \a r from range iterator \a i + template + static void copy(Space& home, RangeList*& r, Iter& i); + /// Overwrite rangelist \a r with ranges from range iterator \a i + template + static void overwrite(Space& home, RangeList*& r, Iter& i); + /// Insert (as union) ranges from iterator \a i into \a r + template + static void insert(Space& home, RangeList*& r, I& i); + //@} + /// \name Memory management //@{ - /** - * \brief Free memory for all elements between this and \a l (inclusive) - */ + /// Free memory for all elements between this and \a l (inclusive) void dispose(Space& home, RangeList* l); + /// Free memory for all elements reachable from this + void dispose(Space& home); /// Allocate memory from space static void* operator new(size_t s, Space& home); @@ -120,11 +137,20 @@ namespace Gecode { RangeList::RangeList(int min, int max, RangeList* n) : FreeList(n), _min(min), _max(max) {} + forceinline + RangeList::RangeList(int min, int max) + : _min(min), _max(max) {} + forceinline RangeList* - RangeList::next() const { + RangeList::next(void) const { return static_cast(FreeList::next()); } + forceinline RangeList** + RangeList::nextRef(void) { + return reinterpret_cast(FreeList::nextRef()); + } + forceinline void RangeList::min(int n) { _min = n; @@ -180,5 +206,101 @@ namespace Gecode { home.fl_dispose(this,l); } + forceinline void + RangeList::dispose(Space& home) { + RangeList* l = this; + while (l->next() != NULL) + l=l->next(); + dispose(home,l); + } + + template + forceinline void + RangeList::copy(Space& home, RangeList*& r, Iter& i) { + RangeList sentinel; sentinel.next(r); + RangeList* p = &sentinel; + while (i()) { + RangeList* n = new (home) RangeList(i.min(),i.max()); + p->next(n); p=n; ++i; + } + p->next(NULL); + r = sentinel.next(); + } + + template + forceinline void + RangeList::overwrite(Space& home, RangeList*& r, Iter& i) { + RangeList sentinel; sentinel.next(r); + RangeList* p = &sentinel; + RangeList* c = p->next(); + while ((c != NULL) && i()) { + c->min(i.min()); c->max(i.max()); + p=c; c=c->next(); ++i; + } + if ((c == NULL) && !i()) + return; + if (c == NULL) { + assert(i()); + // New elements needed + do { + RangeList* n = new (home) RangeList(i.min(),i.max()); + p->next(n); p=n; ++i; + } while (i()); + } else { + // Dispose excess elements + while (c->next() != NULL) + c=c->next(); + p->next()->dispose(home,c); + } + p->next(NULL); + r = sentinel.next(); + } + + template + forceinline void + RangeList::insert(Space& home, RangeList*& r, I& i) { + RangeList sentinel; + sentinel.next(r); + RangeList* p = &sentinel; + RangeList* c = p->next(); + while ((c != NULL) && i()) { + if ((c->max()+1 < i.min())) { + p=c; c=c->next(); + } else if (i.max()+1 < c->min()) { + RangeList* n = new (home) RangeList(i.min(),i.max(),c); + p->next(n); p=n; ++i; + } else { + int min = std::min(c->min(),i.min()); + int max = std::max(c->max(),i.max()); + RangeList* f=c; + p=c; c=c->next(); ++i; + next: + if ((c != NULL) && (c->min() <= max+1)) { + max = std::max(max,c->max()); + p=c; c=c->next(); + goto next; + } + if (i() && (i.min() <= max+1)) { + max = std::max(max,i.max()); + ++i; + goto next; + } + // Dispose now unused elements + if (f->next() != p) + f->next()->dispose(home,p); + f->min(min); f->max(max); f->next(c); + } + } + if (c == NULL) { + while (i()) { + RangeList* n = new (home) RangeList(i.min(),i.max()); + p->next(n); p=n; + ++i; + } + p->next(NULL); + } + r = sentinel.next(); + } + } // STATISTICS: kernel-other diff --git a/gecode/kernel/region.cpp b/gecode/kernel/region.cpp index beac2457a0..c0ef21da6b 100755 --- a/gecode/kernel/region.cpp +++ b/gecode/kernel/region.cpp @@ -60,6 +60,7 @@ namespace Gecode { n->n = h->n; memcpy(&n->blocks[0], &h->blocks[0], h->n*sizeof(void*)); hi = Support::mark(n); + heap.rfree(h); h = n; } h->blocks[h->n++] = p; diff --git a/gecode/kernel/region.hpp b/gecode/kernel/region.hpp index 2f6254394e..d52cd131d3 100755 --- a/gecode/kernel/region.hpp +++ b/gecode/kernel/region.hpp @@ -237,21 +237,21 @@ namespace Gecode { /** * \brief Constructs a single object of type \a T from region using the default constructor. */ - template + template T& construct(void); /** * \brief Constructs a single object of type \a T from region using a unary constructor. * * The parameter is passed as a const reference. */ - template + template T& construct(A1 const& a1); /** * \brief Constructs a single object of type \a T from region using a binary constructor. * * The parameters are passed as const references. */ - template + template T& construct(A1 const& a1, A2 const& a2); /** * \brief Constructs a single object of type \a T from region using a ternary constructor. @@ -413,41 +413,41 @@ namespace Gecode { * Region construction support * */ - template - forceinline T& + template + forceinline T& Region::construct(void) { return alloc(1); } - template - forceinline T& + template + forceinline T& Region::construct(A1 const& a1) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1); return t; } - template - forceinline T& + template + forceinline T& Region::construct(A1 const& a1, A2 const& a2) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2); return t; } template - forceinline T& + forceinline T& Region::construct(A1 const& a1, A2 const& a2, A3 const& a3) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2,a3); return t; } template - forceinline T& + forceinline T& Region::construct(A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2,a3,a4); return t; } template - forceinline T& + forceinline T& Region::construct(A1 const& a1, A2 const& a2, A3 const& a3, A4 const& a4, A5 const& a5) { T& t = *static_cast(ralloc(sizeof(T))); new (&t) T(a1,a2,a3,a4,a5); diff --git a/gecode/kernel/rnd.cpp b/gecode/kernel/rnd.cpp index 116f985d7f..1a5fc026c8 100755 --- a/gecode/kernel/rnd.cpp +++ b/gecode/kernel/rnd.cpp @@ -41,16 +41,19 @@ namespace Gecode { + forceinline + Rnd::IMP::IMP(unsigned int s) + : rg(s) {} + + Rnd::IMP::~IMP(void) {} + SharedHandle::Object* Rnd::IMP::copy(void) const { return new IMP(rg.seed()); } - Rnd::Rnd(unsigned int s) { - object(new IMP(s)); - } - void - Rnd::seed(unsigned int s) { + forceinline void + Rnd::_seed(unsigned int s) { if (object() == NULL) { object(new IMP(s)); } else { @@ -58,6 +61,31 @@ namespace Gecode { } } + Rnd::Rnd(void) {} + Rnd::Rnd(unsigned int s) { + object(new IMP(s)); + } + Rnd::Rnd(const Rnd& r) + : SharedHandle(r) {} + Rnd& + Rnd::operator =(const Rnd& r) { + (void) SharedHandle::operator =(r); + return *this; + } + Rnd::~Rnd(void) {} + + void + Rnd::seed(unsigned int s) { + _seed(s); + } + void + Rnd::time(void) { + _seed(static_cast(::time(NULL))); + } + void + Rnd::hw(void) { + seed(Support::hwrnd()); + } } // STATISTICS: kernel-other diff --git a/gecode/kernel/rnd.hpp b/gecode/kernel/rnd.hpp index bfa90b0e92..7e18ad41df 100755 --- a/gecode/kernel/rnd.hpp +++ b/gecode/kernel/rnd.hpp @@ -58,19 +58,32 @@ namespace Gecode { GECODE_KERNEL_EXPORT virtual SharedHandle::Object* copy(void) const; }; + /// Set the current seed to \a s (initializes if needed) + void _seed(unsigned int s); public: /// Default constructor that does not initialize the generator + GECODE_KERNEL_EXPORT Rnd(void); - /// Initialize with seed \a s - GECODE_KERNEL_EXPORT Rnd(unsigned int s); /// Initialize from generator \a r + GECODE_KERNEL_EXPORT Rnd(const Rnd& r); + /// Assignment operator + GECODE_KERNEL_EXPORT + Rnd& operator =(const Rnd& r); + /// Destructor + GECODE_KERNEL_EXPORT + ~Rnd(void); + /// Initialize with seed \a s + GECODE_KERNEL_EXPORT + Rnd(unsigned int s); /// Set the current seed to \a s (initializes if needed) GECODE_KERNEL_EXPORT void seed(unsigned int s); /// Set current seed based on time (initializes if needed) + GECODE_KERNEL_EXPORT void time(void); /// Set current seed to hardware-based random number (initializes if needed) + GECODE_KERNEL_EXPORT void hw(void); /// Return current seed unsigned int seed(void) const; @@ -80,26 +93,6 @@ namespace Gecode { bool initialized(void) const; }; - forceinline - Rnd::IMP::IMP(unsigned int s) - : rg(s) {} - - forceinline - Rnd::IMP::~IMP(void) {} - - forceinline - Rnd::Rnd(void) {} - forceinline - Rnd::Rnd(const Rnd& r) - : SharedHandle(r) {} - inline void - Rnd::time(void) { - seed(static_cast(::time(NULL))); - } - inline void - Rnd::hw(void) { - seed(Support::hwrnd()); - } forceinline unsigned int Rnd::seed(void) const { const IMP* i = static_cast(object()); diff --git a/gecode/kernel/shared-array.hpp b/gecode/kernel/shared-array.hpp index 0396956637..3e4380693c 100755 --- a/gecode/kernel/shared-array.hpp +++ b/gecode/kernel/shared-array.hpp @@ -79,7 +79,7 @@ namespace Gecode { /// Return number of elements int size(void) const; - + /// Return beginning of array (for iterators) T* begin(void); /// Return beginning of array (for iterators) diff --git a/gecode/kernel/subscribed-propagators.hpp b/gecode/kernel/subscribed-propagators.hpp new file mode 100644 index 0000000000..e95ba37d94 --- /dev/null +++ b/gecode/kernel/subscribed-propagators.hpp @@ -0,0 +1,134 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +namespace Gecode { + + /// Iterator over subscribed propagators + class SubscribedPropagators { + protected: + /// Pointing at the current subscription (either propagator or advisor) + ActorLink** c; + /// End of propagator subscriptions + ActorLink** ep; + /// End of advisor subscriptions + ActorLink** ea; + public: + /// Initialize + template + SubscribedPropagators(VarImp& x); + /// Initialize + template + SubscribedPropagators(ConstView& x); + /// Initialize + template + SubscribedPropagators(VarImpView& x); + /// Initialize + template + SubscribedPropagators(DerivedView& x); + /// Initialize + template + void init(VarImp& x); + /// Initialize + template + void init(ConstView& x); + /// Initialize + template + void init(VarImpView& x); + /// Initialize + template + void init(DerivedView& x); + /// Test whether there are propagators left + bool operator ()(void) const; + /// Move iterator to next propagator + void operator ++(void); + /// Return propagator + Propagator& propagator(void) const; + }; + + template + forceinline void + SubscribedPropagators::init(VarImp& x) { + c = x.actor(0); + ep = x.actorNonZero(x.pc_max+1); ea = x.b.base+x.entries; + } + template + forceinline + SubscribedPropagators::SubscribedPropagators(VarImp& x) { + init(x); + } + template + forceinline void + SubscribedPropagators::init(ConstView& x) { + c = ep = ea = NULL; + } + template + forceinline + SubscribedPropagators::SubscribedPropagators(ConstView& x) { + init(x); + } + template + forceinline + SubscribedPropagators::SubscribedPropagators(VarImpView& x) { + init(*x.varimp()); + } + template + forceinline void + SubscribedPropagators::init(VarImpView& x) { + init(*x.varimp()); + } + template + forceinline + SubscribedPropagators::SubscribedPropagators(DerivedView& x) { + init(*x.varimp()); + } + template + forceinline void + SubscribedPropagators::init(DerivedView& x) { + init(*x.varimp()); + } + + forceinline bool + SubscribedPropagators::operator ()(void) const { + return cpropagator(); + } + +} + +// STATISTICS: kernel-prop diff --git a/gecode/kernel/trace-filter.cpp b/gecode/kernel/trace-filter.cpp new file mode 100755 index 0000000000..48c5eb49cc --- /dev/null +++ b/gecode/kernel/trace-filter.cpp @@ -0,0 +1,213 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + /* + * Trace filter expressions + * + */ + bool + TFE::Node::decrement(void) { + if (--use == 0) { + if ((l != NULL) && l->decrement()) + delete l; + if ((r != NULL) && r->decrement()) + delete r; + return true; + } + return false; + } + + + forceinline void + TFE::init(Group g, char what) { + n = new Node; + n->t = NT_GROUP; + n->g = g; + n->n = 1; + n->w = what; + } + + inline TFE + TFE::negate(void) const { + Node* m = new Node; + m->t = NT_NEGATE; + m->n = n->n; + m->l = n; n->use++; + return TFE(m); + } + + TFE::TFE(PropagatorGroup g) { + init(g,(1 << ExecInfo::PROPAGATOR) | (1 << ExecInfo::POST)); + } + + TFE::TFE(BrancherGroup g) { + init(g,(1 << ExecInfo::BRANCHER)); + } + + TFE + TFE::other(void) { + TFE e; + e.init(Group::all,(1 << ExecInfo::OTHER)); + return e; + } + + TFE::TFE(const TFE& e) : n(e.n) { + n->use++; + } + + TFE& + TFE::operator =(const TFE& e) { + if (&e != this) { + if (n->decrement()) + delete n; + n = e.n; + n->use++; + } + return *this; + } + + TFE& + TFE::operator +=(const TFE& e) { + Node* a = new Node; + a->t = NT_ADD; + a->n = n->n + e.n->n; + a->l = n; + a->r = e.n; e.n->use++; + n = a; + return *this; + } + + TFE& + TFE::operator -=(const TFE& e) { + return operator +=(e.negate()); + } + + TFE::~TFE(void) { + if (n->decrement()) + delete n; + } + + + TFE + operator -(const TFE& e) { + return e.negate(); + } + + TFE + propagator(PropagatorGroup g) { + TFE e; + e.init(g,(1 << ExecInfo::PROPAGATOR)); + return e; + } + + TFE + post(PropagatorGroup g) { + TFE e; + e.init(g,(1 << ExecInfo::POST)); + return e; + } + + + + /* + * Trace filters + * + */ + + + forceinline + TraceFilter::TFO::StackFrame::StackFrame(void) {} + forceinline + TraceFilter::TFO::StackFrame::StackFrame(TFE::Node* n0, bool neg0) + : n(n0), neg(neg0) {} + + void + TraceFilter::TFO::fill(TFE::Node* n) { + Support::DynamicStack next(heap); + int i=0; + next.push(StackFrame(n,false)); + do { + StackFrame s = next.pop(); + switch (s.n->t) { + case TFE::NT_GROUP: + f[i].g = s.n->g; f[i].neg = s.neg; f[i].what=s.n->w; + i++; + break; + case TFE::NT_NEGATE: + next.push(StackFrame(s.n->l,!s.neg)); + break; + case TFE::NT_ADD: + next.push(StackFrame(s.n->l,s.neg)); + next.push(StackFrame(s.n->r,s.neg)); + break; + default: GECODE_NEVER; + } + } while (!next.empty()); + } + + SharedHandle::Object* + TraceFilter::TFO::copy(void) const { + return new TFO(*this); + } + TraceFilter::TFO::~TFO(void) { + heap.free(f,n); + } + + TraceFilter::TraceFilter(void) : SharedHandle(new TFO) {} + + TraceFilter::TraceFilter(const TFE& e) : SharedHandle(new TFO(e)) {} + + TraceFilter::TraceFilter(PropagatorGroup g) : SharedHandle(new TFO(g)) {} + + TraceFilter::TraceFilter(BrancherGroup g) : SharedHandle(new TFO(g)) {} + + TraceFilter::TraceFilter(const TraceFilter& tf) : SharedHandle(tf) {} + + TraceFilter& + TraceFilter::operator =(const TraceFilter& tf) { + return static_cast(SharedHandle::operator =(tf)); + } + + TraceFilter TraceFilter::all; + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/trace-filter.hpp b/gecode/kernel/trace-filter.hpp new file mode 100755 index 0000000000..f9532cb038 --- /dev/null +++ b/gecode/kernel/trace-filter.hpp @@ -0,0 +1,316 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + class TraceFilter; + + /** + * \brief Trace filter expressions + * \ingroup TaskTrace + */ + class TFE { + friend GECODE_KERNEL_EXPORT TFE operator -(const TFE& r); + friend GECODE_KERNEL_EXPORT TFE propagator(PropagatorGroup g); + friend GECODE_KERNEL_EXPORT TFE post(PropagatorGroup g); + friend class TraceFilter; + protected: + /// Type of trace filter expression + enum NodeType { + NT_GROUP, ///< Propagator or brancher group + NT_NEGATE, ///< Negation of expression + NT_ADD ///< More than one expression + }; + /// Node for trace filter expression + class Node : public HeapAllocated { + public: + /// Nodes are reference counted + unsigned int use; + /// Type of expression + NodeType t; + /// Number of leaf groups + int n; + /// Group + Group g; + /// Which operations to consider for propagator groups + char w; + /// Subexpressions + Node *l, *r; + /// Default constructor + Node(void); + /// Decrement reference count and possibly free memory + GECODE_KERNEL_EXPORT + bool decrement(void); + }; + /// Pointer to trace filter expression node + Node* n; + /// Initialize with no node + TFE(void); + /// Initialize with node \a n + TFE(Node* n); + /// Initialize with propagator group \a g and flags \a what + void init(Group g, char what); + /// Return negated the expresssion + TFE negate(void) const; + public: + /// An expression for a propagator group \a g + GECODE_KERNEL_EXPORT + TFE(PropagatorGroup g); + /// An expression for a brancher group \a g + GECODE_KERNEL_EXPORT + TFE(BrancherGroup g); + /// Expression for other than propagator, brancher, or post + GECODE_KERNEL_EXPORT + static TFE other(void); + /// Copy constructor + GECODE_KERNEL_EXPORT + TFE(const TFE& e); + /// Assignment operator + GECODE_KERNEL_EXPORT + TFE& operator =(const TFE& e); + /// Add expression \a e + GECODE_KERNEL_EXPORT + TFE& operator +=(const TFE& e); + /// Add expression \a e as negative expression + GECODE_KERNEL_EXPORT + TFE& operator -=(const TFE& e); + /// Destructor + GECODE_KERNEL_EXPORT + ~TFE(void); + }; + + /// Disjunctive combination of trace filter expressions \a l and \a r + TFE operator +(TFE l, const TFE& r); + /// Positive expression + TFE operator +(const TFE& e); + /// Combine positive expression \a l and negative expression \a r + TFE operator -(TFE l, const TFE& r); + /// Return negative expression of \a e + GECODE_KERNEL_EXPORT + TFE operator -(const TFE& e); + /// Only propagators (but not post functions) from \a g are considered + GECODE_KERNEL_EXPORT + TFE propagator(PropagatorGroup g); + /// Only post functions (but not propagators) from \a g are considered + GECODE_KERNEL_EXPORT + TFE post(PropagatorGroup g); + + + /** + * \brief Trace filters + * \ingroup TaskTrace + */ + class TraceFilter : public SharedHandle { + protected: + /// The actual object storing the shared filters + class TFO : public SharedHandle::Object { + public: + /// Filter information + struct Filter { + /// The filter group + Group g; + /// Whether the filter is negative + bool neg; + /// One bit set for each operation type + char what; + }; + class StackFrame { + public: + /// The node + TFE::Node* n; + /// Whether it is negated + bool neg; + /// Default constructor + StackFrame(void); + /// Initialize + StackFrame(TFE::Node* n, bool neg); + }; + /// The number of filters + int n; + /// The filters + Filter* f; + /// Fill the filters + GECODE_KERNEL_EXPORT + void fill(TFE::Node* n); + /// Initialize without any filter and with fixpoint and done tracing + TFO(void); + /// Initialize with trace filter expression \a e + TFO(const TFE& e); + /// Initialize with propagator group \a g + TFO(PropagatorGroup g); + /// Initialize with brancher group \a g + TFO(BrancherGroup g); + /// Copy constructor + TFO(const TFO& o); + /// Check whether filter is true for execution information \a ei + bool operator ()(const ExecInfo& ei) const; + /// Create a copy + GECODE_KERNEL_EXPORT + virtual Object* copy(void) const; + /// Destructor + GECODE_KERNEL_EXPORT + virtual ~TFO(void); + }; + public: + /// Initialize without any filter + GECODE_KERNEL_EXPORT + TraceFilter(void); + /// Initialize with trace filter expression \a e + GECODE_KERNEL_EXPORT + TraceFilter(const TFE& e); + /// Initialize with propagator group \a g + GECODE_KERNEL_EXPORT + TraceFilter(PropagatorGroup g); + /// Initialize with brancher group \a g + GECODE_KERNEL_EXPORT + TraceFilter(BrancherGroup g); + /// Copy constructor + GECODE_KERNEL_EXPORT + TraceFilter(const TraceFilter& tf); + /// Assignment operator + GECODE_KERNEL_EXPORT + TraceFilter& operator =(const TraceFilter& tf); + /// Check whether filter is true for execution information \a ei + bool operator ()(const ExecInfo& ei) const; + /// Default filter: without any filter + GECODE_KERNEL_EXPORT + static TraceFilter all; + }; + + + + /* + * Trace expression filters + * + */ + + forceinline + TFE::Node::Node(void) + : use(1), l(NULL), r(NULL) {} + forceinline + TFE::TFE(void) : n(NULL) {} + forceinline + TFE::TFE(TFE::Node* n0) : n(n0) {} + + forceinline TFE + operator +(TFE l, const TFE& r) { + l += r; return l; + } + forceinline TFE + operator +(const TFE& e) { + return e; + } + forceinline TFE + operator -(TFE l, const TFE& r) { + l -= r; return l; + } + + + /* + * Trace filters + * + */ + forceinline + TraceFilter::TFO::TFO(void) : n(0), f(NULL) {} + forceinline + TraceFilter::TFO::TFO(const TFE& e) + : n(e.n->n), + f((n == 0) ? NULL : heap.alloc(n)) { + if (n > 0) + fill(e.n); + } + forceinline + TraceFilter::TFO::TFO(PropagatorGroup g) : n(1) { + f = heap.alloc(1); + f[0].g = g; f[0].neg = false; + f[0].what = 1 << ExecInfo::PROPAGATOR; + + } + forceinline + TraceFilter::TFO::TFO(BrancherGroup g) : n(1) { + f = heap.alloc(1); + f[0].g = g; f[0].neg = false; + f[0].what = 1 << ExecInfo::BRANCHER; + + } + forceinline + TraceFilter::TFO::TFO(const TFO& o) : n(o.n) { + if (n > 0) { + f = heap.alloc(n); + for (int i=n; i--; ) + f[i] = o.f[i]; + } else { + f = NULL; + } + } + forceinline bool + TraceFilter::TFO::operator ()(const ExecInfo& ei) const { + if (n == 0) + return true; + for (int i=n; i--; ) + if (f[i].what & (1 << ei.what())) { + // Group is of the right type + switch (ei.what()) { + case ExecInfo::PROPAGATOR: + if (f[i].g.in(ei.propagator().group()) != f[i].neg) + return true; + break; + case ExecInfo::BRANCHER: + if (f[i].g.in(ei.brancher().group()) != f[i].neg) + return true; + break; + case ExecInfo::POST: + if (f[i].g.in(ei.post()) != f[i].neg) + return true; + break; + case ExecInfo::OTHER: + return true; + default: + GECODE_NEVER; + } + } + return false; + } + + forceinline bool + TraceFilter::operator ()(const ExecInfo& ei) const { + return static_cast(object())->operator ()(ei); + } + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/trace-recorder.hpp b/gecode/kernel/trace-recorder.hpp new file mode 100755 index 0000000000..43e12c0faa --- /dev/null +++ b/gecode/kernel/trace-recorder.hpp @@ -0,0 +1,324 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + /** + * \brief Which events to trace + * \ingroup TaskTrace + */ + enum TraceEvent { + TE_INIT = 1 << 0, ///< Trace init events + TE_PRUNE = 1 << 1, ///< Trace prune events + TE_FIX = 1 << 2, ///< Trace fixpoint events + TE_DONE = 1 << 3 ///< Trace done events + }; + + /** + * \brief Propagator for recording trace information + * \ingroup TaskTrace + */ + template + class TraceRecorder : public Propagator { + public: + /// The corresponding duplicate view type + typedef typename TraceTraits::TraceView TraceView; + /// The corresponding trace delta type + typedef typename TraceTraits::TraceDelta TraceDelta; + /// The corresponding slack value type + typedef typename TraceTraits::SlackValue SlackValue; + /// Collection of slack values + class Slack { + template friend class TraceRecorder; + protected: + /// The initial slack value + SlackValue i; + /// Slack value at previous event (fixpoint or init) + SlackValue p; + /// Current slack value + SlackValue c; + public: + /// Return initial slack value + SlackValue initial(void) const; + /// Return previous slack value + SlackValue previous(void) const; + /// Return current slack value + SlackValue current(void) const; + }; + protected: + /// Advisor with index information + class Idx : public Advisor { + protected: + /// Index information + int _idx; + public: + /// Constructor for creation + Idx(Space& home, Propagator& p, Council& c, int i); + /// Constructor for cloning \a a + Idx(Space& home, bool share, Idx& a); + /// Get index of view + int idx(void) const; + }; + /// Duplicate views (old information) + ViewArray o; + /// Original views (new information) + ViewArray n; + /// The advisor council + Council c; + /// The trace filter + TraceFilter tf; + /// Which events to trace + int te; + /// The actual tracer + Tracer& t; + /// Slack information + Slack s; + /// Constructor for cloning \a p + TraceRecorder(Space& home, bool share, TraceRecorder& p); + public: + /// Constructor for creation + TraceRecorder(Home home, ViewArray& x, + TraceFilter tf, int te, Tracer& t); + /// Copy propagator during cloning + virtual Propagator* copy(Space& home, bool share); + /// Cost function (record so that propagator runs last) + virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); + /// Give advice to propagator + virtual ExecStatus advise(Space& home, Advisor& a, const Delta& d); + /// Perform propagation + virtual ExecStatus propagate(Space& home, const ModEventDelta& med); + /// Delete propagator and return its size + virtual size_t dispose(Space& home); + /// Post activity recorder propagator + static ExecStatus post(Home home, ViewArray& x, + TraceFilter tf, int te, Tracer& t); + /// \name Trace information + //@{ + /// Return variable being traced at position \a i + const typename View::VarType operator [](int i) const; + /// Return number of variables being traced + int size(void) const; + /// Provide access to slack information + const Slack& slack(void) const; + //@} + }; + + /* + * Functions for trace support + * + */ + template + forceinline const typename View::VarType + TraceRecorder::operator [](int i) const { + const typename View::VarType x(n[i].varimp()); + return x; + } + template + forceinline int + TraceRecorder::size(void) const { + return n.size(); + } + template + forceinline const typename TraceRecorder::Slack& + TraceRecorder::slack(void) const { + return s; + } + + + /* + * Functions for access to slack + * + */ + template + forceinline typename TraceRecorder::SlackValue + TraceRecorder::Slack::initial(void) const { + return i; + } + template + forceinline typename TraceRecorder::SlackValue + TraceRecorder::Slack::previous(void) const { + return p; + } + template + forceinline typename TraceRecorder::SlackValue + TraceRecorder::Slack::current(void) const { + return c; + } + + + /* + * Advisor for tracer + * + */ + + template + forceinline + TraceRecorder::Idx::Idx(Space& home, Propagator& p, + Council& c, int i) + : Advisor(home,p,c), _idx(i) {} + template + forceinline + TraceRecorder::Idx::Idx(Space& home, bool share, Idx& a) + : Advisor(home,share,a), _idx(a._idx) { + } + template + forceinline int + TraceRecorder::Idx::idx(void) const { + return _idx; + } + + + /* + * Posting of tracer propagator + * + */ + template + forceinline + TraceRecorder::TraceRecorder(Home home, ViewArray& x, + TraceFilter tf0, int te0, + Tracer& t0) + : Propagator(home), o(home,x.size()), n(x), c(home), + tf(tf0), te(te0), t(t0) { + home.notice(*this, AP_DISPOSE); + for (int i=n.size(); i--; ) { + o[i] = TraceView(home,n[i]); + if (!n[i].assigned()) + n[i].subscribe(home,*new (home) Idx(home,*this,c,i)); + } + View::schedule(home,*this,ME_GEN_ASSIGNED); + s.i = TraceView::slack(n[n.size()-1]); + for (int i=n.size()-1; i--; ) + s.i += TraceView::slack(n[i]); + s.p = s.i; + if ((te & TE_INIT) != 0) + t._init(home,*this); + } + + + template + forceinline ExecStatus + TraceRecorder::post(Home home, ViewArray& x, + TraceFilter tf, int te, Tracer& t) { + if (x.size() > 0) + (void) new (home) TraceRecorder(home,x,tf,te,t); + return ES_OK; + } + + + /* + * Propagation for trace collector + * + */ + template + forceinline + TraceRecorder::TraceRecorder(Space& home, bool share, + TraceRecorder& p) + : Propagator(home,share,p), te(p.te), t(p.t), s(p.s) { + o.update(home, share, p.o); + n.update(home, share, p.n); + c.update(home, share, p.c); + tf.update(home, share, p.tf); + } + + template + Propagator* + TraceRecorder::copy(Space& home, bool share) { + return new (home) TraceRecorder(home, share, *this); + } + + template + inline size_t + TraceRecorder::dispose(Space& home) { + home.ignore(*this,AP_DISPOSE); + tf.~TraceFilter(); + // Cancel remaining advisors + for (Advisors as(c); as(); ++as) + n[as.advisor().idx()].cancel(home,as.advisor()); + c.dispose(home); + (void) Propagator::dispose(home); + return sizeof(*this); + } + + template + PropCost + TraceRecorder::cost(const Space&, const ModEventDelta&) const { + return PropCost::record(); + } + + template + void + TraceRecorder::reschedule(Space& home) { + View::schedule(home,*this,ME_GEN_ASSIGNED); + } + + template + ExecStatus + TraceRecorder::advise(Space& home, Advisor& _a, const Delta& d) { + Idx& a = static_cast(_a); + int i = a.idx(); + if (((te & TE_PRUNE) != 0) && !disabled() && tf(a(home)) ) { + TraceDelta td(o[i],n[i],d); + t._prune(home,*this,a(home),i,td); + } + o[i].prune(home,n[i],d); + if (n[a.idx()].assigned()) + a.dispose(home,c); + return ES_NOFIX; + } + + template + ExecStatus + TraceRecorder::propagate(Space& home, const ModEventDelta&) { + s.c = TraceView::slack(n[n.size()-1]); + for (int i=n.size()-1; i--; ) + s.c += TraceView::slack(n[i]); + if ((te & TE_FIX) != 0) + t._fix(home,*this); + s.p = s.c; + if (c.empty()) { + if ((te & TE_DONE) != 0) + t._done(home,*this); + return home.ES_SUBSUMED(*this); + } + return ES_FIX; + } + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/trace-traits.hpp b/gecode/kernel/trace-traits.hpp new file mode 100755 index 0000000000..c02a1b3924 --- /dev/null +++ b/gecode/kernel/trace-traits.hpp @@ -0,0 +1,58 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + /** + * \brief Traits for tracing + * + * The traits used for tracing are as follows: + * - typedef Type TraceView where \c Type is the type + * of an appropriate duplicate view of \a View. + * - typedef Type TraceDelta/code> where \c Type is the type + * of an appropriate trace delta for \a View. + * - typedef Type TraceSlack/code> where \c Type is the type + * of an appropriate measure of slack for \a View. + * + */ + template + class TraceTraits { + }; + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/tracer.cpp b/gecode/kernel/tracer.cpp new file mode 100755 index 0000000000..f670831d3c --- /dev/null +++ b/gecode/kernel/tracer.cpp @@ -0,0 +1,46 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + Support::Mutex TracerBase::m; + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/tracer.hpp b/gecode/kernel/tracer.hpp new file mode 100755 index 0000000000..77803b52ab --- /dev/null +++ b/gecode/kernel/tracer.hpp @@ -0,0 +1,172 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + /// Class to provide synchronization + class TracerBase : public HeapAllocated { + protected: + /// Mutex to provide synchronization + GECODE_KERNEL_EXPORT + static Support::Mutex m; + }; + + template class TraceRecorder; + + /** + * \brief Tracer that process trace information + * \ingroup TaskTrace + */ + template + class Tracer : public TracerBase { + template friend class TraceRecorder; + private: + /** + * \brief Init function synchronization + * + * Just calls the actual init function protected by a mutex. + * + */ + void _init(const Space& home, const TraceRecorder& t); + /** + * \brief Prune function synchronization + * + * Just calls the actual prune function protected by a mutex. + * + */ + void _prune(const Space& home, const TraceRecorder& t, + const ExecInfo& ei, + int i, typename TraceTraits::TraceDelta& d); + /** + * \brief Fixpoint function synchronization + * + * Just calls the actual fixpoint function protected by a mutex. + */ + void _fix(const Space& home, const TraceRecorder& t); + /** + * \brief Done function synchronization + * + * Just calls the actual done function protected by a mutex. + */ + void _done(const Space& home, const TraceRecorder& t); + public: + /// Constructor + Tracer(void); + /** + * \brief Init function + * + * The init function is called when the trace collector has + * been initialized. + */ + virtual void init(const Space& home, + const TraceRecorder& t) = 0; + /** + * \brief Prune function + * + * The variable at position \a i has been modified where + * the modification is described by \a d. Additional + * information about how the variable has been changed is + * provided by the trace collector \a t and execution + * information \a ei. + */ + virtual void prune(const Space& home, + const TraceRecorder& t, + const ExecInfo& ei, + int i, typename TraceTraits::TraceDelta& d) = 0; + /** + * \brief Fixpoint function + * + * The fixpoint function is called whenever \a home containing + * the trace collector \a t reaches a fixpoint (and fixpoint + * tracing is enabled). + */ + virtual void fix(const Space& home, + const TraceRecorder& t) = 0; + /** + * \brief Done function + * + * The done function is called whenever the trace collector \a t + * is done and will terminate. + */ + virtual void done(const Space& home, + const TraceRecorder& t) = 0; + /// Destructor + virtual ~Tracer(void); + }; + + + template + forceinline + Tracer::Tracer(void) {} + + template + forceinline void + Tracer::_init(const Space& home, const TraceRecorder& t) { + m.acquire(); + init(home,t); + m.release(); + } + template + forceinline void + Tracer::_prune(const Space& home, const TraceRecorder& t, + const ExecInfo& ei, + int i, typename TraceTraits::TraceDelta& d) { + m.acquire(); + prune(home,t,ei,i,d); + m.release(); + } + template + forceinline void + Tracer::_fix(const Space& home, const TraceRecorder& t) { + m.acquire(); + fix(home,t); + m.release(); + } + template + forceinline void + Tracer::_done(const Space& home, const TraceRecorder& t) { + m.acquire(); + done(home,t); + m.release(); + } + template + forceinline + Tracer::~Tracer(void) {} + +} + +// STATISTICS: kernel-other diff --git a/gecode/kernel/var-imp.hpp b/gecode/kernel/var-imp.hpp index c58d7e198b..f9dc7b2958 100644 --- a/gecode/kernel/var-imp.hpp +++ b/gecode/kernel/var-imp.hpp @@ -42,7 +42,7 @@ */ #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /// Base-class for Int-variable implementations class IntVarImpBase : public Gecode::VarImp { protected: @@ -72,12 +72,23 @@ namespace Gecode { namespace Int { void subscribe(Gecode::Space& home, Gecode::Advisor& a, bool assigned); /// Notify that variable implementation has been modified with modification event \a me and delta information \a d Gecode::ModEvent notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d); + /// \brief Schedule propagator \a p + static void schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me); + /** \brief Re-schedule propagator \a p + * + * In case the variable is assigned (that is, \a assigned is + * true), the propagator is scheduled for execution. + * Otherwise, the propagator is scheduled for execution + * with modification event \a me provided that \a pc is different + * from \a PC_INT_VAL. + */ + void reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned); //@} }; }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /// Base-class for Bool-variable implementations class BoolVarImpBase : public Gecode::VarImp { protected: @@ -107,12 +118,23 @@ namespace Gecode { namespace Int { void subscribe(Gecode::Space& home, Gecode::Advisor& a, bool assigned); /// Notify that variable implementation has been modified with modification event \a me and delta information \a d Gecode::ModEvent notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d); + /// \brief Schedule propagator \a p + static void schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me); + /** \brief Re-schedule propagator \a p + * + * In case the variable is assigned (that is, \a assigned is + * true), the propagator is scheduled for execution. + * Otherwise, the propagator is scheduled for execution + * with modification event \a me provided that \a pc is different + * from \a PC_BOOL_VAL. + */ + void reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned); //@} }; }} #endif #ifdef GECODE_HAS_SET_VARS -namespace Gecode { namespace Set { +namespace Gecode { namespace Set { /// Base-class for Set-variable implementations class SetVarImpBase : public Gecode::VarImp { protected: @@ -142,12 +164,23 @@ namespace Gecode { namespace Set { void subscribe(Gecode::Space& home, Gecode::Advisor& a, bool assigned); /// Notify that variable implementation has been modified with modification event \a me and delta information \a d Gecode::ModEvent notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d); + /// \brief Schedule propagator \a p + static void schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me); + /** \brief Re-schedule propagator \a p + * + * In case the variable is assigned (that is, \a assigned is + * true), the propagator is scheduled for execution. + * Otherwise, the propagator is scheduled for execution + * with modification event \a me provided that \a pc is different + * from \a PC_SET_VAL. + */ + void reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned); //@} }; }} #endif #ifdef GECODE_HAS_FLOAT_VARS -namespace Gecode { namespace Float { +namespace Gecode { namespace Float { /// Base-class for Float-variable implementations class FloatVarImpBase : public Gecode::VarImp { protected: @@ -177,12 +210,23 @@ namespace Gecode { namespace Float { void subscribe(Gecode::Space& home, Gecode::Advisor& a, bool assigned); /// Notify that variable implementation has been modified with modification event \a me and delta information \a d Gecode::ModEvent notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d); + /// \brief Schedule propagator \a p + static void schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me); + /** \brief Re-schedule propagator \a p + * + * In case the variable is assigned (that is, \a assigned is + * true), the propagator is scheduled for execution. + * Otherwise, the propagator is scheduled for execution + * with modification event \a me provided that \a pc is different + * from \a PC_FLOAT_VAL. + */ + void reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned); //@} }; }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { forceinline IntVarImpBase::IntVarImpBase(void) {} @@ -204,25 +248,34 @@ namespace Gecode { namespace Int { Gecode::VarImp::subscribe(home,a,assigned); } + forceinline void + IntVarImpBase::schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me) { + Gecode::VarImp::schedule(home,p,me); + } + forceinline void + IntVarImpBase::reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned) { + Gecode::VarImp::reschedule(home,p,pc,assigned,ME_INT_BND); + } + forceinline Gecode::ModEvent IntVarImpBase::notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d) { switch (me) { case ME_INT_VAL: // Conditions: VAL, BND, DOM - schedule(home,PC_INT_VAL,PC_INT_DOM,ME_INT_VAL); + Gecode::VarImp::schedule(home,PC_INT_VAL,PC_INT_DOM,ME_INT_VAL); if (!Gecode::VarImp::advise(home,ME_INT_VAL,d)) return ME_INT_FAILED; cancel(home); break; case ME_INT_BND: // Conditions: BND, DOM - schedule(home,PC_INT_BND,PC_INT_DOM,ME_INT_BND); + Gecode::VarImp::schedule(home,PC_INT_BND,PC_INT_DOM,ME_INT_BND); if (!Gecode::VarImp::advise(home,ME_INT_BND,d)) return ME_INT_FAILED; break; case ME_INT_DOM: // Conditions: DOM - schedule(home,PC_INT_DOM,PC_INT_DOM,ME_INT_DOM); + Gecode::VarImp::schedule(home,PC_INT_DOM,PC_INT_DOM,ME_INT_DOM); if (!Gecode::VarImp::advise(home,ME_INT_DOM,d)) return ME_INT_FAILED; break; @@ -234,7 +287,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { forceinline BoolVarImpBase::BoolVarImpBase(void) {} @@ -256,9 +309,18 @@ namespace Gecode { namespace Int { Gecode::VarImp::subscribe(home,a,assigned); } + forceinline void + BoolVarImpBase::schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me) { + Gecode::VarImp::schedule(home,p,me); + } + forceinline void + BoolVarImpBase::reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned) { + Gecode::VarImp::reschedule(home,p,pc,assigned,ME_BOOL_VAL); + } + forceinline Gecode::ModEvent BoolVarImpBase::notify(Gecode::Space& home, Gecode::ModEvent, Gecode::Delta& d) { - schedule(home,PC_BOOL_VAL,PC_BOOL_VAL,ME_BOOL_VAL); + Gecode::VarImp::schedule(home,PC_BOOL_VAL,PC_BOOL_VAL,ME_BOOL_VAL); if (!Gecode::VarImp::advise(home,ME_BOOL_VAL,d)) return ME_BOOL_FAILED; cancel(home); @@ -268,7 +330,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_SET_VARS -namespace Gecode { namespace Set { +namespace Gecode { namespace Set { forceinline SetVarImpBase::SetVarImpBase(void) {} @@ -290,56 +352,65 @@ namespace Gecode { namespace Set { Gecode::VarImp::subscribe(home,a,assigned); } + forceinline void + SetVarImpBase::schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me) { + Gecode::VarImp::schedule(home,p,me); + } + forceinline void + SetVarImpBase::reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned) { + Gecode::VarImp::reschedule(home,p,pc,assigned,ME_SET_CBB); + } + forceinline Gecode::ModEvent SetVarImpBase::notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d) { switch (me) { case ME_SET_VAL: // Conditions: VAL, CARD, CLUB, CGLB, ANY - schedule(home,PC_SET_VAL,PC_SET_ANY,ME_SET_VAL); + Gecode::VarImp::schedule(home,PC_SET_VAL,PC_SET_ANY,ME_SET_VAL); if (!Gecode::VarImp::advise(home,ME_SET_VAL,d)) return ME_SET_FAILED; cancel(home); break; case ME_SET_CARD: // Conditions: CARD, CLUB, CGLB, ANY - schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CARD); + Gecode::VarImp::schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CARD); if (!Gecode::VarImp::advise(home,ME_SET_CARD,d)) return ME_SET_FAILED; break; case ME_SET_LUB: // Conditions: CLUB, ANY - schedule(home,PC_SET_CLUB,PC_SET_CLUB,ME_SET_LUB); - schedule(home,PC_SET_ANY,PC_SET_ANY,ME_SET_LUB); + Gecode::VarImp::schedule(home,PC_SET_CLUB,PC_SET_CLUB,ME_SET_LUB); + Gecode::VarImp::schedule(home,PC_SET_ANY,PC_SET_ANY,ME_SET_LUB); if (!Gecode::VarImp::advise(home,ME_SET_LUB,d)) return ME_SET_FAILED; break; case ME_SET_GLB: // Conditions: CGLB, ANY - schedule(home,PC_SET_CGLB,PC_SET_ANY,ME_SET_GLB); + Gecode::VarImp::schedule(home,PC_SET_CGLB,PC_SET_ANY,ME_SET_GLB); if (!Gecode::VarImp::advise(home,ME_SET_GLB,d)) return ME_SET_FAILED; break; case ME_SET_BB: // Conditions: CLUB, CGLB, ANY - schedule(home,PC_SET_CLUB,PC_SET_ANY,ME_SET_BB); + Gecode::VarImp::schedule(home,PC_SET_CLUB,PC_SET_ANY,ME_SET_BB); if (!Gecode::VarImp::advise(home,ME_SET_BB,d)) return ME_SET_FAILED; break; case ME_SET_CLUB: // Conditions: CARD, CLUB, CGLB, ANY - schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CLUB); + Gecode::VarImp::schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CLUB); if (!Gecode::VarImp::advise(home,ME_SET_CLUB,d)) return ME_SET_FAILED; break; case ME_SET_CGLB: // Conditions: CARD, CLUB, CGLB, ANY - schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CGLB); + Gecode::VarImp::schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CGLB); if (!Gecode::VarImp::advise(home,ME_SET_CGLB,d)) return ME_SET_FAILED; break; case ME_SET_CBB: // Conditions: CARD, CLUB, CGLB, ANY - schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CBB); + Gecode::VarImp::schedule(home,PC_SET_CARD,PC_SET_ANY,ME_SET_CBB); if (!Gecode::VarImp::advise(home,ME_SET_CBB,d)) return ME_SET_FAILED; break; @@ -351,7 +422,7 @@ namespace Gecode { namespace Set { }} #endif #ifdef GECODE_HAS_FLOAT_VARS -namespace Gecode { namespace Float { +namespace Gecode { namespace Float { forceinline FloatVarImpBase::FloatVarImpBase(void) {} @@ -373,19 +444,28 @@ namespace Gecode { namespace Float { Gecode::VarImp::subscribe(home,a,assigned); } + forceinline void + FloatVarImpBase::schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me) { + Gecode::VarImp::schedule(home,p,me); + } + forceinline void + FloatVarImpBase::reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned) { + Gecode::VarImp::reschedule(home,p,pc,assigned,ME_FLOAT_BND); + } + forceinline Gecode::ModEvent FloatVarImpBase::notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d) { switch (me) { case ME_FLOAT_VAL: // Conditions: VAL, BND - schedule(home,PC_FLOAT_VAL,PC_FLOAT_BND,ME_FLOAT_VAL); + Gecode::VarImp::schedule(home,PC_FLOAT_VAL,PC_FLOAT_BND,ME_FLOAT_VAL); if (!Gecode::VarImp::advise(home,ME_FLOAT_VAL,d)) return ME_FLOAT_FAILED; cancel(home); break; case ME_FLOAT_BND: // Conditions: BND - schedule(home,PC_FLOAT_BND,PC_FLOAT_BND,ME_FLOAT_BND); + Gecode::VarImp::schedule(home,PC_FLOAT_BND,PC_FLOAT_BND,ME_FLOAT_BND); if (!Gecode::VarImp::advise(home,ME_FLOAT_BND,d)) return ME_FLOAT_FAILED; break; diff --git a/gecode/kernel/var-type.hpp b/gecode/kernel/var-type.hpp index 2691957f1a..4f9f126a07 100644 --- a/gecode/kernel/var-type.hpp +++ b/gecode/kernel/var-type.hpp @@ -42,7 +42,7 @@ */ #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /** * \defgroup TaskActorIntMEPC Integer modification events and propagation conditions * \ingroup TaskActorInt @@ -54,7 +54,7 @@ namespace Gecode { namespace Int { const Gecode::ModEvent ME_INT_NONE = Gecode::ME_GEN_NONE; /// Domain operation has resulted in a value (assigned variable) const Gecode::ModEvent ME_INT_VAL = Gecode::ME_GEN_ASSIGNED; - /** + /** * \brief Domain operation has changed the minimum or maximum of the domain * * Note that this implies that the domain has not resulted in a value. @@ -63,7 +63,7 @@ namespace Gecode { namespace Int { * assuming a ME_INT_BND modification event. */ const Gecode::ModEvent ME_INT_BND = Gecode::ME_GEN_ASSIGNED + 1; - /** + /** * \brief Domain operation has changed the domain * * Note that this implies that the domain has not resulted in a value @@ -102,7 +102,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /** * \defgroup TaskActorIntMEPC Integer modification events and propagation conditions * \ingroup TaskActorInt @@ -128,7 +128,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_SET_VARS -namespace Gecode { namespace Set { +namespace Gecode { namespace Set { /** * \defgroup TaskActorSetMEPC Set modification events and propagation conditions * \ingroup TaskActorSet @@ -250,7 +250,7 @@ namespace Gecode { namespace Set { }} #endif #ifdef GECODE_HAS_FLOAT_VARS -namespace Gecode { namespace Float { +namespace Gecode { namespace Float { /** * \defgroup TaskActorFloatMEPC Float modification events and propagation conditions * \ingroup TaskActorFloat @@ -262,7 +262,7 @@ namespace Gecode { namespace Float { const Gecode::ModEvent ME_FLOAT_NONE = Gecode::ME_GEN_NONE; /// Domain operation has resulted in a value (assigned variable) const Gecode::ModEvent ME_FLOAT_VAL = Gecode::ME_GEN_ASSIGNED; - /** + /** * \brief Domain operation has changed the minimum or maximum of the domain * * Note that this implies that the domain has not resulted in a value. @@ -294,7 +294,7 @@ namespace Gecode { namespace Float { }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /// Configuration for Int-variable implementations class IntVarImpConf { public: @@ -319,7 +319,7 @@ namespace Gecode { namespace Int { }; }} #else -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /// Dummy configuration for Int-variable implementations class IntVarImpConf { public: @@ -333,7 +333,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /// Configuration for Bool-variable implementations class BoolVarImpConf { public: @@ -358,7 +358,7 @@ namespace Gecode { namespace Int { }; }} #else -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { /// Dummy configuration for Bool-variable implementations class BoolVarImpConf { public: @@ -372,7 +372,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_SET_VARS -namespace Gecode { namespace Set { +namespace Gecode { namespace Set { /// Configuration for Set-variable implementations class SetVarImpConf { public: @@ -397,7 +397,7 @@ namespace Gecode { namespace Set { }; }} #else -namespace Gecode { namespace Set { +namespace Gecode { namespace Set { /// Dummy configuration for Set-variable implementations class SetVarImpConf { public: @@ -411,7 +411,7 @@ namespace Gecode { namespace Set { }} #endif #ifdef GECODE_HAS_FLOAT_VARS -namespace Gecode { namespace Float { +namespace Gecode { namespace Float { /// Configuration for Float-variable implementations class FloatVarImpConf { public: @@ -436,7 +436,7 @@ namespace Gecode { namespace Float { }; }} #else -namespace Gecode { namespace Float { +namespace Gecode { namespace Float { /// Dummy configuration for Float-variable implementations class FloatVarImpConf { public: @@ -466,7 +466,7 @@ namespace Gecode { } #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { forceinline Gecode::ModEvent IntVarImpConf::me_combine(Gecode::ModEvent me1, Gecode::ModEvent me2) { static const Gecode::ModEvent me_c = ( @@ -542,7 +542,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_INT_VARS -namespace Gecode { namespace Int { +namespace Gecode { namespace Int { forceinline Gecode::ModEvent BoolVarImpConf::me_combine(Gecode::ModEvent me1, Gecode::ModEvent me2) { return me1 | me2; @@ -565,7 +565,7 @@ namespace Gecode { namespace Int { }} #endif #ifdef GECODE_HAS_SET_VARS -namespace Gecode { namespace Set { +namespace Gecode { namespace Set { forceinline Gecode::ModEvent SetVarImpConf::me_combine(Gecode::ModEvent me1, Gecode::ModEvent me2) { static const Gecode::ModEvent me_c[ME_SET_CBB+1][ME_SET_CBB+1] = { @@ -833,7 +833,7 @@ namespace Gecode { namespace Set { }} #endif #ifdef GECODE_HAS_FLOAT_VARS -namespace Gecode { namespace Float { +namespace Gecode { namespace Float { forceinline Gecode::ModEvent FloatVarImpConf::me_combine(Gecode::ModEvent me1, Gecode::ModEvent me2) { static const Gecode::ModEvent me_c = ( diff --git a/gecode/kernel/view.hpp b/gecode/kernel/view.hpp index 58bd4f272d..da93ad87a5 100755 --- a/gecode/kernel/view.hpp +++ b/gecode/kernel/view.hpp @@ -88,6 +88,8 @@ namespace Gecode { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc to view void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to view void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a @@ -127,6 +129,8 @@ namespace Gecode { VarImpView(void); /// Initialize with variable implementation \a y VarImpView(VarImpType* y); + /// Set variable implementation to \a y + void varimp(VarImpType* y); public: /// \name Generic view information //@{ @@ -168,6 +172,8 @@ namespace Gecode { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc to view void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to view void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a @@ -216,9 +222,9 @@ namespace Gecode { View x; /// Default constructor DerivedView(void); + public: /// Initialize with view \a y DerivedView(const View& y); - public: /// \name Generic view information //@{ /// Return whether this view is derived from a VarImpView @@ -261,6 +267,8 @@ namespace Gecode { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc to view void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to view void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a @@ -368,7 +376,7 @@ namespace Gecode { } template forceinline void - ConstView::subscribe(Space& home, Propagator& p, PropCond, + ConstView::subscribe(Space& home, Propagator& p, PropCond, bool schedule) { if (schedule) View::schedule(home,p,ME_GEN_ASSIGNED); @@ -379,6 +387,11 @@ namespace Gecode { } template forceinline void + ConstView::reschedule(Space& home, Propagator& p, PropCond) { + View::schedule(home,p,ME_GEN_ASSIGNED); + } + template + forceinline void ConstView::subscribe(Space&, Advisor&) { } template @@ -424,6 +437,11 @@ namespace Gecode { VarImpView::VarImpView(VarImpType* y) : x(y) {} template + forceinline void + VarImpView::varimp(VarImpType* y) { + x=y; + } + template forceinline bool VarImpView::varderived(void) { return true; @@ -433,7 +451,7 @@ namespace Gecode { VarImpView::varimp(void) const { return x; } - template + template forceinline unsigned int VarImpView::degree(void) const { return x->degree(); @@ -461,6 +479,11 @@ namespace Gecode { } template forceinline void + VarImpView::reschedule(Space& home, Propagator& p, PropCond pc) { + x->reschedule(home,p,pc); + } + template + forceinline void VarImpView::subscribe(Space& home, Advisor& a) { x->subscribe(home,a); } @@ -572,6 +595,11 @@ namespace Gecode { } template forceinline void + DerivedView::reschedule(Space& home, Propagator& p, PropCond pc) { + x.reschedule(home,p,pc); + } + template + forceinline void DerivedView::subscribe(Space& home, Advisor& a) { x.subscribe(home,a); } @@ -599,31 +627,31 @@ namespace Gecode { /// Test whether two views are the same template - forceinline bool + forceinline bool same(const ConstView&, const ConstView&) { return false; } /// Test whether two views are the same template - forceinline bool + forceinline bool same(const VarImpView&, const ConstView&) { return false; } /// Test whether two views are the same template - forceinline bool + forceinline bool same(const ConstView&, const DerivedView&) { return false; } /// Test whether two views are the same template - forceinline bool + forceinline bool same(const VarImpView&, const DerivedView&) { return false; } /// Test whether two views are the same template - forceinline bool + forceinline bool same(const DerivedView&, const VarImpView&) { return false; } @@ -635,7 +663,7 @@ namespace Gecode { } /// Test whether two views are the same template - forceinline bool + forceinline bool same(const DerivedView& x, const DerivedView& y) { return same(x.base(),y.base()); } diff --git a/gecode/kernel/wait.hh b/gecode/kernel/wait.hh index 1564281551..061ee31b5d 100644 --- a/gecode/kernel/wait.hh +++ b/gecode/kernel/wait.hh @@ -64,10 +64,12 @@ namespace Gecode { namespace Kernel { virtual Actor* copy(Space& home, bool share); /// Const function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator that waits until \a x becomes assigned and then executes \a c - static ExecStatus post(Space& home, View x, void (*c)(Space&)); + static ExecStatus post(Home home, View x, void (*c)(Space&)); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -94,10 +96,12 @@ namespace Gecode { namespace Kernel { virtual Actor* copy(Space& home, bool share); /// Const function (defined as high unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator that waits until \a x becomes assigned and then executes \a c - static ExecStatus post(Space& home, ViewArray& x, void (*c)(Space&)); + static ExecStatus post(Home home, ViewArray& x, void (*c)(Space&)); /// Delete propagator and return its size virtual size_t dispose(Space& home); }; @@ -115,30 +119,35 @@ namespace Gecode { namespace Kernel { } template forceinline - UnaryWait::UnaryWait(Space& home, bool shared, UnaryWait& p) + UnaryWait::UnaryWait(Space& home, bool shared, UnaryWait& p) : Propagator(home,shared,p), c(p.c) { x.update(home,shared,p.x); } template - Actor* + Actor* UnaryWait::copy(Space& home, bool share) { return new (home) UnaryWait(home,share,*this); } template - PropCost + PropCost UnaryWait::cost(const Space&, const ModEventDelta&) const { return PropCost::unary(PropCost::LO); } template - ExecStatus + void + UnaryWait::reschedule(Space& home) { + x.reschedule(home,*this,PC_GEN_ASSIGNED); + } + template + ExecStatus UnaryWait::propagate(Space& home, const ModEventDelta&) { assert(x.assigned()); c(home); return home.failed() ? ES_FAILED : home.ES_SUBSUMED(*this); } template - ExecStatus - UnaryWait::post(Space& home, View x, void (*c)(Space&)) { + ExecStatus + UnaryWait::post(Home home, View x, void (*c)(Space&)) { if (x.assigned()) { c(home); return home.failed() ? ES_FAILED : ES_OK; @@ -148,7 +157,7 @@ namespace Gecode { namespace Kernel { } } template - size_t + size_t UnaryWait::dispose(Space& home) { x.cancel(home,*this,PC_GEN_ASSIGNED); (void) Propagator::dispose(home); @@ -162,7 +171,7 @@ namespace Gecode { namespace Kernel { */ template forceinline - NaryWait::NaryWait(Home home, ViewArray& x0, + NaryWait::NaryWait(Home home, ViewArray& x0, void (*c0)(Space&)) : Propagator(home), x(x0), c(c0) { assert(!x[0].assigned()); @@ -170,12 +179,12 @@ namespace Gecode { namespace Kernel { } template forceinline - NaryWait::NaryWait(Space& home, bool shared, NaryWait& p) + NaryWait::NaryWait(Space& home, bool shared, NaryWait& p) : Propagator(home,shared,p), c(p.c) { x.update(home,shared,p.x); } template - Actor* + Actor* NaryWait::copy(Space& home, bool share) { assert(!x[0].assigned()); for (int i=x.size()-1; i>0; i--) @@ -185,12 +194,17 @@ namespace Gecode { namespace Kernel { return new (home) NaryWait(home,share,*this); } template - PropCost + PropCost NaryWait::cost(const Space&, const ModEventDelta&) const { return PropCost::unary(PropCost::HI); } template - ExecStatus + void + NaryWait::reschedule(Space& home) { + x[0].reschedule(home,*this,PC_GEN_ASSIGNED); + } + template + ExecStatus NaryWait::propagate(Space& home, const ModEventDelta& ) { assert(x[0].assigned()); for (int i=x.size()-1; i>0; i--) @@ -210,8 +224,8 @@ namespace Gecode { namespace Kernel { } } template - ExecStatus - NaryWait::post(Space& home, ViewArray& x, void (*c)(Space&)) { + ExecStatus + NaryWait::post(Home home, ViewArray& x, void (*c)(Space&)) { for (int i=x.size(); i--; ) if (x[i].assigned()) x.move_lst(i); @@ -229,9 +243,9 @@ namespace Gecode { namespace Kernel { } } template - size_t + size_t NaryWait::dispose(Space& home) { - if (x.size() > 0) + if (x.size() > 0) x[0].cancel(home,*this,PC_GEN_ASSIGNED); (void) Propagator::dispose(home); return sizeof(*this); diff --git a/gecode/minimodel.hh b/gecode/minimodel.hh index 55db1394ff..2c8bfceae9 100755 --- a/gecode/minimodel.hh +++ b/gecode/minimodel.hh @@ -53,8 +53,6 @@ #include #endif -#include - #include /* @@ -95,6 +93,12 @@ namespace Gecode { /// Minimalistic modeling support namespace MiniModel {} +} + +#include + +namespace Gecode { + class LinIntRel; #ifdef GECODE_HAS_SET_VARS class SetExpr; @@ -107,13 +111,13 @@ namespace Gecode { class NonLinIntExpr { public: /// Return variable constrained to be equal to the expression - virtual IntVar post(Home home, IntVar* ret, IntConLevel icl) const = 0; + virtual IntVar post(Home home, IntVar* ret, IntPropLevel ipl) const = 0; /// Post expression to be in relation \a irt with \a c virtual void post(Home home, IntRelType irt, int c, - IntConLevel icl) const = 0; + IntPropLevel ipl) const = 0; /// Post reified expression to be in relation \a irt with \a c virtual void post(Home home, IntRelType irt, int c, - BoolVar b, IntConLevel icl) const = 0; + BoolVar b, IntPropLevel ipl) const = 0; /// Destructor virtual ~NonLinIntExpr(void) {} /// Return fresh variable if \a x is NULL, \a x otherwise @@ -159,6 +163,7 @@ namespace Gecode { private: /// Nodes for linear expressions class Node; + /// The actual node Node* n; public: /// Default constructor @@ -205,14 +210,14 @@ namespace Gecode { const LinIntExpr& operator =(const LinIntExpr& e); /// Post propagator GECODE_MINIMODEL_EXPORT - void post(Home home, IntRelType irt, IntConLevel icl) const; + void post(Home home, IntRelType irt, IntPropLevel ipl) const; /// Post reified propagator GECODE_MINIMODEL_EXPORT void post(Home home, IntRelType irt, const BoolVar& b, - IntConLevel icl) const; + IntPropLevel ipl) const; /// Post propagator and return variable for value GECODE_MINIMODEL_EXPORT - IntVar post(Home home, IntConLevel icl) const; + IntVar post(Home home, IntPropLevel ipl) const; /// Return non-linear expression inside, or NULL if not non-linear GECODE_MINIMODEL_EXPORT NonLinIntExpr* nle(void) const; @@ -243,9 +248,9 @@ namespace Gecode { /// Create linear relation for integer \a l and expression \a r LinIntRel(int l, IntRelType irt, const LinIntExpr& r); /// Post propagator for relation (if \a t is false for negated relation) - void post(Home home, bool t, IntConLevel icl) const; + void post(Home home, bool t, IntPropLevel ipl) const; /// Post reified propagator for relation (if \a t is false for negated relation) - void post(Home home, const BoolVar& b, bool t, IntConLevel icl) const; + void post(Home home, const BoolVar& b, bool t, IntPropLevel ipl) const; }; /** @@ -917,18 +922,12 @@ namespace Gecode { operator ==(const FloatVar& l, const FloatVar& r); /// Construct linear float equality relation GECODE_MINIMODEL_EXPORT LinFloatRel - operator ==(const FloatVar& l, const BoolVar& r); - /// Construct linear float equality relation - GECODE_MINIMODEL_EXPORT LinFloatRel operator ==(const FloatVar& l, const LinFloatExpr& r); /// Construct linear float equality relation GECODE_MINIMODEL_EXPORT LinFloatRel operator ==(const LinFloatExpr& l, const FloatVar& r); /// Construct linear float equality relation GECODE_MINIMODEL_EXPORT LinFloatRel - operator ==(const LinFloatExpr& l, const BoolVar& r); - /// Construct linear float equality relation - GECODE_MINIMODEL_EXPORT LinFloatRel operator ==(const LinFloatExpr& l, const LinFloatExpr& r); /// Construct linear float disequality relation @@ -948,18 +947,12 @@ namespace Gecode { operator !=(const FloatVar& l, const FloatVar& r); /// Construct linear float disequality relation GECODE_MINIMODEL_EXPORT LinFloatRel - operator !=(const FloatVar& l, const BoolVar& r); - /// Construct linear float disequality relation - GECODE_MINIMODEL_EXPORT LinFloatRel operator !=(const FloatVar& l, const LinFloatExpr& r); /// Construct linear float disequality relation GECODE_MINIMODEL_EXPORT LinFloatRel operator !=(const LinFloatExpr& l, const FloatVar& r); /// Construct linear float disequality relation GECODE_MINIMODEL_EXPORT LinFloatRel - operator !=(const LinFloatExpr& l, const BoolVar& r); - /// Construct linear float disequality relation - GECODE_MINIMODEL_EXPORT LinFloatRel operator !=(const LinFloatExpr& l, const LinFloatExpr& r); /// Construct linear float inequality relation @@ -1246,19 +1239,18 @@ namespace Gecode { NT_MISC ///< Other Boolean expression }; /// Miscealloneous Boolean expressions - class MiscExpr { + class GECODE_VTABLE_EXPORT Misc : public HeapAllocated { public: + /// Default constructor + Misc(void); /** Constrain \a b to be equivalent to the expression - * (negated if \a neg) + * (negated if \a neg) with propagation level + * \a ipl. */ - virtual void post(Space& home, BoolVar b, bool neg, - IntConLevel icl) = 0; + virtual void post(Home home, BoolVar b, bool neg, + IntPropLevel ipl) = 0; /// Destructor - virtual GECODE_MINIMODEL_EXPORT ~MiscExpr(void); - /// Memory management - static void* operator new(size_t size); - /// Memory management - static void operator delete(void* p, size_t size); + virtual GECODE_MINIMODEL_EXPORT ~Misc(void); }; /// %Node for Boolean expression class Node; @@ -1299,13 +1291,13 @@ namespace Gecode { #endif /// Construct expression for miscellaneous Boolean expression GECODE_MINIMODEL_EXPORT - explicit BoolExpr(MiscExpr* m); + explicit BoolExpr(Misc* m); /// Post propagators for expression GECODE_MINIMODEL_EXPORT - BoolVar expr(Home home, IntConLevel icl) const; + BoolVar expr(Home home, IntPropLevel ipl) const; /// Post propagators for relation GECODE_MINIMODEL_EXPORT - void rel(Home home, IntConLevel icl) const; + void rel(Home home, IntPropLevel ipl) const; /// Assignment operator GECODE_MINIMODEL_EXPORT const BoolExpr& operator =(const BoolExpr& e); @@ -1359,8 +1351,8 @@ namespace Gecode { */ //@{ /// Post linear expression and return its value - GECODE_MINIMODEL_EXPORT IntVar - expr(Home home, const LinIntExpr& e, IntConLevel icl=ICL_DEF); + GECODE_MINIMODEL_EXPORT IntVar + expr(Home home, const LinIntExpr& e, IntPropLevel ipl=IPL_DEF); #ifdef GECODE_HAS_FLOAT_VARS /// Post float expression and return its value GECODE_MINIMODEL_EXPORT FloatVar @@ -1373,10 +1365,10 @@ namespace Gecode { #endif /// Post Boolean expression and return its value GECODE_MINIMODEL_EXPORT BoolVar - expr(Home home, const BoolExpr& e, IntConLevel icl=ICL_DEF); + expr(Home home, const BoolExpr& e, IntPropLevel ipl=IPL_DEF); /// Post Boolean relation - GECODE_MINIMODEL_EXPORT void - rel(Home home, const BoolExpr& e, IntConLevel icl=ICL_DEF); + GECODE_MINIMODEL_EXPORT void + rel(Home home, const BoolExpr& e, IntPropLevel ipl=IPL_DEF); //@} } @@ -1407,6 +1399,8 @@ namespace Gecode { Exp* e; /// Initialize with given expression tree \a REG(Exp* e); + /// Return string representatinon of expression tree + std::string toString(void) const; public: /// Initialize as empty sequence (epsilon) REG(void); @@ -1458,6 +1452,11 @@ namespace Gecode { std::basic_ostream& operator <<(std::basic_ostream& os, const REG& r); +} + +#include + +namespace Gecode { /** * \defgroup TaskModelMiniModelArith Arithmetic functions @@ -1614,20 +1613,20 @@ namespace Gecode { /// Return Boolean variable equal to \f$x\f$ inline BoolVar channel(Home home, IntVar x, - IntConLevel icl=ICL_DEF) { - (void) icl; + IntPropLevel ipl=IPL_DEF) { + (void) ipl; BoolVar b(home,0,1); channel(home,b,x); return b; } /// Return integer variable equal to \f$b\f$ inline IntVar channel(Home home, BoolVar b, - IntConLevel icl=ICL_DEF) { - (void) icl; + IntPropLevel ipl=IPL_DEF) { + (void) ipl; IntVar x(home,0,1); channel(home,b,x); return x; } -#ifdef GECODE_HAS_FLOAT_VARS +#ifdef GECODE_HAS_FLOAT_VARS /// Return integer variable equal to \f$f\f$ inline IntVar channel(Home home, FloatVar f) { @@ -1640,11 +1639,11 @@ namespace Gecode { return x; } #endif -#ifdef GECODE_HAS_SET_VARS +#ifdef GECODE_HAS_SET_VARS /// Return set variable equal to \f$\{x_0,\dots,x_{n-1}\}\f$ inline SetVar - channel(Home home, const IntVarArgs& x, IntConLevel icl=ICL_DEF) { - (void) icl; + channel(Home home, const IntVarArgs& x, IntPropLevel ipl=IPL_DEF) { + (void) ipl; SetVar s(home,IntSet::empty,Set::Limits::min,Set::Limits::max); rel(home,SOT_UNION,x,s); nvalues(home,x,IRT_EQ,expr(home,cardinality(s))); @@ -1673,8 +1672,8 @@ namespace Gecode { */ inline void atmost(Home home, const IntVarArgs& x, int n, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,n,IRT_LQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,n,IRT_LQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq m\f$ * @@ -1682,8 +1681,8 @@ namespace Gecode { */ inline void atmost(Home home, const IntVarArgs& x, IntVar y, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_LQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_LQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq m\f$ * @@ -1694,8 +1693,8 @@ namespace Gecode { */ inline void atmost(Home home, const IntVarArgs& x, const IntArgs& y, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_LQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_LQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\leq z\f$ * @@ -1703,8 +1702,8 @@ namespace Gecode { */ inline void atmost(Home home, const IntVarArgs& x, int n, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,n,IRT_LQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,n,IRT_LQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\leq z\f$ * @@ -1712,8 +1711,8 @@ namespace Gecode { */ inline void atmost(Home home, const IntVarArgs& x, IntVar y, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_LQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_LQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\leq z\f$ * @@ -1724,8 +1723,8 @@ namespace Gecode { */ inline void atmost(Home home, const IntVarArgs& x, const IntArgs& y, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_LQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_LQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq m\f$ @@ -1734,8 +1733,8 @@ namespace Gecode { */ inline void atleast(Home home, const IntVarArgs& x, int n, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,n,IRT_GQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,n,IRT_GQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq m\f$ * @@ -1743,8 +1742,8 @@ namespace Gecode { */ inline void atleast(Home home, const IntVarArgs& x, IntVar y, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_GQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_GQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq m\f$ * @@ -1755,8 +1754,8 @@ namespace Gecode { */ inline void atleast(Home home, const IntVarArgs& x, const IntArgs& y, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_GQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_GQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}\geq z\f$ * @@ -1764,8 +1763,8 @@ namespace Gecode { */ inline void atleast(Home home, const IntVarArgs& x, int n, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,n,IRT_GQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,n,IRT_GQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\geq z\f$ * @@ -1773,8 +1772,8 @@ namespace Gecode { */ inline void atleast(Home home, const IntVarArgs& x, IntVar y, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_GQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_GQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}\geq z\f$ * @@ -1785,8 +1784,8 @@ namespace Gecode { */ inline void atleast(Home home, const IntVarArgs& x, const IntArgs& y, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_GQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_GQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=m\f$ @@ -1795,8 +1794,8 @@ namespace Gecode { */ inline void exactly(Home home, const IntVarArgs& x, int n, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,n,IRT_EQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,n,IRT_EQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=m\f$ * @@ -1804,8 +1803,8 @@ namespace Gecode { */ inline void exactly(Home home, const IntVarArgs& x, IntVar y, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_EQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_EQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=m\f$ * @@ -1816,8 +1815,8 @@ namespace Gecode { */ inline void exactly(Home home, const IntVarArgs& x, const IntArgs& y, int m, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_EQ,m,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_EQ,m,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=n\}=z\f$ * @@ -1825,8 +1824,8 @@ namespace Gecode { */ inline void exactly(Home home, const IntVarArgs& x, int n, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,n,IRT_EQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,n,IRT_EQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z\f$ * @@ -1834,8 +1833,8 @@ namespace Gecode { */ inline void exactly(Home home, const IntVarArgs& x, IntVar y, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_EQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_EQ,z,ipl); } /** \brief Post constraint \f$\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y_i\}=z\f$ * @@ -1846,30 +1845,30 @@ namespace Gecode { */ inline void exactly(Home home, const IntVarArgs& x, const IntArgs& y, IntVar z, - IntConLevel icl=ICL_DEF) { - count(home,x,y,IRT_EQ,z,icl); + IntPropLevel ipl=IPL_DEF) { + count(home,x,y,IRT_EQ,z,ipl); } /** \brief Post lexical order between \a x and \a y. */ inline void lex(Home home, const IntVarArgs& x, IntRelType r, const IntVarArgs& y, - IntConLevel icl=ICL_DEF) { - rel(home,x,r,y,icl); + IntPropLevel ipl=IPL_DEF) { + rel(home,x,r,y,ipl); } /** \brief Post lexical order between \a x and \a y. */ inline void lex(Home home, const BoolVarArgs& x, IntRelType r, const BoolVarArgs& y, - IntConLevel icl=ICL_DEF) { - rel(home,x,r,y,icl); + IntPropLevel ipl=IPL_DEF) { + rel(home,x,r,y,ipl); } /** \brief Post constraint \f$\{x_0,\dots,x_{n-1}\}=y\f$ */ inline void values(Home home, const IntVarArgs& x, IntSet y, - IntConLevel icl=ICL_DEF) { - dom(home,x,y,icl); - nvalues(home,x,IRT_EQ,static_cast(y.size()),icl); + IntPropLevel ipl=IPL_DEF) { + dom(home,x,y,ipl); + nvalues(home,x,IRT_EQ,static_cast(y.size()),ipl); } //@} @@ -1886,7 +1885,7 @@ namespace Gecode { //@{ /** \brief Post constraint \f$\{x_0,\dots,x_{n-1}\}=y\f$ - * + * * In addition to constraining \a y to the union of the \a x, this * also posts an nvalue constraint for additional cardinality propagation. */ @@ -1895,7 +1894,7 @@ namespace Gecode { rel(home,SOT_UNION,x,y); nvalues(home,x,IRT_EQ,expr(home,cardinality(y))); } - + /** \brief Post constraint \f$\bigcup_{i\in y}\{x_i\}=z\f$ */ inline void @@ -1914,7 +1913,7 @@ namespace Gecode { channel(home,x,xiv); element(home,SOT_UNION,xiv,z,y); } - + //@} #endif } @@ -1937,10 +1936,10 @@ namespace Gecode { typedef typename ArrayTraits::ArgsType ArgsType; private: ArgsType _r; ///< The elements of the slice - unsigned int _fc, ///< From column - _tc, ///< To column - _fr, ///< From row - _tr; ///< To row + int _fc, ///< From column + _tc, ///< To column + _fr, ///< From row + _tr; ///< To row public: /// Construct slice Slice(const Matrix& a, int fc, int tc, int fr, int tr); @@ -1958,7 +1957,7 @@ namespace Gecode { /// Cast to matrix type operator const Matrix(void) const; }; - + /// Concatenate \a x and \a y template typename Slice::ArgsType @@ -2097,32 +2096,32 @@ namespace Gecode { * at position \a m(x,y). * \relates Gecode::Matrix */ - void element(Home home, const Matrix& m, IntVar x, IntVar y, - IntVar z, IntConLevel icl=ICL_DEF); + void element(Home home, const Matrix& m, IntVar x, IntVar y, + IntVar z, IntPropLevel ipl=IPL_DEF); /** \brief Element constraint for matrix * * Here, \a x and \a y are the coordinates and \a z is the value * at position \a m(x,y). * \relates Gecode::Matrix */ - void element(Home home, const Matrix& m, IntVar x, IntVar y, - BoolVar z, IntConLevel icl=ICL_DEF); + void element(Home home, const Matrix& m, IntVar x, IntVar y, + BoolVar z, IntPropLevel ipl=IPL_DEF); /** \brief Element constraint for matrix * * Here, \a x and \a y are the coordinates and \a z is the value * at position \a m(x,y). * \relates Gecode::Matrix */ - void element(Home home, const Matrix& m, IntVar x, IntVar y, - IntVar z, IntConLevel icl=ICL_DEF); + void element(Home home, const Matrix& m, IntVar x, IntVar y, + IntVar z, IntPropLevel ipl=IPL_DEF); /** \brief Element constraint for matrix * * Here, \a x and \a y are the coordinates and \a z is the value * at position \a m(x,y). * \relates Gecode::Matrix */ - void element(Home home, const Matrix& m, IntVar x, IntVar y, - BoolVar z, IntConLevel icl=ICL_DEF); + void element(Home home, const Matrix& m, IntVar x, IntVar y, + BoolVar z, IntPropLevel ipl=IPL_DEF); #ifdef GECODE_HAS_SET_VARS /** \brief Element constraint for matrix * @@ -2130,7 +2129,7 @@ namespace Gecode { * at position \a m(x,y). * \relates Gecode::Matrix */ - void element(Home home, const Matrix& m, IntVar x, IntVar y, + void element(Home home, const Matrix& m, IntVar x, IntVar y, SetVar z); /** \brief Element constraint for matrix * @@ -2138,7 +2137,7 @@ namespace Gecode { * at position \a m(x,y). * \relates Gecode::Matrix */ - void element(Home home, const Matrix& m, IntVar x, IntVar y, + void element(Home home, const Matrix& m, IntVar x, IntVar y, SetVar z); #endif @@ -2164,7 +2163,7 @@ namespace Gecode { SymmetryHandle columns_reflect(const Matrix& m); /** \brief Reflect around main diagonal symmetry specification. * - * The matrix \m must be square. + * The matrix \m must be square. * \relates Gecode::Matrix */ template @@ -2177,14 +2176,14 @@ namespace Gecode { /** * \addtogroup TaskModelMiniModelLin * @{ - */ + */ namespace Gecode { /// Construct linear expression as sum of \ref IntArgs \ref Slice elements - GECODE_MINIMODEL_EXPORT LinIntExpr + GECODE_MINIMODEL_EXPORT LinIntExpr sum(const Slice& slice); /// Construct linear expression as sum of \ref IntArgs \ref Matrix elements - GECODE_MINIMODEL_EXPORT LinIntExpr + GECODE_MINIMODEL_EXPORT LinIntExpr sum(const Matrix& matrix); } @@ -2246,14 +2245,14 @@ namespace Gecode { */ typedef IntMaximizeSpace MaximizeSpace; - -#ifdef GECODE_HAS_FLOAT_VARS + +#ifdef GECODE_HAS_FLOAT_VARS /** * \brief Class for minimizing float cost * * The class supports using a step value \a step that will make sure - * that better solutions must be better by at least the value of + * that better solutions must be better by at least the value of * \a step. * * \ingroup TaskModelMiniModelOptimize @@ -2278,7 +2277,7 @@ namespace Gecode { * \brief Class for maximizing float cost * * The class supports using a step value \a step that will make sure - * that better solutions must be better by at least the value of + * that better solutions must be better by at least the value of * \a step. * * \ingroup TaskModelMiniModelOptimize diff --git a/gecode/minimodel/bool-expr.cpp b/gecode/minimodel/bool-expr.cpp index f4f389720b..947d39768d 100755 --- a/gecode/minimodel/bool-expr.cpp +++ b/gecode/minimodel/bool-expr.cpp @@ -67,7 +67,7 @@ namespace Gecode { SetRel rs; #endif /// Possibly a misc Boolean expression - MiscExpr* m; + Misc* m; /// Default constructor Node(void); @@ -87,11 +87,11 @@ namespace Gecode { * Operations for nodes * */ - BoolExpr::Node::Node(void) + BoolExpr::Node::Node(void) : use(1), l(NULL), r(NULL), m(NULL) {} - BoolExpr::Node::~Node(void) { - delete m; + BoolExpr::Node::~Node(void) { + delete m; } void* @@ -197,7 +197,7 @@ namespace Gecode { } #endif - BoolExpr::BoolExpr(BoolExpr::MiscExpr* m) + BoolExpr::BoolExpr(BoolExpr::Misc* m) : n(new Node) { n->same = 1; n->t = NT_MISC; @@ -217,7 +217,7 @@ namespace Gecode { return *this; } - BoolExpr::MiscExpr::~MiscExpr(void) {} + BoolExpr::Misc::~Misc(void) {} BoolExpr::~BoolExpr(void) { if (n->decrement()) @@ -261,13 +261,13 @@ namespace Gecode { void post(Home home, NodeType t, BoolVarArgs& bp, BoolVarArgs& bn, int& ip, int& in, - IntConLevel icl) const; + IntPropLevel ipl) const; /// Post propagators for expression GECODE_MINIMODEL_EXPORT - BoolVar expr(Home home, IntConLevel icl) const; + BoolVar expr(Home home, IntPropLevel ipl) const; /// Post propagators for relation GECODE_MINIMODEL_EXPORT - void rel(Home home, IntConLevel icl) const; + void rel(Home home, IntPropLevel ipl) const; /// Allocate memory from region static void* operator new(size_t s, Region& r); /// No-op (for exceptions) @@ -292,7 +292,7 @@ namespace Gecode { } BoolVar - NNF::expr(Home home, IntConLevel icl) const { + NNF::expr(Home home, IntPropLevel ipl) const { if ((t == BoolExpr::NT_VAR) && !u.a.neg) return u.a.x->x; BoolVar b(home,0,1); @@ -302,7 +302,7 @@ namespace Gecode { Gecode::rel(home, u.a.x->x, IRT_NQ, b); break; case BoolExpr::NT_RLIN: - u.a.x->rl.post(home, b, !u.a.neg, icl); + u.a.x->rl.post(home, b, !u.a.neg, ipl); break; #ifdef GECODE_HAS_FLOAT_VARS case BoolExpr::NT_RLINFLOAT: @@ -315,13 +315,13 @@ namespace Gecode { break; #endif case BoolExpr::NT_MISC: - u.a.x->m->post(home, b, !u.a.neg, icl); + u.a.x->m->post(home, b, u.a.neg, ipl); break; case BoolExpr::NT_AND: { BoolVarArgs bp(p), bn(n); int ip=0, in=0; - post(home, BoolExpr::NT_AND, bp, bn, ip, in, icl); + post(home, BoolExpr::NT_AND, bp, bn, ip, in, ipl); clause(home, BOT_AND, bp, bn, b); } break; @@ -329,7 +329,7 @@ namespace Gecode { { BoolVarArgs bp(p), bn(n); int ip=0, in=0; - post(home, BoolExpr::NT_OR, bp, bn, ip, in, icl); + post(home, BoolExpr::NT_OR, bp, bn, ip, in, ipl); clause(home, BOT_OR, bp, bn, b); } break; @@ -341,16 +341,16 @@ namespace Gecode { l = u.b.l->u.a.x->x; if (u.b.l->u.a.neg) n = !n; } else { - l = u.b.l->expr(home,icl); + l = u.b.l->expr(home,ipl); } BoolVar r; if (u.b.r->t == BoolExpr::NT_VAR) { r = u.b.r->u.a.x->x; if (u.b.r->u.a.neg) n = !n; } else { - r = u.b.r->expr(home,icl); + r = u.b.r->expr(home,ipl); } - Gecode::rel(home, l, n ? BOT_XOR : BOT_EQV, r, b, icl); + Gecode::rel(home, l, n ? BOT_XOR : BOT_EQV, r, b, ipl); } break; default: @@ -361,9 +361,9 @@ namespace Gecode { void NNF::post(Home home, NodeType t, - BoolVarArgs& bp, BoolVarArgs& bn, - int& ip, int& in, - IntConLevel icl) const { + BoolVarArgs& bp, BoolVarArgs& bn, + int& ip, int& in, + IntPropLevel ipl) const { if (this->t != t) { switch (this->t) { case BoolExpr::NT_VAR: @@ -376,7 +376,7 @@ namespace Gecode { case BoolExpr::NT_RLIN: { BoolVar b(home,0,1); - u.a.x->rl.post(home, b, !u.a.neg, icl); + u.a.x->rl.post(home, b, !u.a.neg, ipl); bp[ip++]=b; } break; @@ -401,28 +401,28 @@ namespace Gecode { case BoolExpr::NT_MISC: { BoolVar b(home,0,1); - u.a.x->m->post(home, b, !u.a.neg, icl); + u.a.x->m->post(home, b, u.a.neg, ipl); bp[ip++]=b; } - break; + break; default: - bp[ip++] = expr(home, icl); + bp[ip++] = expr(home, ipl); break; } } else { - u.b.l->post(home, t, bp, bn, ip, in, icl); - u.b.r->post(home, t, bp, bn, ip, in, icl); + u.b.l->post(home, t, bp, bn, ip, in, ipl); + u.b.r->post(home, t, bp, bn, ip, in, ipl); } } void - NNF::rel(Home home, IntConLevel icl) const { + NNF::rel(Home home, IntPropLevel ipl) const { switch (t) { case BoolExpr::NT_VAR: Gecode::rel(home, u.a.x->x, IRT_EQ, u.a.neg ? 0 : 1); break; case BoolExpr::NT_RLIN: - u.a.x->rl.post(home, !u.a.neg, icl); + u.a.x->rl.post(home, !u.a.neg, ipl); break; #ifdef GECODE_HAS_FLOAT_VARS case BoolExpr::NT_RLINFLOAT: @@ -437,18 +437,18 @@ namespace Gecode { case BoolExpr::NT_MISC: { BoolVar b(home,!u.a.neg,!u.a.neg); - u.a.x->m->post(home, b, false, icl); + u.a.x->m->post(home, b, false, ipl); } break; case BoolExpr::NT_AND: - u.b.l->rel(home, icl); - u.b.r->rel(home, icl); + u.b.l->rel(home, ipl); + u.b.r->rel(home, ipl); break; case BoolExpr::NT_OR: { BoolVarArgs bp(p), bn(n); int ip=0, in=0; - post(home, BoolExpr::NT_OR, bp, bn, ip, in, icl); + post(home, BoolExpr::NT_OR, bp, bn, ip, in, ipl); clause(home, BOT_OR, bp, bn, 1); } break; @@ -456,51 +456,51 @@ namespace Gecode { if (u.b.l->t==BoolExpr::NT_VAR && u.b.r->t==BoolExpr::NT_RLIN) { u.b.r->u.a.x->rl.post(home, u.b.l->u.a.x->x, - u.b.l->u.a.neg==u.b.r->u.a.neg, icl); - } else if (u.b.r->t==BoolExpr::NT_VAR && + u.b.l->u.a.neg==u.b.r->u.a.neg, ipl); + } else if (u.b.r->t==BoolExpr::NT_VAR && u.b.l->t==BoolExpr::NT_RLIN) { u.b.l->u.a.x->rl.post(home, u.b.r->u.a.x->x, - u.b.l->u.a.neg==u.b.r->u.a.neg, icl); + u.b.l->u.a.neg==u.b.r->u.a.neg, ipl); } else if (u.b.l->t==BoolExpr::NT_RLIN) { - u.b.l->u.a.x->rl.post(home, u.b.r->expr(home,icl), - !u.b.l->u.a.neg,icl); + u.b.l->u.a.x->rl.post(home, u.b.r->expr(home,ipl), + !u.b.l->u.a.neg,ipl); } else if (u.b.r->t==BoolExpr::NT_RLIN) { - u.b.r->u.a.x->rl.post(home, u.b.l->expr(home,icl), - !u.b.r->u.a.neg,icl); + u.b.r->u.a.x->rl.post(home, u.b.l->expr(home,ipl), + !u.b.r->u.a.neg,ipl); #ifdef GECODE_HAS_FLOAT_VARS - } else if (u.b.l->t==BoolExpr::NT_VAR && + } else if (u.b.l->t==BoolExpr::NT_VAR && u.b.r->t==BoolExpr::NT_RLINFLOAT) { u.b.r->u.a.x->rfl.post(home, u.b.l->u.a.x->x, u.b.l->u.a.neg==u.b.r->u.a.neg); - } else if (u.b.r->t==BoolExpr::NT_VAR && + } else if (u.b.r->t==BoolExpr::NT_VAR && u.b.l->t==BoolExpr::NT_RLINFLOAT) { u.b.l->u.a.x->rfl.post(home, u.b.r->u.a.x->x, u.b.l->u.a.neg==u.b.r->u.a.neg); } else if (u.b.l->t==BoolExpr::NT_RLINFLOAT) { - u.b.l->u.a.x->rfl.post(home, u.b.r->expr(home,icl), + u.b.l->u.a.x->rfl.post(home, u.b.r->expr(home,ipl), !u.b.l->u.a.neg); } else if (u.b.r->t==BoolExpr::NT_RLINFLOAT) { - u.b.r->u.a.x->rfl.post(home, u.b.l->expr(home,icl), + u.b.r->u.a.x->rfl.post(home, u.b.l->expr(home,ipl), !u.b.r->u.a.neg); #endif #ifdef GECODE_HAS_SET_VARS - } else if (u.b.l->t==BoolExpr::NT_VAR && + } else if (u.b.l->t==BoolExpr::NT_VAR && u.b.r->t==BoolExpr::NT_RSET) { u.b.r->u.a.x->rs.post(home, u.b.l->u.a.x->x, u.b.l->u.a.neg==u.b.r->u.a.neg); - } else if (u.b.r->t==BoolExpr::NT_VAR && + } else if (u.b.r->t==BoolExpr::NT_VAR && u.b.l->t==BoolExpr::NT_RSET) { u.b.l->u.a.x->rs.post(home, u.b.r->u.a.x->x, u.b.l->u.a.neg==u.b.r->u.a.neg); } else if (u.b.l->t==BoolExpr::NT_RSET) { - u.b.l->u.a.x->rs.post(home, u.b.r->expr(home,icl), + u.b.l->u.a.x->rs.post(home, u.b.r->expr(home,ipl), !u.b.l->u.a.neg); } else if (u.b.r->t==BoolExpr::NT_RSET) { - u.b.r->u.a.x->rs.post(home, u.b.l->expr(home,icl), + u.b.r->u.a.x->rs.post(home, u.b.l->expr(home,ipl), !u.b.r->u.a.neg); #endif } else { - Gecode::rel(home, expr(home, icl), IRT_EQ, 1); + Gecode::rel(home, expr(home, ipl), IRT_EQ, 1); } break; default: @@ -534,7 +534,7 @@ namespace Gecode { return nnf(r,n->l,!neg); case BoolExpr::NT_AND: case BoolExpr::NT_OR: { - NodeType t = ((n->t == BoolExpr::NT_AND) == neg) ? + NodeType t = ((n->t == BoolExpr::NT_AND) == neg) ? BoolExpr::NT_OR : BoolExpr::NT_AND; NNF* x = new (r) NNF; x->t = t; @@ -574,17 +574,17 @@ namespace Gecode { return NULL; } } - + BoolVar - BoolExpr::expr(Home home, IntConLevel icl) const { + BoolExpr::expr(Home home, IntPropLevel ipl) const { Region r(home); - return NNF::nnf(r,n,false)->expr(home,icl); + return NNF::nnf(r,n,false)->expr(home,ipl); } void - BoolExpr::rel(Home home, IntConLevel icl) const { + BoolExpr::rel(Home home, IntPropLevel ipl) const { Region r(home); - return NNF::nnf(r,n,false)->rel(home,icl); + return NNF::nnf(r,n,false)->rel(home,ipl); } @@ -629,70 +629,72 @@ namespace Gecode { * */ BoolVar - expr(Home home, const BoolExpr& e, IntConLevel icl) { + expr(Home home, const BoolExpr& e, IntPropLevel ipl) { + PostInfo pi(home); if (!home.failed()) - return e.expr(home,icl); + return e.expr(home,ipl); BoolVar x(home,0,1); return x; } void - rel(Home home, const BoolExpr& e, IntConLevel icl) { + rel(Home home, const BoolExpr& e, IntPropLevel ipl) { + GECODE_POST; if (home.failed()) return; - e.rel(home,icl); + e.rel(home,ipl); } /* * Boolean element constraints * */ - + /// \brief Boolean element expressions - class BElementExpr : public BoolExpr::MiscExpr { - public: + class BElementExpr : public BoolExpr::Misc { + protected: /// The Boolean expressions BoolExpr* a; /// The number of Boolean expressions int n; /// The linear expression for the index LinIntExpr idx; + public: /// Constructor - BElementExpr(int size); + BElementExpr(const BoolVarArgs& b, const LinIntExpr& idx); /// Destructor virtual ~BElementExpr(void); /// Constrain \a b to be equivalent to the expression (negated if \a neg) - virtual void post(Space& home, BoolVar b, bool neg, IntConLevel icl); + virtual void post(Home home, BoolVar b, bool neg, IntPropLevel ipl); }; - BElementExpr::BElementExpr(int size) - : a(heap.alloc(size)), n(size) {} + BElementExpr::BElementExpr(const BoolVarArgs& b, const LinIntExpr& idx) + : a(static_cast(heap.ralloc(sizeof(BoolExpr)*b.size()))), n(b.size()), idx(idx) { + for (int i=b.size(); i--;) + new (&a[i]) BoolExpr(b[i]); + } BElementExpr::~BElementExpr(void) { heap.free(a,n); } - + void - BElementExpr::post(Space& home, BoolVar b, bool pos, IntConLevel icl) { - IntVar z = idx.post(home, icl); - if (z.assigned() && z.val() >= 0 && z.val() < n) { - BoolExpr be = pos ? (a[z.val()] == b) : (a[z.val()] == !b); - be.rel(home,icl); + BElementExpr::post(Home home, BoolVar b, bool neg, IntPropLevel ipl) { + IntVar z = idx.post(home, ipl); + if (z.assigned() && (z.val() >= 0) && (z.val() < n)) { + BoolExpr be = neg ? (a[z.val()] == !b) : (a[z.val()] == b); + be.rel(home,ipl); } else { BoolVarArgs x(n); for (int i=n; i--;) - x[i] = a[i].expr(home,icl); - BoolVar res = pos ? b : (!b).expr(home,icl); - element(home, x, z, res, icl); + x[i] = a[i].expr(home,ipl); + BoolVar res = neg ? (!b).expr(home,ipl) : b; + element(home, x, z, res, ipl); } } BoolExpr element(const BoolVarArgs& b, const LinIntExpr& idx) { - BElementExpr* be = new BElementExpr(b.size()); - for (int i=b.size(); i--;) - new (&be->a[i]) BoolExpr(b[i]); - be->idx = idx; - return BoolExpr(be); + return BoolExpr(new BElementExpr(b,idx)); } } diff --git a/gecode/minimodel/bool-expr.hpp b/gecode/minimodel/bool-expr.hpp index 16bb4ddd26..bd0e2576e3 100755 --- a/gecode/minimodel/bool-expr.hpp +++ b/gecode/minimodel/bool-expr.hpp @@ -42,14 +42,8 @@ namespace Gecode { * */ - forceinline void* - BoolExpr::MiscExpr::operator new(size_t size) { - return heap.ralloc(size); - } - forceinline void - BoolExpr::MiscExpr::operator delete(void* p, size_t) { - heap.rfree(p); - } + forceinline + BoolExpr::Misc::Misc(void) {} } diff --git a/gecode/minimodel/exception.cpp b/gecode/minimodel/exception.cpp new file mode 100644 index 0000000000..ab26015091 --- /dev/null +++ b/gecode/minimodel/exception.cpp @@ -0,0 +1,55 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * Mikael Lagerkvist + * + * Copyright: + * Christian Schulte, 2004 + * Mikael Lagerkvist, 2005 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace MiniModel { + + TooFewArguments::TooFewArguments(const char* l) + : Exception(l,"Passed argument array has too few elements") {} + + ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) + : Exception(l,"Sizes of argument arrays mismatch") {} + + ArgumentOutOfRange::ArgumentOutOfRange(const char* l) + : Exception(l,"Argument out of range") {} + +}} + +// STATISTICS: minimodel-any diff --git a/gecode/minimodel/exception.hpp b/gecode/minimodel/exception.hpp index bed1111fd8..01501bd726 100644 --- a/gecode/minimodel/exception.hpp +++ b/gecode/minimodel/exception.hpp @@ -46,39 +46,27 @@ namespace Gecode { namespace MiniModel { //@{ /// %Exception: Too few arguments available in argument array - class GECODE_VTABLE_EXPORT TooFewArguments : public Exception { + class GECODE_MINIMODEL_EXPORT TooFewArguments : public Exception { public: /// Initialize with location \a l TooFewArguments(const char* l); }; /// %Exception: Sizes of arguments does not match - class GECODE_VTABLE_EXPORT ArgumentSizeMismatch : public Exception { + class GECODE_MINIMODEL_EXPORT ArgumentSizeMismatch : public Exception { public: /// Initialize with location \a l ArgumentSizeMismatch(const char* l); }; /// %Exception: Argument out of range - class GECODE_VTABLE_EXPORT ArgumentOutOfRange : public Exception { + class GECODE_MINIMODEL_EXPORT ArgumentOutOfRange : public Exception { public: /// Initialize with location \a l ArgumentOutOfRange(const char* l); }; //@} - inline - TooFewArguments::TooFewArguments(const char* l) - : Exception(l,"Passed argument array has too few elements") {} - - inline - ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) - : Exception(l,"Sizes of argument arrays mismatch") {} - - inline - ArgumentOutOfRange::ArgumentOutOfRange(const char* l) - : Exception(l,"Argument out of range") {} - }} // STATISTICS: minimodel-any diff --git a/gecode/minimodel/float-arith.cpp b/gecode/minimodel/float-arith.cpp index 2a357a042f..a25cd26e4b 100755 --- a/gecode/minimodel/float-arith.cpp +++ b/gecode/minimodel/float-arith.cpp @@ -44,7 +44,7 @@ namespace Gecode { namespace MiniModel { /// Non-linear float arithmetic expressions - class GECODE_MINIMODEL_EXPORT ArithNonLinFloatExpr : + class GECODE_MINIMODEL_EXPORT ArithNonLinFloatExpr : public NonLinFloatExpr { public: /// The expression type @@ -65,7 +65,7 @@ namespace Gecode { namespace MiniModel { ANLFE_COS, ///< expression ANLFE_ATAN, ///< expression ANLFE_TAN, ///< expression -#endif +#endif ANLFE_POW, ///< Pow expression ANLFE_NROOT ///< Nth root expression } t; @@ -320,7 +320,7 @@ namespace Gecode { namespace MiniModel { dynamic_cast(e.nlfe()) != NULL && dynamic_cast(e.nlfe())->t == t; } - + }} namespace Gecode { diff --git a/gecode/minimodel/float-expr.cpp b/gecode/minimodel/float-expr.cpp index 023374f223..f825a5821d 100755 --- a/gecode/minimodel/float-expr.cpp +++ b/gecode/minimodel/float-expr.cpp @@ -81,7 +81,7 @@ namespace Gecode { static void* operator new(size_t size); /// Memory management static void operator delete(void* p,size_t size); - + }; /* @@ -144,7 +144,7 @@ namespace Gecode { } FloatVal - LinFloatExpr::Node::fill(Home home, + LinFloatExpr::Node::fill(Home home, Float::Linear::Term* tf) const { FloatVal d=0; fill(home,tf,1.0,d); @@ -204,7 +204,7 @@ namespace Gecode { FloatVal c = n->fill(home,fts); Float::Linear::post(home, fts, n->n_float, frt, -c, b); } - + } FloatVar @@ -222,7 +222,7 @@ namespace Gecode { fts[n->n_float].x = x; fts[n->n_float].a = -1; Float::Linear::post(home, fts, n->n_float+1, FRT_EQ, -c); return x; - + } LinFloatExpr::LinFloatExpr(void) : @@ -343,8 +343,8 @@ namespace Gecode { void - LinFloatExpr::Node::fill(Home home, - Float::Linear::Term*& tf, + LinFloatExpr::Node::fill(Home home, + Float::Linear::Term*& tf, FloatVal m, FloatVal& d) const { switch (this->t) { case NT_CONST: @@ -513,7 +513,7 @@ namespace Gecode { operator *(const FloatVal& a, const FloatVar& x) { if (a == 0) return LinFloatExpr(0.0); - else if (x.assigned() && + else if (x.assigned() && Float::Limits::valid(a*x.val())) return LinFloatExpr(a*x.val()); else @@ -523,7 +523,7 @@ namespace Gecode { operator *(const FloatVar& x, const FloatVal& a) { if (a == 0) return LinFloatExpr(0.0); - else if (x.assigned() && + else if (x.assigned() && Float::Limits::valid(a*x.val())) return LinFloatExpr(a*x.val()); else @@ -548,6 +548,7 @@ namespace Gecode { sum(const FloatVarArgs& x) { return LinFloatExpr(x); } + LinFloatExpr sum(const FloatValArgs& a, const FloatVarArgs& x) { return LinFloatExpr(a,x); @@ -555,6 +556,7 @@ namespace Gecode { FloatVar expr(Home home, const LinFloatExpr& e) { + PostInfo pi(home); if (!home.failed()) return e.post(home); FloatVar x(home,Float::Limits::min,Float::Limits::max); diff --git a/gecode/minimodel/int-arith.cpp b/gecode/minimodel/int-arith.cpp index 21aa710a42..a40a036f4e 100755 --- a/gecode/minimodel/int-arith.cpp +++ b/gecode/minimodel/int-arith.cpp @@ -75,73 +75,73 @@ namespace Gecode { namespace MiniModel { ArithNonLinIntExpr(ArithNonLinIntExprType t0, int n0, const BoolExpr& b0) : t(t0), a(heap.alloc(n0)), n(n0), b(b0) {} /// Destructor - ~ArithNonLinIntExpr(void) { - heap.free(a,n); + ~ArithNonLinIntExpr(void) { + heap.free(a,n); } /// Post expression - virtual IntVar post(Home home, IntVar* ret, IntConLevel icl) const { + virtual IntVar post(Home home, IntVar* ret, IntPropLevel ipl) const { IntVar y; switch (t) { case ANLE_ABS: { - IntVar x = a[0].post(home, icl); + IntVar x = a[0].post(home, ipl); if (x.min() >= 0) y = result(home,ret,x); else { y = result(home,ret); - abs(home, x, y, icl); + abs(home, x, y, ipl); } } break; case ANLE_MIN: if (n==1) { - y = result(home,ret, a[0].post(home, icl)); + y = result(home,ret, a[0].post(home, ipl)); } else if (n==2) { - IntVar x0 = a[0].post(home, icl); - IntVar x1 = a[1].post(home, icl); + IntVar x0 = a[0].post(home, ipl); + IntVar x1 = a[1].post(home, ipl); if (x0.max() <= x1.min()) y = result(home,ret,x0); else if (x1.max() <= x0.min()) y = result(home,ret,x1); else { y = result(home,ret); - min(home, x0, x1, y, icl); + min(home, x0, x1, y, ipl); } } else { IntVarArgs x(n); for (int i=n; i--;) - x[i] = a[i].post(home, icl); + x[i] = a[i].post(home, ipl); y = result(home,ret); - min(home, x, y, icl); + min(home, x, y, ipl); } break; case ANLE_MAX: if (n==1) { - y = result(home,ret,a[0].post(home, icl)); + y = result(home,ret,a[0].post(home, ipl)); } else if (n==2) { - IntVar x0 = a[0].post(home, icl); - IntVar x1 = a[1].post(home, icl); + IntVar x0 = a[0].post(home, ipl); + IntVar x1 = a[1].post(home, ipl); if (x0.max() <= x1.min()) y = result(home,ret,x1); else if (x1.max() <= x0.min()) y = result(home,ret,x0); else { y = result(home,ret); - max(home, x0, x1, y, icl); + max(home, x0, x1, y, ipl); } } else { IntVarArgs x(n); for (int i=n; i--;) - x[i] = a[i].post(home, icl); + x[i] = a[i].post(home, ipl); y = result(home,ret); - max(home, x, y, icl); + max(home, x, y, ipl); } break; case ANLE_MULT: { assert(n == 2); - IntVar x0 = a[0].post(home, icl); - IntVar x1 = a[1].post(home, icl); + IntVar x0 = a[0].post(home, ipl); + IntVar x1 = a[1].post(home, ipl); if (x0.assigned() && (x0.val() == 0)) y = result(home,ret,x0); else if (x0.assigned() && (x0.val() == 1)) @@ -152,15 +152,15 @@ namespace Gecode { namespace MiniModel { y = result(home,ret,x0); else { y = result(home,ret); - mult(home, x0, x1, y, icl); + mult(home, x0, x1, y, ipl); } } break; case ANLE_DIV: { assert(n == 2); - IntVar x0 = a[0].post(home, icl); - IntVar x1 = a[1].post(home, icl); + IntVar x0 = a[0].post(home, ipl); + IntVar x1 = a[1].post(home, ipl); rel(home, x1, IRT_NQ, 0); if (x1.assigned() && (x1.val() == 1)) y = result(home,ret,x0); @@ -168,79 +168,79 @@ namespace Gecode { namespace MiniModel { y = result(home,ret,x0); else { y = result(home,ret); - div(home, x0, x1, y, icl); + div(home, x0, x1, y, ipl); } } break; case ANLE_MOD: { assert(n == 2); - IntVar x0 = a[0].post(home, icl); - IntVar x1 = a[1].post(home, icl); + IntVar x0 = a[0].post(home, ipl); + IntVar x1 = a[1].post(home, ipl); y = result(home,ret); - mod(home, x0, x1, y, icl); + mod(home, x0, x1, y, ipl); } break; case ANLE_SQR: { assert(n == 1); - IntVar x = a[0].post(home, icl); + IntVar x = a[0].post(home, ipl); if (x.assigned() && ((x.val() == 0) || (x.val() == 1))) - y = x; + y = result(home,ret,x); else { y = result(home,ret); - sqr(home, x, y, icl); + sqr(home, x, y, ipl); } } break; case ANLE_SQRT: { assert(n == 1); - IntVar x = a[0].post(home, icl); + IntVar x = a[0].post(home, ipl); if (x.assigned() && ((x.val() == 0) || (x.val() == 1))) y = result(home,ret,x); else { y = result(home,ret); - sqrt(home, x, y, icl); + sqrt(home, x, y, ipl); } } break; case ANLE_POW: { assert(n == 1); - IntVar x = a[0].post(home, icl); - if (x.assigned() && (aInt > 0) && + IntVar x = a[0].post(home, ipl); + if (x.assigned() && (aInt > 0) && ((x.val() == 0) || (x.val() == 1))) - y = x; + y = result(home,ret,x); else { y = result(home,ret); - pow(home, x, aInt, y, icl); + pow(home, x, aInt, y, ipl); } } break; case ANLE_NROOT: { assert(n == 1); - IntVar x = a[0].post(home, icl); - if (x.assigned() && (aInt > 0) && + IntVar x = a[0].post(home, ipl); + if (x.assigned() && (aInt > 0) && ((x.val() == 0) || (x.val() == 1))) y = result(home,ret,x); else { y = result(home,ret); - nroot(home, x, aInt, y, icl); + nroot(home, x, aInt, y, ipl); } } break; case ANLE_ELMNT: { - IntVar z = a[n-1].post(home, icl); + IntVar z = a[n-1].post(home, ipl); if (z.assigned() && z.val() >= 0 && z.val() < n-1) { - y = result(home,ret,a[z.val()].post(home, icl)); + y = result(home,ret,a[z.val()].post(home, ipl)); } else { IntVarArgs x(n-1); bool assigned = true; for (int i=n-1; i--;) { - x[i] = a[i].post(home, icl); + x[i] = a[i].post(home, ipl); if (!x[i].assigned()) assigned = false; } @@ -249,9 +249,9 @@ namespace Gecode { namespace MiniModel { IntArgs xa(n-1); for (int i=n-1; i--;) xa[i] = x[i].val(); - element(home, xa, z, y, icl); + element(home, xa, z, y, ipl); } else { - element(home, x, z, y, icl); + element(home, x, z, y, ipl); } } } @@ -259,11 +259,11 @@ namespace Gecode { namespace MiniModel { case ANLE_ITE: { assert(n == 2); - BoolVar c = b.expr(home, icl); - IntVar x0 = a[0].post(home, icl); - IntVar x1 = a[1].post(home, icl); + BoolVar c = b.expr(home, ipl); + IntVar x0 = a[0].post(home, ipl); + IntVar x1 = a[1].post(home, ipl); y = result(home,ret); - ite(home, c, x0, x1, y, icl); + ite(home, c, x0, x1, y, ipl); } break; default: @@ -272,20 +272,20 @@ namespace Gecode { namespace MiniModel { return y; } virtual void post(Home home, IntRelType irt, int c, - IntConLevel icl) const { + IntPropLevel ipl) const { if ( (t == ANLE_MIN && (irt == IRT_GQ || irt == IRT_GR)) || (t == ANLE_MAX && (irt == IRT_LQ || irt == IRT_LE)) ) { IntVarArgs x(n); for (int i=n; i--;) - x[i] = a[i].post(home, icl); + x[i] = a[i].post(home, ipl); rel(home, x, irt, c); } else { - rel(home, post(home,NULL,icl), irt, c); + rel(home, post(home,NULL,ipl), irt, c); } } virtual void post(Home home, IntRelType irt, int c, - BoolVar b, IntConLevel icl) const { - rel(home, post(home,NULL,icl), irt, c, b); + BoolVar b, IntPropLevel ipl) const { + rel(home, post(home,NULL,ipl), irt, c, b); } }; /// Check if \a e is of type \a t diff --git a/gecode/minimodel/int-expr.cpp b/gecode/minimodel/int-expr.cpp index 957da571c2..7722ab5acc 100755 --- a/gecode/minimodel/int-expr.cpp +++ b/gecode/minimodel/int-expr.cpp @@ -71,12 +71,12 @@ namespace Gecode { /// Default constructor Node(void); /// Generate linear terms from expression - void fill(Home home, IntConLevel icl, + void fill(Home home, IntPropLevel ipl, Int::Linear::Term*& ti, Int::Linear::Term*& tb, long long int m, long long int& d) const; /// Generate linear terms for expressions - int fill(Home home, IntConLevel icl, + int fill(Home home, IntPropLevel ipl, Int::Linear::Term* ti, Int::Linear::Term* tb) const; /// Decrement reference count and possibly free memory @@ -147,23 +147,23 @@ namespace Gecode { } int - LinIntExpr::Node::fill(Home home, IntConLevel icl, - Int::Linear::Term* ti, + LinIntExpr::Node::fill(Home home, IntPropLevel ipl, + Int::Linear::Term* ti, Int::Linear::Term* tb) const { long long int d=0; - fill(home,icl,ti,tb,1,d); + fill(home,ipl,ti,tb,1,d); Int::Limits::check(d,"MiniModel::LinIntExpr"); return static_cast(d); } void - LinIntExpr::post(Home home, IntRelType irt, IntConLevel icl) const { + LinIntExpr::post(Home home, IntRelType irt, IntPropLevel ipl) const { if (home.failed()) return; Region r(home); if (n->n_bool == 0) { // Only integer variables if (n->t==NT_ADD && n->l == NULL && n->r->t==NT_NONLIN) { - n->r->sum.ne->post(home,irt,-n->c,icl); + n->r->sum.ne->post(home,irt,-n->c,ipl); } else if (n->t==NT_SUB && n->r->t==NT_NONLIN && n->l==NULL) { switch (irt) { case IRT_LQ: irt=IRT_GQ; break; @@ -172,66 +172,66 @@ namespace Gecode { case IRT_GR: irt=IRT_LE; break; default: break; } - n->r->sum.ne->post(home,irt,n->c,icl); + n->r->sum.ne->post(home,irt,n->c,ipl); } else if (irt==IRT_EQ && n->t==NT_SUB && n->r->t==NT_NONLIN && n->l != NULL && n->l->t==NT_VAR_INT && n->l->a==1) { - (void) n->r->sum.ne->post(home,&n->l->x_int,icl); + (void) n->r->sum.ne->post(home,&n->l->x_int,ipl); } else if (irt==IRT_EQ && n->t==NT_SUB && n->r->t==NT_VAR_INT && n->l != NULL && n->l->t==NT_NONLIN && n->r->a==1) { - (void) n->l->sum.ne->post(home,&n->r->x_int,icl); + (void) n->l->sum.ne->post(home,&n->r->x_int,ipl); } else { Int::Linear::Term* its = r.alloc >(n->n_int); - int c = n->fill(home,icl,its,NULL); - Int::Linear::post(home, its, n->n_int, irt, -c, icl); + int c = n->fill(home,ipl,its,NULL); + Int::Linear::post(home, its, n->n_int, irt, -c, ipl); } } else if (n->n_int == 0) { // Only Boolean variables Int::Linear::Term* bts = r.alloc >(n->n_bool); - int c = n->fill(home,icl,NULL,bts); - Int::Linear::post(home, bts, n->n_bool, irt, -c, icl); + int c = n->fill(home,ipl,NULL,bts); + Int::Linear::post(home, bts, n->n_bool, irt, -c, ipl); } else if (n->n_bool == 1) { // Integer variables and only one Boolean variable Int::Linear::Term* its = r.alloc >(n->n_int+1); Int::Linear::Term* bts = r.alloc >(1); - int c = n->fill(home,icl,its,bts); + int c = n->fill(home,ipl,its,bts); IntVar x(home,0,1); channel(home,bts[0].x,x); its[n->n_int].x = x; its[n->n_int].a = bts[0].a; - Int::Linear::post(home, its, n->n_int+1, irt, -c, icl); + Int::Linear::post(home, its, n->n_int+1, irt, -c, ipl); } else { // Both integer and Boolean variables Int::Linear::Term* its = r.alloc >(n->n_int+1); Int::Linear::Term* bts = r.alloc >(n->n_bool); - int c = n->fill(home,icl,its,bts); + int c = n->fill(home,ipl,its,bts); int min, max; Int::Linear::estimate(&bts[0],n->n_bool,0,min,max); IntVar x(home,min,max); its[n->n_int].x = x; its[n->n_int].a = 1; - Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, 0, icl); - Int::Linear::post(home, its, n->n_int+1, irt, -c, icl); + Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, 0, ipl); + Int::Linear::post(home, its, n->n_int+1, irt, -c, ipl); } } void LinIntExpr::post(Home home, IntRelType irt, const BoolVar& b, - IntConLevel icl) const { + IntPropLevel ipl) const { if (home.failed()) return; Region r(home); if (n->n_bool == 0) { // Only integer variables if (n->t==NT_ADD && n->l==NULL && n->r->t==NT_NONLIN) { - n->r->sum.ne->post(home,irt,-n->c,b,icl); + n->r->sum.ne->post(home,irt,-n->c,b,ipl); } else if (n->t==NT_SUB && n->l==NULL && n->r->t==NT_NONLIN) { switch (irt) { case IRT_LQ: irt=IRT_GQ; break; @@ -240,73 +240,73 @@ namespace Gecode { case IRT_GR: irt=IRT_LE; break; default: break; } - n->r->sum.ne->post(home,irt,n->c,b,icl); + n->r->sum.ne->post(home,irt,n->c,b,ipl); } else { Int::Linear::Term* its = r.alloc >(n->n_int); - int c = n->fill(home,icl,its,NULL); - Int::Linear::post(home, its, n->n_int, irt, -c, b, icl); + int c = n->fill(home,ipl,its,NULL); + Int::Linear::post(home, its, n->n_int, irt, -c, b, ipl); } } else if (n->n_int == 0) { // Only Boolean variables Int::Linear::Term* bts = r.alloc >(n->n_bool); - int c = n->fill(home,icl,NULL,bts); - Int::Linear::post(home, bts, n->n_bool, irt, -c, b, icl); + int c = n->fill(home,ipl,NULL,bts); + Int::Linear::post(home, bts, n->n_bool, irt, -c, b, ipl); } else if (n->n_bool == 1) { // Integer variables and only one Boolean variable Int::Linear::Term* its = r.alloc >(n->n_int+1); Int::Linear::Term* bts = r.alloc >(1); - int c = n->fill(home,icl,its,bts); + int c = n->fill(home,ipl,its,bts); IntVar x(home,0,1); channel(home,bts[0].x,x); its[n->n_int].x = x; its[n->n_int].a = bts[0].a; - Int::Linear::post(home, its, n->n_int+1, irt, -c, b, icl); + Int::Linear::post(home, its, n->n_int+1, irt, -c, b, ipl); } else { // Both integer and Boolean variables Int::Linear::Term* its = r.alloc >(n->n_int+1); Int::Linear::Term* bts = r.alloc >(n->n_bool); - int c = n->fill(home,icl,its,bts); + int c = n->fill(home,ipl,its,bts); int min, max; Int::Linear::estimate(&bts[0],n->n_bool,0,min,max); IntVar x(home,min,max); its[n->n_int].x = x; its[n->n_int].a = 1; - Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, 0, icl); - Int::Linear::post(home, its, n->n_int+1, irt, -c, b, icl); + Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, 0, ipl); + Int::Linear::post(home, its, n->n_int+1, irt, -c, b, ipl); } } IntVar - LinIntExpr::post(Home home, IntConLevel icl) const { + LinIntExpr::post(Home home, IntPropLevel ipl) const { if (home.failed()) return IntVar(home,0,0); Region r(home); if (n->n_bool == 0) { // Only integer variables Int::Linear::Term* its = r.alloc >(n->n_int+1); - int c = n->fill(home,icl,its,NULL); + int c = n->fill(home,ipl,its,NULL); if ((n->n_int == 1) && (c == 0) && (its[0].a == 1)) return its[0].x; int min, max; Int::Linear::estimate(&its[0],n->n_int,c,min,max); IntVar x(home, min, max); its[n->n_int].x = x; its[n->n_int].a = -1; - Int::Linear::post(home, its, n->n_int+1, IRT_EQ, -c, icl); + Int::Linear::post(home, its, n->n_int+1, IRT_EQ, -c, ipl); return x; } else if (n->n_int == 0) { // Only Boolean variables Int::Linear::Term* bts = r.alloc >(n->n_bool); - int c = n->fill(home,icl,NULL,bts); + int c = n->fill(home,ipl,NULL,bts); int min, max; Int::Linear::estimate(&bts[0],n->n_bool,c,min,max); IntVar x(home, min, max); - Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, -c, icl); + Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, -c, ipl); return x; } else if (n->n_bool == 1) { // Integer variables and single Boolean variable @@ -314,7 +314,7 @@ namespace Gecode { r.alloc >(n->n_int+2); Int::Linear::Term* bts = r.alloc >(1); - int c = n->fill(home,icl,its,bts); + int c = n->fill(home,ipl,its,bts); IntVar x(home, 0, 1); channel(home, x, bts[0].x); its[n->n_int].x = x; its[n->n_int].a = bts[0].a; @@ -322,7 +322,7 @@ namespace Gecode { Int::Linear::estimate(&its[0],n->n_int+1,c,y_min,y_max); IntVar y(home, y_min, y_max); its[n->n_int+1].x = y; its[n->n_int+1].a = -1; - Int::Linear::post(home, its, n->n_int+2, IRT_EQ, -c, icl); + Int::Linear::post(home, its, n->n_int+2, IRT_EQ, -c, ipl); return y; } else { // Both integer and Boolean variables @@ -330,17 +330,17 @@ namespace Gecode { r.alloc >(n->n_int+2); Int::Linear::Term* bts = r.alloc >(n->n_bool); - int c = n->fill(home,icl,its,bts); + int c = n->fill(home,ipl,its,bts); int x_min, x_max; Int::Linear::estimate(&bts[0],n->n_bool,0,x_min,x_max); IntVar x(home, x_min, x_max); - Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, 0, icl); + Int::Linear::post(home, bts, n->n_bool, IRT_EQ, x, 0, ipl); its[n->n_int].x = x; its[n->n_int].a = 1; int y_min, y_max; Int::Linear::estimate(&its[0],n->n_int+1,c,y_min,y_max); IntVar y(home, y_min, y_max); its[n->n_int+1].x = y; its[n->n_int+1].a = -1; - Int::Linear::post(home, its, n->n_int+2, IRT_EQ, -c, icl); + Int::Linear::post(home, its, n->n_int+2, IRT_EQ, -c, ipl); return y; } } @@ -508,8 +508,8 @@ namespace Gecode { void - LinIntExpr::Node::fill(Home home, IntConLevel icl, - Int::Linear::Term*& ti, + LinIntExpr::Node::fill(Home home, IntPropLevel ipl, + Int::Linear::Term*& ti, Int::Linear::Term*& tb, long long int m, long long int& d) const { switch (this->t) { @@ -522,7 +522,7 @@ namespace Gecode { ti->a=static_cast(m*a); ti->x=x_int; ti++; break; case NT_NONLIN: - ti->a=static_cast(m); ti->x=sum.ne->post(home, NULL, icl); ti++; + ti->a=static_cast(m); ti->x=sum.ne->post(home, NULL, ipl); ti++; break; case NT_VAR_BOOL: Int::Limits::check(m*a,"MiniModel::LinIntExpr"); @@ -547,22 +547,22 @@ namespace Gecode { Int::Limits::check(m*c,"MiniModel::LinIntExpr"); d += m*c; } else { - l->fill(home,icl,ti,tb,m,d); + l->fill(home,ipl,ti,tb,m,d); } - r->fill(home,icl,ti,tb,m,d); + r->fill(home,ipl,ti,tb,m,d); break; case NT_SUB: if (l == NULL) { Int::Limits::check(m*c,"MiniModel::LinIntExpr"); d += m*c; } else { - l->fill(home,icl,ti,tb,m,d); + l->fill(home,ipl,ti,tb,m,d); } - r->fill(home,icl,ti,tb,-m,d); + r->fill(home,ipl,ti,tb,-m,d); break; case NT_MUL: Int::Limits::check(m*a,"MiniModel::LinIntExpr"); - l->fill(home,icl,ti,tb,m*a,d); + l->fill(home,ipl,ti,tb,m*a,d); break; default: GECODE_NEVER; @@ -576,7 +576,7 @@ namespace Gecode { */ LinIntExpr operator +(int c, const IntVar& x) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(static_cast(c)+x.val())) return LinIntExpr(c+x.val()); else @@ -584,7 +584,7 @@ namespace Gecode { } LinIntExpr operator +(int c, const BoolVar& x) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(static_cast(c)+x.val())) return LinIntExpr(c+x.val()); else @@ -596,7 +596,7 @@ namespace Gecode { } LinIntExpr operator +(const IntVar& x, int c) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(static_cast(c)+x.val())) return LinIntExpr(c+x.val()); else @@ -604,7 +604,7 @@ namespace Gecode { } LinIntExpr operator +(const BoolVar& x, int c) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(static_cast(c)+x.val())) return LinIntExpr(c+x.val()); else @@ -685,7 +685,7 @@ namespace Gecode { LinIntExpr operator -(int c, const IntVar& x) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(static_cast(c)-x.val())) return LinIntExpr(c-x.val()); else @@ -693,7 +693,7 @@ namespace Gecode { } LinIntExpr operator -(int c, const BoolVar& x) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(static_cast(c)-x.val())) return LinIntExpr(c-x.val()); else @@ -705,7 +705,7 @@ namespace Gecode { } LinIntExpr operator -(const IntVar& x, int c) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(x.val()-static_cast(c))) return LinIntExpr(x.val()-c); else @@ -713,7 +713,7 @@ namespace Gecode { } LinIntExpr operator -(const BoolVar& x, int c) { - if (x.assigned() && + if (x.assigned() && Int::Limits::valid(x.val()-static_cast(c))) return LinIntExpr(x.val()-c); else @@ -814,8 +814,8 @@ namespace Gecode { LinIntExpr operator *(int a, const IntVar& x) { if (a == 0) - return LinIntExpr(0.0); - else if (x.assigned() && + return LinIntExpr(0); + else if (x.assigned() && Int::Limits::valid(static_cast(a)*x.val())) return LinIntExpr(a*x.val()); else @@ -824,8 +824,8 @@ namespace Gecode { LinIntExpr operator *(int a, const BoolVar& x) { if (a == 0) - return LinIntExpr(0.0); - else if (x.assigned() && + return LinIntExpr(0); + else if (x.assigned() && Int::Limits::valid(static_cast(a)*x.val())) return LinIntExpr(a*x.val()); else @@ -834,8 +834,8 @@ namespace Gecode { LinIntExpr operator *(const IntVar& x, int a) { if (a == 0) - return LinIntExpr(0.0); - else if (x.assigned() && + return LinIntExpr(0); + else if (x.assigned() && Int::Limits::valid(static_cast(a)*x.val())) return LinIntExpr(a*x.val()); else @@ -844,8 +844,8 @@ namespace Gecode { LinIntExpr operator *(const BoolVar& x, int a) { if (a == 0) - return LinIntExpr(0.0); - else if (x.assigned() && + return LinIntExpr(0); + else if (x.assigned() && Int::Limits::valid(static_cast(a)*x.val())) return LinIntExpr(a*x.val()); else @@ -854,14 +854,14 @@ namespace Gecode { LinIntExpr operator *(const LinIntExpr& e, int a) { if (a == 0) - return LinIntExpr(0.0); + return LinIntExpr(0); else return LinIntExpr(a,e); } LinIntExpr operator *(int a, const LinIntExpr& e) { if (a == 0) - return LinIntExpr(0.0); + return LinIntExpr(0); else return LinIntExpr(a,e); } @@ -882,12 +882,12 @@ namespace Gecode { sum(const IntArgs& a, const BoolVarArgs& x) { return LinIntExpr(a,x); } - LinIntExpr + LinIntExpr sum(const Slice& slice) { const Slice::ArgsType & args = slice; return sum(args); } - LinIntExpr + LinIntExpr sum(const Matrix& matrix) { const Matrix::ArgsType & args = matrix.get_array(); return sum(args); @@ -897,7 +897,7 @@ namespace Gecode { int i, sum = 0; const int size = args.size(); - for (i = 0 ; i < size ; ++i) + for (i = 0 ; i < size ; ++i) { sum += args[i]; } @@ -907,9 +907,10 @@ namespace Gecode { IntVar - expr(Home home, const LinIntExpr& e, IntConLevel icl) { + expr(Home home, const LinIntExpr& e, IntPropLevel ipl) { + PostInfo pi(home); if (!home.failed()) - return e.post(home,icl); + return e.post(home,ipl); IntVar x(home,Int::Limits::min,Int::Limits::max); return x; } diff --git a/gecode/minimodel/int-rel.hpp b/gecode/minimodel/int-rel.hpp index ef164292df..f0c538df58 100755 --- a/gecode/minimodel/int-rel.hpp +++ b/gecode/minimodel/int-rel.hpp @@ -71,13 +71,13 @@ namespace Gecode { } forceinline void - LinIntRel::post(Home home, bool t, IntConLevel icl) const { - e.post(home,t ? irt : neg(irt),icl); + LinIntRel::post(Home home, bool t, IntPropLevel ipl) const { + e.post(home,t ? irt : neg(irt),ipl); } forceinline void - LinIntRel::post(Home home, const BoolVar& b, bool t, IntConLevel icl) const { - e.post(home,t ? irt : neg(irt),b,icl); + LinIntRel::post(Home home, const BoolVar& b, bool t, IntPropLevel ipl) const { + e.post(home,t ? irt : neg(irt),b,ipl); } } diff --git a/gecode/minimodel/ldsb.hpp b/gecode/minimodel/ldsb.hpp index d8d44af42c..4b3e9283be 100644 --- a/gecode/minimodel/ldsb.hpp +++ b/gecode/minimodel/ldsb.hpp @@ -36,7 +36,7 @@ */ namespace Gecode { - + /** \brief Interchangeable rows symmetry specification. */ template @@ -82,7 +82,7 @@ namespace Gecode { } return VariableSequenceSymmetry(xs, length); } - + /** \brief Reflect columns symmetry specification. */ template diff --git a/gecode/minimodel/matrix.hpp b/gecode/minimodel/matrix.hpp index a66ec4094b..8fe515bf33 100644 --- a/gecode/minimodel/matrix.hpp +++ b/gecode/minimodel/matrix.hpp @@ -70,22 +70,22 @@ namespace Gecode { } template - forceinline + inline Slice::operator ArgsType(void) { return _r; } template - forceinline + inline Slice::operator Matrix::ArgsType>(void) { return Matrix(_r, _tc-_fc, _tr-_fr); } template - forceinline + inline Slice::operator const typename Slice::ArgsType(void) const { return _r; } template - forceinline + inline Slice::operator const Matrix::ArgsType>(void) const { return Matrix(_r, _tc-_fc, _tr-_fr); } @@ -171,19 +171,19 @@ namespace Gecode { } template - forceinline Slice + inline Slice Matrix::slice(int fc, int tc, int fr, int tr) const { return Slice(*this, fc, tc, fr, tr); } template - forceinline Slice + inline Slice Matrix::row(int r) const { return slice(0, width(), r, r+1); } template - forceinline Slice + inline Slice Matrix::col(int c) const { return slice(c, c+1, 0, height()); } @@ -209,34 +209,34 @@ namespace Gecode { } forceinline void - element(Home home, const Matrix& m, IntVar x, IntVar y, - IntVar z, IntConLevel icl) { - element(home, m.get_array(), x, m.width(), y, m.height(), z, icl); + element(Home home, const Matrix& m, IntVar x, IntVar y, + IntVar z, IntPropLevel ipl) { + element(home, m.get_array(), x, m.width(), y, m.height(), z, ipl); } forceinline void - element(Home home, const Matrix& m, IntVar x, IntVar y, - BoolVar z, IntConLevel icl) { - element(home, m.get_array(), x, m.width(), y, m.height(), z, icl); + element(Home home, const Matrix& m, IntVar x, IntVar y, + BoolVar z, IntPropLevel ipl) { + element(home, m.get_array(), x, m.width(), y, m.height(), z, ipl); } forceinline void - element(Home home, const Matrix& m, IntVar x, IntVar y, - IntVar z, IntConLevel icl) { - element(home, m.get_array(), x, m.width(), y, m.height(), z, icl); + element(Home home, const Matrix& m, IntVar x, IntVar y, + IntVar z, IntPropLevel ipl) { + element(home, m.get_array(), x, m.width(), y, m.height(), z, ipl); } forceinline void - element(Home home, const Matrix& m, IntVar x, IntVar y, - BoolVar z, IntConLevel icl) { - element(home, m.get_array(), x, m.width(), y, m.height(), z, icl); + element(Home home, const Matrix& m, IntVar x, IntVar y, + BoolVar z, IntPropLevel ipl) { + element(home, m.get_array(), x, m.width(), y, m.height(), z, ipl); } #ifdef GECODE_HAS_SET_VARS forceinline void - element(Home home, const Matrix& m, IntVar x, IntVar y, + element(Home home, const Matrix& m, IntVar x, IntVar y, SetVar z) { element(home, m.get_array(), x, m.width(), y, m.height(), z); } forceinline void - element(Home home, const Matrix& m, IntVar x, IntVar y, + element(Home home, const Matrix& m, IntVar x, IntVar y, SetVar z) { element(home, m.get_array(), x, m.width(), y, m.height(), z); } diff --git a/gecode/minimodel/optimize.cpp b/gecode/minimodel/optimize.cpp index f905a202a1..07a835aad2 100755 --- a/gecode/minimodel/optimize.cpp +++ b/gecode/minimodel/optimize.cpp @@ -59,7 +59,7 @@ namespace Gecode { } -#ifdef GECODE_HAS_FLOAT_VARS +#ifdef GECODE_HAS_FLOAT_VARS void FloatMinimizeSpace::constrain(const Space& _best) { diff --git a/gecode/minimodel/optimize.hpp b/gecode/minimodel/optimize.hpp index 1888f3269f..65615a02a2 100755 --- a/gecode/minimodel/optimize.hpp +++ b/gecode/minimodel/optimize.hpp @@ -53,14 +53,14 @@ namespace Gecode { : Space(share,s) {} -#ifdef GECODE_HAS_FLOAT_VARS +#ifdef GECODE_HAS_FLOAT_VARS forceinline FloatMinimizeSpace::FloatMinimizeSpace(FloatNum s) : step(s) {} forceinline - FloatMinimizeSpace::FloatMinimizeSpace(bool share, + FloatMinimizeSpace::FloatMinimizeSpace(bool share, FloatMinimizeSpace& s) : Space(share,s), step(s.step) {} @@ -70,7 +70,7 @@ namespace Gecode { : step(s) {} forceinline - FloatMaximizeSpace::FloatMaximizeSpace(bool share, + FloatMaximizeSpace::FloatMaximizeSpace(bool share, FloatMaximizeSpace& s) : Space(share,s), step(s.step) {} diff --git a/gecode/minimodel/reg.cpp b/gecode/minimodel/reg.cpp index 7d0e182b56..f41a0e7912 100755 --- a/gecode/minimodel/reg.cpp +++ b/gecode/minimodel/reg.cpp @@ -87,10 +87,10 @@ namespace Gecode { static void dec(Exp* e); /// Return number of positions of \a e static int n_pos(Exp* e); + /// Print expression to \a os + void toString(std::ostringstream& os) const; /// Print expression - template - std::basic_ostream& - print(std::basic_ostream& os) const; + std::string toString(void) const; static void* operator new(size_t); static void operator delete(void*); @@ -152,6 +152,74 @@ namespace Gecode { return (e != NULL) ? e->_n_pos : 0; } + void + REG::Exp::toString(std::ostringstream& os) const { + switch (type) { + case ET_SYMBOL: + os << "[" << data.symbol << "]"; + return; + case ET_STAR: + { + bool par = ((data.kids[0] != NULL) && + ((data.kids[0]->type == ET_CONC) || + (data.kids[0]->type == ET_OR))); + os << (par ? "*(" : "*"); + if (data.kids[0]==NULL) { + os << "[]"; + } else { + data.kids[0]->toString(os); + } + os << (par ? ")" : ""); + return; + } + case ET_CONC: + { + bool par0 = ((data.kids[0] != NULL) && + (data.kids[0]->type == ET_OR)); + os << (par0 ? "(" : ""); + if (data.kids[0]==NULL) { + os << "[]"; + } else { + data.kids[0]->toString(os); + } + os << (par0 ? ")+" : "+"); + bool par1 = ((data.kids[1] != NULL) && + (data.kids[1]->type == ET_OR)); + os << (par1 ? "(" : ""); + if (data.kids[1]==NULL) { + os << "[]"; + } else { + data.kids[1]->toString(os); + } + os << (par1 ? ")" : ""); + return; + } + case ET_OR: + if (data.kids[0]==NULL) { + os << "[]"; + } else { + data.kids[0]->toString(os); + } + os << "|"; + if (data.kids[1]==NULL) { + os << "[]"; + } else { + data.kids[1]->toString(os); + } + return; + default: GECODE_NEVER; + } + GECODE_NEVER; + return; + } + + std::string + REG::Exp::toString(void) const { + std::ostringstream os; + toString(os); + return os.str(); + } + /* * Regular expressions @@ -356,6 +424,13 @@ namespace Gecode { return this->operator ()(1); } + std::string + REG::toString(void) const { + if (e==NULL) { + return "[]"; + } + return e->toString(); + } namespace MiniModel { @@ -465,7 +540,7 @@ namespace Gecode { bool open; ExpInfo(REG::Exp* e=NULL); }; - + /** * \brief Information on positions collected during traversal * @@ -543,9 +618,9 @@ namespace Gecode { pi[ps->pos].followpos = PosSet::cup(psm,pi[ps->pos].followpos,ni1.firstpos); done.push(NodeInfo(ni0.nullable & ni1.nullable, - ni0.nullable ? + ni0.nullable ? PosSet::cup(psm,ni0.firstpos,ni1.firstpos) : ni0.firstpos, - ni1.nullable ? + ni1.nullable ? PosSet::cup(psm,ni0.lastpos,ni1.lastpos) : ni1.lastpos)); } break; @@ -572,7 +647,7 @@ namespace Gecode { return done.top().firstpos; } - + namespace MiniModel { class StateNode; diff --git a/gecode/minimodel/reg.hpp b/gecode/minimodel/reg.hpp index 58f1020d2f..edc2e68002 100755 --- a/gecode/minimodel/reg.hpp +++ b/gecode/minimodel/reg.hpp @@ -37,49 +37,10 @@ namespace Gecode { - template - std::basic_ostream& - REG::Exp::print(std::basic_ostream& os) const { - if (this == NULL) - return os << "[]"; - switch (type) { - case ET_SYMBOL: - return os << "[" << data.symbol << "]"; - case ET_STAR: - { - bool par = ((data.kids[0] != NULL) && - ((data.kids[0]->type == ET_CONC) || - (data.kids[0]->type == ET_OR))); - return data.kids[0]->print(os << (par ? "*(" : "*")) - << (par ? ")" : ""); - } - case ET_CONC: - { - bool par0 = ((data.kids[0] != NULL) && - (data.kids[0]->type == ET_OR)); - std::ostream& os1 = data.kids[0]->print(os << (par0 ? "(" : "")) - << (par0 ? ")+" : "+"); - bool par1 = ((data.kids[1] != NULL) && - (data.kids[1]->type == ET_OR)); - return data.kids[1]->print(os1 << (par1 ? "(" : "") ) - << (par1 ? ")" : ""); - } - case ET_OR: - return data.kids[1]->print(data.kids[0]->print(os) << "|"); - default: GECODE_NEVER; - } - GECODE_NEVER; - return os; - } - - template inline std::basic_ostream& REG::print(std::basic_ostream& os) const { - std::basic_ostringstream s; - s.copyfmt(os); s.width(0); - e->print(s); - return os << s.str(); + return os << toString(); } template diff --git a/gecode/minimodel/set-expr.cpp b/gecode/minimodel/set-expr.cpp index be70acf4ce..6f7bc13d4c 100755 --- a/gecode/minimodel/set-expr.cpp +++ b/gecode/minimodel/set-expr.cpp @@ -50,7 +50,7 @@ namespace Gecode { (t1==SetExpr::NT_CONST) || (t1==SetExpr::NT_LEXP); } } - + /// %Node for set expression class SetExpr::Node { public: @@ -214,7 +214,7 @@ namespace Gecode { break; case SetExpr::NT_LEXP: { - IntVar iv = u.a.x->e.post(home,ICL_DEF); + IntVar iv = u.a.x->e.post(home,IPL_DEF); if (neg) { SetVar ic(home,IntSet::empty, IntSet(Set::Limits::min,Set::Limits::max)); @@ -363,7 +363,7 @@ namespace Gecode { case SRT_CMPL: invsrt = srt; break; - default: + default: invsrt = srt; GECODE_NEVER; } @@ -372,7 +372,7 @@ namespace Gecode { break; case SetExpr::NT_LEXP: { - IntVar iv = u.a.x->e.post(home,ICL_DEF); + IntVar iv = u.a.x->e.post(home,IPL_DEF); if (neg) { SetVar ic(home,IntSet::empty, IntSet(Set::Limits::min,Set::Limits::max)); @@ -599,7 +599,7 @@ namespace Gecode { n->r = NULL; n->e = e; } - + SetExpr::SetExpr(const SetExpr& l, NodeType t, const SetExpr& r) : n(new Node) { int ls = same(t,l.n->t) ? l.n->same : 1; @@ -711,7 +711,7 @@ namespace Gecode { SetExpr r(x[0]); for (int i=1; i(c)); break; case IRT_LE: - cardinality(home, e.post(home), - 0U, + cardinality(home, e.post(home), + 0U, static_cast(c-1)); break; case IRT_GQ: - cardinality(home, e.post(home), - static_cast(c), + cardinality(home, e.post(home), + static_cast(c), Set::Limits::card); break; case IRT_GR: - cardinality(home, e.post(home), - static_cast(c+1), + cardinality(home, e.post(home), + static_cast(c+1), Set::Limits::card); break; case IRT_EQ: - cardinality(home, e.post(home), + cardinality(home, e.post(home), static_cast(c), static_cast(c)); break; @@ -796,11 +796,11 @@ namespace Gecode { c = (irt==IRT_LQ ? c : c-1); dom(home, e.post(home), SRT_SUB, Set::Limits::min, c); } else { - rel(home, post(home,NULL,icl), irt, c); + rel(home, post(home,NULL,ipl), irt, c); } } virtual void post(Home home, IntRelType irt, int c, - BoolVar b, IntConLevel icl) const { + BoolVar b, IntPropLevel ipl) const { if (t==SNLE_MIN && (irt==IRT_GR || irt==IRT_GQ)) { c = (irt==IRT_GQ ? c : c+1); dom(home, e.post(home), SRT_SUB, c, Set::Limits::max, b); @@ -808,7 +808,7 @@ namespace Gecode { c = (irt==IRT_LQ ? c : c-1); dom(home, e.post(home), SRT_SUB, Set::Limits::min, c, b); } else { - rel(home, post(home,NULL,icl), irt, c, b); + rel(home, post(home,NULL,ipl), irt, c, b); } } }; @@ -836,6 +836,7 @@ namespace Gecode { */ SetVar expr(Home home, const SetExpr& e) { + PostInfo pi(home); if (!home.failed()) return e.post(home); SetVar x(home,IntSet::empty,IntSet::empty); diff --git a/gecode/minimodel/set-rel.cpp b/gecode/minimodel/set-rel.cpp index d0a24dbe66..b4afbd315a 100755 --- a/gecode/minimodel/set-rel.cpp +++ b/gecode/minimodel/set-rel.cpp @@ -73,7 +73,7 @@ namespace Gecode { operator ||(const SetExpr& e0, const SetExpr& e1) { return SetRel(e0, SRT_DISJ, e1); } - + } #endif diff --git a/gecode/minimodel/set-rel.hpp b/gecode/minimodel/set-rel.hpp index 04dc701817..d9abbc8be1 100755 --- a/gecode/minimodel/set-rel.hpp +++ b/gecode/minimodel/set-rel.hpp @@ -49,7 +49,7 @@ namespace Gecode { forceinline SetRel::SetRel(void) {} - + forceinline SetRel::SetRel(const SetExpr& e0, SetRelType srt, const SetExpr& e1) : _e0(e0), _srt(srt), _e1(e1) {} diff --git a/gecode/search.hh b/gecode/search.hh index c254d98c75..bb5ada76d8 100644 --- a/gecode/search.hh +++ b/gecode/search.hh @@ -76,13 +76,24 @@ namespace Gecode { namespace Search { /// %Sequential search engine implementations namespace Sequential {} - + /// %Parallel search engine implementations namespace Parallel {} /// %Meta search engine implementations namespace Meta {} + namespace Meta { + + /// %Sequential meta search engine implementations + namespace Sequential {} + + /// %Parallel meta search engine implementations + namespace Parallel {} + + } + + /** * \brief %Search configuration * @@ -93,38 +104,31 @@ namespace Gecode { namespace Search { const bool clone = true; /// Number of threads to use const double threads = 1.0; + /// Create a clone after every \a c_d commits (commit distance) const unsigned int c_d = 8; /// Create a clone during recomputation if distance is greater than \a a_d (adaptive distance) const unsigned int a_d = 2; - + /// Minimal number of open nodes for stealing const unsigned int steal_limit = 3; /// Initial delay in milliseconds for all but first worker thread const unsigned int initial_delay = 5; + /// Default discrepancy limit for LDS + const unsigned int d_l = 5; + + /// Base for geometric restart sequence + const double base = 1.5; + /// Size of a slice in a portfolio and scale factor for restarts(in number of failures) + const unsigned int slice = 250; + /// Depth limit for no-good generation during search const unsigned int nogoods_limit = 128; } }} -namespace Gecode { namespace Search { - - /** - * \defgroup FuncThrowSearch %Search exceptions - * \ingroup FuncThrow - */ - //@{ - /// %Exception: Uninitialized cutoff for restart-based search - class GECODE_VTABLE_EXPORT UninitializedCutoff : public Exception { - public: - /// Initialize with location \a l - UninitializedCutoff(const char* l); - }; - //@} -}} - #include namespace Gecode { namespace Search { @@ -165,7 +169,7 @@ namespace Gecode { namespace Search { * \brief Base class for cutoff generators for restart-based meta engine * \ingroup TaskModelSearch */ - class GECODE_SEARCH_EXPORT Cutoff { + class GECODE_SEARCH_EXPORT Cutoff : public HeapAllocated { public: /// \name Constructors and member functions //@{ @@ -178,36 +182,29 @@ namespace Gecode { namespace Search { /// Destructor virtual ~Cutoff(void); //@} - /// Memory management - //@{ - /// Allocate memory from heap - static void* operator new(size_t s); - /// Free memory allocated from heap - static void operator delete(void* p); - //@} /// \name Predefined cutoff generators //@{ /// Create generator for constant sequence with constant \a s static Cutoff* - constant(unsigned long int scale=1U); + constant(unsigned long int scale=Config::slice); /// Create generator for linear sequence scaled by \a scale static Cutoff* - linear(unsigned long int scale=1U); + linear(unsigned long int scale=Config::slice); /** Create generator for geometric sequence scaled by * \a scale using base \a base */ static Cutoff* - geometric(unsigned long int scale=1U, double base=1.5); + geometric(unsigned long int scale=Config::slice, double base=Config::base); /// Create generator for luby sequence with scale-factor \a scale static Cutoff* - luby(unsigned long int scale=1U); + luby(unsigned long int scale=Config::slice); /** Create generator for random sequence with seed \a seed that * generates values between \a min and \a max with \a n steps * between the extreme values (use 0 for \a n to get step size 1). */ static Cutoff* - rnd(unsigned int seed, - unsigned long int min, unsigned long int max, + rnd(unsigned int seed, + unsigned long int min, unsigned long int max, unsigned long int n); /// Append cutoff values from \a c2 after \a n values from \a c1 static Cutoff* @@ -304,7 +301,7 @@ namespace Gecode { namespace Search { /// Increment and return the next cutoff value virtual unsigned long int operator ++(void); }; - + /** * \brief Cutoff generator for the random sequence * \ingroup TaskModelSearch @@ -323,15 +320,15 @@ namespace Gecode { namespace Search { unsigned long int cur; public: /// Constructor - CutoffRandom(unsigned int seed, - unsigned long int min, unsigned long int max, + CutoffRandom(unsigned int seed, + unsigned long int min, unsigned long int max, unsigned long int n); /// Return the current cutoff value virtual unsigned long int operator ()(void) const; /// Increment and return the next cutoff value virtual unsigned long int operator ++(void); }; - + /** * \brief Cutoff generator appending two cutoff generators * \ingroup TaskModelSearch @@ -400,7 +397,7 @@ namespace Gecode { namespace Search { /// Destructor virtual ~CutoffRepeat(void); }; - + }} #include @@ -438,12 +435,12 @@ namespace Gecode { namespace Search { * The number of threads to be used is controlled by a double \f$n\f$ * (assume that \f$m\f$ is the number of processing units available). If * \f$1 \leq n\f$, \f$n\f$ threads are chosen (of course with rounding). - * If \f$n \leq -1\f$, then \f$m + n\f$ threads are + * If \f$n \leq -1\f$, then \f$m + n\f$ threads are * chosen (all but \f$-n\f$ processing units get a thread). If \f$n\f$ * is zero, \f$m\f$ threads are chosen. If \f$0 -namespace Gecode { - - template class E, class T> - class RBS; - -} - namespace Gecode { namespace Search { /// Base-class for search engines template - class EngineBase { - templateclass,class> friend class ::Gecode::RBS; + class Base : public HeapAllocated { + template + friend Engine* build(Space*, const Options&); + template class> + friend Engine* build(Space*, const Options&); protected: /// The actual search engine Engine* e; /// Constructor - EngineBase(Engine* e = NULL); + Base(Engine* e = NULL); public: /// Return next solution (NULL, if none exists or search has been stopped) virtual T* next(void); @@ -650,25 +641,92 @@ namespace Gecode { namespace Search { virtual Statistics statistics(void) const; /// Check whether engine has been stopped virtual bool stopped(void) const; - /// Return no-goods (the no-goods are empty) - virtual NoGoods& nogoods(void); /// Destructor - virtual ~EngineBase(void); - /// \name Memory management - //@{ - /// Allocate memory from heap - static void* operator new(size_t s); - /// Free memory allocated from heap - static void operator delete(void* p); - //@} + virtual ~Base(void); + private: + /// Disallow copy constructor + Base(const Base&); + /// Disallow assigment operator + Base& operator =(const Base&); + }; + +}} + +#include + +namespace Gecode { namespace Search { + + /// Build an engine of type \a E for a script \a T + template + Engine* build(Space* s, const Options& opt); + /// Build a parametric engine of type \a E for a script \a T + template class E> + Engine* build(Space* s, const Options& opt); + + /// A class for building search engines + class GECODE_SEARCH_EXPORT Builder : public HeapAllocated { + protected: + /// Stored and already expanded options + Options opt; + /// Whether engine to be built is a best solution search engine + const bool b; + public: + /// Initialize with options \a opt and \a best solution search support + Builder(const Options& opt, bool best); + /// Provide access to options + Options& options(void); + /// Provide access to options + const Options& options(void) const; + /// Whether engine is a best solution search engine + bool best(void) const; + /// Build an engine according to stored options for \a s + virtual Engine* operator() (Space* s) const = 0; + /// Destructor + virtual ~Builder(void); }; }} -#include +#include namespace Gecode { + /// Type for a search engine builder + typedef Search::Builder* SEB; + +} + +#include + +namespace Gecode { + + /// Passing search engine builder arguments + class SEBs : public PrimArgArray { + public: + /// \name Constructors and initialization + //@{ + /// Allocate empty array + SEBs(void); + /// Allocate array with \a n elements + explicit SEBs(int n); + /// Allocate array and copy elements from \a x + SEBs(const std::vector& x); + /// Allocate array and copy elements from \a first to \a last + template + SEBs(InputIterator first, InputIterator last); + /// Initialize from primitive argument array \a a (copy elements) + SEBs(const PrimArgArray& a); + /// Allocate array with \a n elements and initialize with \a b0, ... + GECODE_SEARCH_EXPORT + SEBs(int n, SEB b0, ...); + //@} + }; + +} + +#include + +namespace Gecode { /** * \brief Depth-first search engine @@ -678,16 +736,22 @@ namespace Gecode { * \ingroup TaskModelSearch */ template - class DFS : public Search::EngineBase { + class DFS : public Search::Base { public: /// Initialize search engine for space \a s with options \a o DFS(T* s, const Search::Options& o=Search::Options::def); + /// Whether engine does best solution search + static const bool best = false; }; /// Invoke depth-first search engine for subclass \a T of space \a s with options \a o template T* dfs(T* s, const Search::Options& o=Search::Options::def); + /// Return a depth-first search engine builder + template + SEB dfs(const Search::Options& o=Search::Options::def); + } #include @@ -706,10 +770,12 @@ namespace Gecode { * \ingroup TaskModelSearch */ template - class BAB : public Search::EngineBase { + class BAB : public Search::Base { public: /// Initialize engine for space \a s and options \a o BAB(T* s, const Search::Options& o=Search::Options::def); + /// Whether engine does best solution search + static const bool best = true; }; /** @@ -727,10 +793,44 @@ namespace Gecode { template T* bab(T* s, const Search::Options& o=Search::Options::def); + /// Return a depth-first branch-and-bound search engine builder + template + SEB bab(const Search::Options& o=Search::Options::def); + } #include +namespace Gecode { + + /** + * \brief Limited discrepancy search engine + * \ingroup TaskModelSearch + */ + template + class LDS : public Search::Base { + public: + /// Initialize engine for space \a s and options \a o + LDS(T* s, const Search::Options& o=Search::Options::def); + /// Whether engine does best solution search + static const bool best = false; + }; + + /** + * \brief Invoke limited-discrepancy search for \a s as root node and options\a o + * \ingroup TaskModelSearch + */ + template + T* lds(T* s, const Search::Options& o=Search::Options::def); + + /// Return a limited discrepancy search engine builder + template + SEB lds(const Search::Options& o=Search::Options::def); + +} + +#include + namespace Gecode { /** @@ -740,9 +840,9 @@ namespace Gecode { * periodically restart the search of engine \a E. * * The class \a T can implement member functions - * \code virtual bool master(const CRI& cri) \endcode + * \code virtual bool master(const MetaInfo& mi) \endcode * and - * \code virtual bool slave(const CRI& cri) \endcode + * \code virtual bool slave(const MetaInfo& mi) \endcode * * Whenever exploration restarts or a solution is found, the * engine executes the functions on the master and slave @@ -751,12 +851,14 @@ namespace Gecode { * * \ingroup TaskModelSearch */ - template class E, class T> - class RBS : public Search::EngineBase { - using Search::EngineBase::e; + template class E = DFS> + class RBS : public Search::Base { + using Search::Base::e; public: /// Initialize engine for space \a s and options \a o RBS(T* s, const Search::Options& o); + /// Whether engine does best solution search + static const bool best = E::best; }; /** @@ -766,9 +868,9 @@ namespace Gecode { * periodically restart the search of engine \a E. * * The class \a T can implement member functions - * \code virtual bool master(const CRI& cri) \endcode + * \code virtual bool master(const MetaInfo& mi) \endcode * and - * \code virtual bool slave(const CRI& cri) \endcode + * \code virtual bool slave(const MetaInfo& mi) \endcode * * Whenever exploration restarts or a solution is found, the * engine executes the functions on the master and slave @@ -777,13 +879,114 @@ namespace Gecode { * * \ingroup TaskModelSearch */ - template class E, class T> + template class E> T* rbs(T* s, const Search::Options& o); + /// Return a restart search engine builder + template class E> + SEB rbs(const Search::Options& o); + } #include +namespace Gecode { namespace Search { namespace Meta { + + /// Build a sequential engine + template class E> + Engine* sequential(T* master, const Search::Statistics& stat, Options& opt); + + /// Build a sequential engine + template class E> + Engine* sequential(T* master, SEBs& sebs, + const Search::Statistics& stat, Options& opt, bool best); + +#ifdef GECODE_HAS_THREADS + + /// Build a parallel engine + template class E> + Engine* parallel(T* master, const Search::Statistics& stat, Options& opt); + + /// Build a parallel engine + template class E> + Engine* parallel(T* master, SEBs& sebs, + const Search::Statistics& stat, Options& opt, bool best); + +#endif + +}}} + +namespace Gecode { + + /** + * \brief Meta engine using a portfolio of search engines + * + * The engine will run a portfolio with a number of assets as defined + * by the options \a o. The engine supports parallel execution of + * assets by using the number of threads as defined by the options. + * + * The class \a T can implement member functions + * \code virtual bool master(const MetaInfo& mi) \endcode + * and + * \code virtual bool slave(const MetaInfo& mi) \endcode + * + * When the assets are created, these functions are executed. + * For more details, consult "Modeling and Programming with Gecode". + * + * \ingroup TaskModelSearch + */ + template class E = DFS> + class PBS : public Search::Base { + using Search::Base::e; + protected: + /// The actual build function + void build(T* s, SEBs& sebs, const Search::Options& o); + public: + /// Initialize with engines running copies of \a s with options \a o + PBS(T* s, const Search::Options& o=Search::Options::def); + /// Initialize with engine builders \a sebs + PBS(T* s, SEBs& sebs, const Search::Options& o=Search::Options::def); + /// Initialize with engine builders \a seb0 and \a seb1 + PBS(T* s, SEB seb0, SEB seb1, + const Search::Options& o=Search::Options::def); + /// Initialize with engine builders \a seb0, \a seb1, and \a seb2 + PBS(T* s, SEB seb0, SEB seb1, SEB seb2, + const Search::Options& o=Search::Options::def); + /// Initialize with engine builders \a seb0, \a seb1, \a seb2, and \a seb3 + PBS(T* s, SEB seb0, SEB seb1, SEB seb2, SEB seb3, + const Search::Options& o=Search::Options::def); + /// Whether engine does best solution search + static const bool best = E::best; + }; + + /** + * \brief Run a portfolio of search engines + * + * The engine will run a portfolio with a number of assets as defined + * by the options \a o. The engine supports parallel execution of + * assets by using the number of threads as defined by the options. + * + * The class \a T can implement member functions + * \code virtual bool master(const MetaInfo& mi) \endcode + * and + * \code virtual bool slave(const MetaInfo& mi) \endcode + * + * When the assets are created, these functions are executed. + * For more details, consult "Modeling and Programming with Gecode". + * + * \ingroup TaskModelSearch + */ + template class E> + T* pbs(T* s, const Search::Options& o=Search::Options::def); + + /// Return a portfolio search engine builder + template + SEB pbs(const Search::Options& o=Search::Options::def); + +} + +#include + #endif // STATISTICS: search-other diff --git a/gecode/search/bab.cpp b/gecode/search/bab.cpp index a92e12db77..4248b1208c 100644 --- a/gecode/search/bab.cpp +++ b/gecode/search/bab.cpp @@ -43,8 +43,8 @@ #include namespace Gecode { namespace Search { - - Engine* + + Engine* bab(Space* s, const Options& o) { #ifdef GECODE_HAS_THREADS Options to = o.expand(); diff --git a/gecode/search/bab.hpp b/gecode/search/bab.hpp index 4ef178e5f4..b949a9c206 100755 --- a/gecode/search/bab.hpp +++ b/gecode/search/bab.hpp @@ -39,20 +39,44 @@ * */ -namespace Gecode { +namespace Gecode { namespace Search { + + /// Create branch and bound engine + GECODE_SEARCH_EXPORT Engine* bab(Space* s, const Options& o); + + /// A BAB engine builder + template + class BabBuilder : public Builder { + using Builder::opt; + public: + /// The constructor + BabBuilder(const Options& opt); + /// The actual build function + virtual Engine* operator() (Space* s) const; + }; - namespace Search { - /// Create branch and bound engine - GECODE_SEARCH_EXPORT Engine* bab(Space* s, const Options& o); + template + inline + BabBuilder::BabBuilder(const Options& opt) + : Builder(opt,BAB::best) {} + + template + Engine* + BabBuilder::operator() (Space* s) const { + return build(s,opt); } +}} + +namespace Gecode { + template - forceinline + inline BAB::BAB(T* s, const Search::Options& o) - : Search::EngineBase(Search::bab(s,o)) {} + : Search::Base(Search::bab(s,o)) {} template - T* + inline T* bab(T* s, const Search::Options& o) { BAB b(s,o); T* l = NULL; @@ -62,6 +86,12 @@ namespace Gecode { return l; } + template + SEB + bab(const Search::Options& o) { + return new Search::BabBuilder(o); + } + } // STATISTICS: search-other diff --git a/gecode/search/engine-base.hpp b/gecode/search/base.hpp old mode 100755 new mode 100644 similarity index 78% rename from gecode/search/engine-base.hpp rename to gecode/search/base.hpp index 15a928ace6..bf6d18293a --- a/gecode/search/engine-base.hpp +++ b/gecode/search/base.hpp @@ -43,42 +43,27 @@ namespace Gecode { namespace Search { template forceinline - EngineBase::EngineBase(Engine* e0) + Base::Base(Engine* e0) : e(e0) {} template forceinline T* - EngineBase::next(void) { + Base::next(void) { return dynamic_cast(e->next()); } template forceinline Statistics - EngineBase::statistics(void) const { + Base::statistics(void) const { return e->statistics(); } template forceinline bool - EngineBase::stopped(void) const { + Base::stopped(void) const { return e->stopped(); } template - forceinline NoGoods& - EngineBase::nogoods(void) { - return e->nogoods(); - } - template forceinline - EngineBase::~EngineBase(void) { - delete e; - } - template - forceinline void* - EngineBase::operator new(size_t s) { - return heap.ralloc(s); - } - template - forceinline void - EngineBase::operator delete(void* p) { - heap.rfree(p); + Base::~Base(void) { + delete e; } }} diff --git a/gecode/search/build.hpp b/gecode/search/build.hpp new file mode 100644 index 0000000000..18297897e7 --- /dev/null +++ b/gecode/search/build.hpp @@ -0,0 +1,82 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Search { + + forceinline + Builder::Builder(const Options& opt0, bool b0) + : opt(opt0.expand()), b(b0) {} + forceinline Options& + Builder::options(void) { + return opt; + } + forceinline const Options& + Builder::options(void) const { + return opt; + } + forceinline bool + Builder::best(void) const { + return b; + } + forceinline + Builder::~Builder(void) { + } + + + template + forceinline Engine* + build(Space* s, const Options& opt) { + E engine(dynamic_cast(s),opt); + Base* eb = &engine; + Engine* e = eb->e; + eb->e = NULL; + return e; + } + + template class E> + forceinline Engine* + build(Space* s, const Options& opt) { + E engine(dynamic_cast(s),opt); + Base* eb = &engine; + Engine* e = eb->e; + eb->e = NULL; + return e; + } + +}} + +// STATISTICS: search-other diff --git a/gecode/search/cutoff.cpp b/gecode/search/cutoff.cpp index 97749625d6..060077140c 100755 --- a/gecode/search/cutoff.cpp +++ b/gecode/search/cutoff.cpp @@ -44,65 +44,65 @@ namespace Gecode { namespace Search { - unsigned long int + unsigned long int CutoffConstant::operator ()(void) const { return c; } - unsigned long int + unsigned long int CutoffConstant::operator ++(void) { return c; } - - - unsigned long int + + + unsigned long int CutoffLinear::operator ()(void) const { return n; } - unsigned long int + unsigned long int CutoffLinear::operator ++(void) { n += scale; return n; } - - + + unsigned long int CutoffLuby::start[CutoffLuby::n_start] = { 1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,16, 1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,16,32 }; - unsigned long int + unsigned long int CutoffLuby::operator ()(void) const { return scale*luby(i); } - unsigned long int + unsigned long int CutoffLuby::operator ++(void) { return scale*luby(i++); } - unsigned long int + unsigned long int CutoffGeometric::operator ()(void) const { return static_cast(scale * n); } - unsigned long int + unsigned long int CutoffGeometric::operator ++(void) { n *= base; return static_cast(scale * n); } - - - unsigned long int + + + unsigned long int CutoffRandom::operator ++(void) { cur = min+step*rnd(n); return cur; } - unsigned long int + unsigned long int CutoffRandom::operator ()(void) const { return cur; } - - unsigned long int + + unsigned long int CutoffAppend::operator ()(void) const { if (n > 0) { return (*c1)(); @@ -110,7 +110,7 @@ namespace Gecode { namespace Search { return (*c2)(); } } - unsigned long int + unsigned long int CutoffAppend::operator ++(void) { if (n > 0) { n--; @@ -121,11 +121,11 @@ namespace Gecode { namespace Search { } - unsigned long int + unsigned long int CutoffMerge::operator ()(void) const { return (*c1)(); } - unsigned long int + unsigned long int CutoffMerge::operator ++(void) { (void) ++(*c1); std::swap(c1,c2); @@ -146,8 +146,8 @@ namespace Gecode { namespace Search { } return cutoff; } - - + + Cutoff* Cutoff::constant(unsigned long int scale) { return new CutoffConstant(scale); @@ -165,9 +165,9 @@ namespace Gecode { namespace Search { return new CutoffGeometric(base,scale); } Cutoff* - Cutoff::rnd(unsigned int seed, - unsigned long int min, - unsigned long int max, + Cutoff::rnd(unsigned int seed, + unsigned long int min, + unsigned long int max, unsigned long int n) { return new CutoffRandom(seed,min,max,n); } diff --git a/gecode/search/cutoff.hpp b/gecode/search/cutoff.hpp index 6808b161e9..b4e9284caf 100755 --- a/gecode/search/cutoff.hpp +++ b/gecode/search/cutoff.hpp @@ -45,30 +45,22 @@ namespace Gecode { namespace Search { Cutoff::Cutoff(void) {} forceinline Cutoff::~Cutoff(void) {} - forceinline void* - Cutoff::operator new(size_t s) { - return heap.ralloc(s); - } - forceinline void - Cutoff::operator delete(void* p) { - heap.rfree(p); - } forceinline - CutoffConstant::CutoffConstant(unsigned long int c0) + CutoffConstant::CutoffConstant(unsigned long int c0) : c(c0) {} forceinline - CutoffLinear::CutoffLinear(unsigned long int s) + CutoffLinear::CutoffLinear(unsigned long int s) : scale(s), n(0) {} forceinline - CutoffLuby::CutoffLuby(unsigned long int scale0) + CutoffLuby::CutoffLuby(unsigned long int scale0) : i(1U), scale(scale0) {} - forceinline unsigned long int + forceinline unsigned long int CutoffLuby::log(unsigned long int i) { if (i == 1U) return 0U; @@ -76,7 +68,7 @@ namespace Gecode { namespace Search { while ( (i >> (++exp)) > 1U ) {} return exp; } - forceinline unsigned long int + forceinline unsigned long int CutoffLuby::luby(unsigned long int i) { while (true) { if (i <= n_start) @@ -92,16 +84,16 @@ namespace Gecode { namespace Search { forceinline - CutoffGeometric::CutoffGeometric(unsigned long int scale0, double base0) + CutoffGeometric::CutoffGeometric(unsigned long int scale0, double base0) : n(1.0), scale(static_cast(scale0)), base(base0) {} forceinline - CutoffRandom::CutoffRandom(unsigned int seed, - unsigned long int min0, - unsigned long int max0, + CutoffRandom::CutoffRandom(unsigned int seed, + unsigned long int min0, + unsigned long int max0, unsigned long int n0) - : rnd(seed), min(min0), n(n0 == 0 ? (max0-min+1U) : n0), + : rnd(seed), min(min0), n(n0 == 0 ? (max0-min+1U) : n0), step(std::max(1UL, static_cast((max0-min0+1U)/n))) { cur = ++(*this); @@ -109,7 +101,7 @@ namespace Gecode { namespace Search { forceinline - CutoffAppend::CutoffAppend(Cutoff* d1, unsigned long int n0, Cutoff* d2) + CutoffAppend::CutoffAppend(Cutoff* d1, unsigned long int n0, Cutoff* d2) : c1(d1), c2(d2), n(n0) {} forceinline CutoffAppend::~CutoffAppend(void) { @@ -118,7 +110,7 @@ namespace Gecode { namespace Search { forceinline - CutoffMerge::CutoffMerge(Cutoff* d1, Cutoff* d2) + CutoffMerge::CutoffMerge(Cutoff* d1, Cutoff* d2) : c1(d1), c2(d2) {} forceinline CutoffMerge::~CutoffMerge(void) { diff --git a/gecode/search/dfs.cpp b/gecode/search/dfs.cpp index 81b4b4bfdd..4edfbe4d99 100644 --- a/gecode/search/dfs.cpp +++ b/gecode/search/dfs.cpp @@ -44,7 +44,7 @@ namespace Gecode { namespace Search { - Engine* + Engine* dfs(Space* s, const Options& o) { #ifdef GECODE_HAS_THREADS Options to = o.expand(); diff --git a/gecode/search/dfs.hpp b/gecode/search/dfs.hpp index a1fdaeefb9..a9692f52fd 100755 --- a/gecode/search/dfs.hpp +++ b/gecode/search/dfs.hpp @@ -35,25 +35,56 @@ * */ -namespace Gecode { +namespace Gecode { namespace Search { + + /// Create depth-first engine + GECODE_SEARCH_EXPORT Engine* + dfs(Space* s, const Options& o); + + /// A DFS engine builder + template + class DfsBuilder : public Builder { + using Builder::opt; + public: + /// The constructor + DfsBuilder(const Options& opt); + /// The actual build function + virtual Engine* operator() (Space* s) const; + }; - namespace Search { - /// Create depth-first engine - GECODE_SEARCH_EXPORT Engine* dfs(Space* s, const Options& o); + template + inline + DfsBuilder::DfsBuilder(const Options& opt) + : Builder(opt,DFS::best) {} + + template + Engine* + DfsBuilder::operator() (Space* s) const { + return build(s,opt); } +}} + +namespace Gecode { + template - forceinline + inline DFS::DFS(T* s, const Search::Options& o) - : Search::EngineBase(Search::dfs(s,o)) {} + : Search::Base(Search::dfs(s,o)) {} template - forceinline T* + inline T* dfs(T* s, const Search::Options& o) { DFS d(s,o); return d.next(); } + template + SEB + dfs(const Search::Options& o) { + return new Search::DfsBuilder(o); + } + } // STATISTICS: search-other diff --git a/gecode/search/engine.cpp b/gecode/search/engine.cpp index 706f559ae4..376f61b508 100755 --- a/gecode/search/engine.cpp +++ b/gecode/search/engine.cpp @@ -39,6 +39,11 @@ namespace Gecode { namespace Search { + void + Engine::constrain(const Space& b) { + (void) b; + throw NoBest("Engine::constrain"); + } void Engine::reset(Space* s) { (void) s; diff --git a/gecode/search/engine.hpp b/gecode/search/engine.hpp index 68857290a4..58d7b2c757 100755 --- a/gecode/search/engine.hpp +++ b/gecode/search/engine.hpp @@ -39,14 +39,6 @@ namespace Gecode { namespace Search { forceinline Engine::~Engine(void) {} - forceinline void* - Engine::operator new(size_t s) { - return heap.ralloc(s); - } - forceinline void - Engine::operator delete(void* p) { - heap.rfree(p); - } }} diff --git a/gecode/search/exception.cpp b/gecode/search/exception.cpp new file mode 100755 index 0000000000..d5d7e28a63 --- /dev/null +++ b/gecode/search/exception.cpp @@ -0,0 +1,57 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { + + UninitializedCutoff::UninitializedCutoff(const char* l) + : Exception(l,"Cutoff for restart-based search is missing") {} + + NoAssets::NoAssets(const char* l) + : Exception(l,"No assets requested in portfolio") {} + + MixedBest::MixedBest(const char* l) + : Exception(l,"Illegal combination of best and non-best solution search") + {} + + NoBest::NoBest(const char* l) + : Exception(l,"Best solution search is not supported") {} + +}} + +// STATISTICS: search-other diff --git a/gecode/search/exception.hpp b/gecode/search/exception.hpp index 7ff9af297b..e4d3e0bded 100755 --- a/gecode/search/exception.hpp +++ b/gecode/search/exception.hpp @@ -37,10 +37,36 @@ namespace Gecode { namespace Search { - inline - UninitializedCutoff::UninitializedCutoff(const char* l) - : Exception(l,"Cutoff for restart-based search is missing") {} - + /** + * \defgroup FuncThrowSearch %Search exceptions + * \ingroup FuncThrow + */ + //@{ + /// %Exception: Uninitialized cutoff for restart-based search + class GECODE_SEARCH_EXPORT UninitializedCutoff : public Exception { + public: + /// Initialize with location \a l + UninitializedCutoff(const char* l); + }; + /// %Exception: No assets requested for portfolio-based search + class GECODE_SEARCH_EXPORT NoAssets : public Exception { + public: + /// Initialize with location \a l + NoAssets(const char* l); + }; + /// %Exception: Mixed non-best and best solution search requested + class GECODE_SEARCH_EXPORT MixedBest : public Exception { + public: + /// Initialize with location \a l + MixedBest(const char* l); + }; + /// %Exception: Best solution search is not supported + class GECODE_SEARCH_EXPORT NoBest : public Exception { + public: + /// Initialize with location \a l + NoBest(const char* l); + }; + //@} }} // STATISTICS: search-other diff --git a/gecode/search/lds.cpp b/gecode/search/lds.cpp new file mode 100755 index 0000000000..b248f163ef --- /dev/null +++ b/gecode/search/lds.cpp @@ -0,0 +1,54 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004, 2016 + * + * Bugfixes provided by: + * Stefano Gualandi + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include +#include + +namespace Gecode { namespace Search { + + Engine* + lds(Space* s, const Options& o) { + return new Sequential::LDS(s,o); + } + +}} + +// STATISTICS: search-other diff --git a/gecode/search/lds.hpp b/gecode/search/lds.hpp new file mode 100755 index 0000000000..2d13bd2c6f --- /dev/null +++ b/gecode/search/lds.hpp @@ -0,0 +1,91 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Search { + + /// Create lds engine + GECODE_SEARCH_EXPORT Engine* + lds(Space* s, const Options& o); + + /// A DFS engine builder + template + class LdsBuilder : public Builder { + using Builder::opt; + public: + /// The constructor + LdsBuilder(const Options& opt); + /// The actual build function + virtual Engine* operator() (Space* s) const; + }; + + template + inline + LdsBuilder::LdsBuilder(const Options& opt) + : Builder(opt,LDS::best) {} + + template + Engine* + LdsBuilder::operator() (Space* s) const { + return build(s,opt); + } + + +}} + +namespace Gecode { + + template + forceinline + LDS::LDS(T* s, const Search::Options& o) + : Search::Base(Search::lds(s,o)) {} + + template + T* + lds(T* s, const Search::Options& o) { + LDS lds(s,o); + return lds.next(); + } + + template + SEB + lds(const Search::Options& o) { + return new Search::LdsBuilder(o); + } + +} + +// STATISTICS: search-other diff --git a/gecode/search/meta/dead.cpp b/gecode/search/meta/dead.cpp new file mode 100644 index 0000000000..1ee75d2743 --- /dev/null +++ b/gecode/search/meta/dead.cpp @@ -0,0 +1,62 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Meta { + + Dead::Dead(const Statistics& stat0) + : stat(stat0) {} + + Space* + Dead::next(void) { + return NULL; + } + + bool + Dead::stopped(void) const { + return false; + } + + Statistics + Dead::statistics(void) const { + return stat; + } + +}}} + +// STATISTICS: search-meta diff --git a/gecode/search/meta/dead.hh b/gecode/search/meta/dead.hh new file mode 100644 index 0000000000..2014f0117d --- /dev/null +++ b/gecode/search/meta/dead.hh @@ -0,0 +1,63 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __GECODE_SEARCH_META_DEAD_HH__ +#define __GECODE_SEARCH_META_DEAD_HH__ + +namespace Gecode { namespace Search { namespace Meta { + + /// A dead engine (failed root) + class GECODE_SEARCH_EXPORT Dead : public Engine { + protected: + /// Statistics + Statistics stat; + public: + /// Initialize + Dead(const Statistics& stat0); + /// Return next solution (NULL, if none exists or search has been stopped) + virtual Space* next(void); + /// Return statistics + virtual Statistics statistics(void) const; + /// Check whether engine has been stopped + virtual bool stopped(void) const; + }; + +}}} + +#endif + +// STATISTICS: search-meta diff --git a/gecode/search/meta/nogoods.cpp b/gecode/search/meta/nogoods.cpp index 6a63fc22af..6bfeb8b54d 100755 --- a/gecode/search/meta/nogoods.cpp +++ b/gecode/search/meta/nogoods.cpp @@ -48,7 +48,7 @@ namespace Gecode { namespace Search { namespace Meta { home.rfree(ngl,ngl->dispose(home)); return n; } - + void NoNGL::subscribe(Space&, Propagator&) { GECODE_NEVER; @@ -57,6 +57,10 @@ namespace Gecode { namespace Search { namespace Meta { NoNGL::cancel(Space&, Propagator&) { GECODE_NEVER; } + void + NoNGL::reschedule(Space&, Propagator&) { + GECODE_NEVER; + } NGL::Status NoNGL::status(const Space&) const { GECODE_NEVER; @@ -73,17 +77,30 @@ namespace Gecode { namespace Search { namespace Meta { return NULL; } - Actor* + Actor* NoGoodsProp::copy(Space& home, bool share) { return new (home) NoGoodsProp(home,share,*this); } - PropCost + PropCost NoGoodsProp::cost(const Space&, const ModEventDelta&) const { return PropCost::linear(PropCost::LO,n); } - ExecStatus + void + NoGoodsProp::reschedule(Space& home) { + root->reschedule(home,*this); + NGL* l = root->next(); + while ((l != NULL) && l->leaf()) { + l->reschedule(home,*this); + l = l->next(); + } + if (l != NULL) + l->reschedule(home,*this); + } + + + ExecStatus NoGoodsProp::propagate(Space& home, const ModEventDelta&) { restart: // Start with checking the first literal @@ -179,7 +196,7 @@ namespace Gecode { namespace Search { namespace Meta { return ES_NOFIX; } - size_t + size_t NoGoodsProp::dispose(Space& home) { if (home.failed()) { // This will be executed when one ngl returned true for notice() diff --git a/gecode/search/meta/nogoods.hh b/gecode/search/meta/nogoods.hh index 6d5a60d838..bf0f64e010 100755 --- a/gecode/search/meta/nogoods.hh +++ b/gecode/search/meta/nogoods.hh @@ -53,6 +53,8 @@ namespace Gecode { namespace Search { namespace Meta { NoNGL(Space& home, bool share, NoNGL& ngl); /// Subscribe propagator \a p to all views of the no-good literal virtual void subscribe(Space& home, Propagator& p); + /// Schedule propagator \a p for all views of the no-good literal + virtual void reschedule(Space& home, Propagator& p); /// Cancel propagator \a p from all views of the no-good literal virtual void cancel(Space& home, Propagator& p); /// Test the status of the no-good literal @@ -71,7 +73,7 @@ namespace Gecode { namespace Search { namespace Meta { /// Number of no-good literals with subscriptions unsigned int n; /// Constructor for creation - NoGoodsProp(Home home, NGL* root); + NoGoodsProp(Space& home, NGL* root); /// Constructor for cloning \a p NoGoodsProp(Space& home, bool shared, NoGoodsProp& p); public: @@ -79,6 +81,8 @@ namespace Gecode { namespace Search { namespace Meta { virtual Actor* copy(Space& home, bool share); /// Const function (defined as low unary) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for path \a p @@ -89,21 +93,21 @@ namespace Gecode { namespace Search { namespace Meta { }; forceinline - NoNGL::NoNGL(void) {} + NoNGL::NoNGL(void) {} forceinline - NoNGL::NoNGL(Space& home) + NoNGL::NoNGL(Space& home) : NGL(home) {} forceinline - NoNGL::NoNGL(Space& home, bool share, NoNGL& ngl) + NoNGL::NoNGL(Space& home, bool share, NoNGL& ngl) : NGL(home,share,ngl) {} forceinline - NoGoodsProp::NoGoodsProp(Home home, NGL* root0) - : Propagator(home), root(root0), n(0U) { + NoGoodsProp::NoGoodsProp(Space& home, NGL* root0) + : Propagator(Home(home)), root(root0), n(0U) { // Create subscriptions root->subscribe(home,*this); n++; bool notice = root->notice(); @@ -125,7 +129,7 @@ namespace Gecode { namespace Search { namespace Meta { } forceinline - NoGoodsProp::NoGoodsProp(Space& home, bool shared, NoGoodsProp& p) + NoGoodsProp::NoGoodsProp(Space& home, bool shared, NoGoodsProp& p) : Propagator(home,shared,p), n(p.n) { assert(p.root != NULL); NoNGL s; @@ -137,11 +141,11 @@ namespace Gecode { namespace Search { namespace Meta { } root = s.next(); } - + template - forceinline ExecStatus + forceinline ExecStatus NoGoodsProp::post(Space& home, const Path& p) { int s = 0; int n = std::min(p.ds.entries(),static_cast(p.ngdl())); @@ -181,13 +185,13 @@ namespace Gecode { namespace Search { namespace Meta { } // There are no literals - if (home.failed()) + if (home.failed()) return ES_FAILED; if (s >= n) return ES_OK; // There must be at least two literals - assert((n-s > 1) || + assert((n-s > 1) || ((n-s == 1) && (c != &nn))); // Remember the last leaf diff --git a/gecode/search/meta/parallel/pbs.cpp b/gecode/search/meta/parallel/pbs.cpp new file mode 100644 index 0000000000..ea2be6158e --- /dev/null +++ b/gecode/search/meta/parallel/pbs.cpp @@ -0,0 +1,49 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Parallel { + + bool + PortfolioStop::stop(const Statistics& s, const Options& o) { + return *tostop || ((so != NULL) && so->stop(s,o)); + } + +}}}} + +// STATISTICS: search-meta diff --git a/gecode/search/meta/parallel/pbs.hh b/gecode/search/meta/parallel/pbs.hh new file mode 100644 index 0000000000..f545f78356 --- /dev/null +++ b/gecode/search/meta/parallel/pbs.hh @@ -0,0 +1,186 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __GECODE_SEARCH_META_PARALLEL_PBS_HH__ +#define __GECODE_SEARCH_META_PARALLEL_PBS_HH__ + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Parallel { + + /// Stop object used for controling slaves in a portfolio + class GECODE_SEARCH_EXPORT PortfolioStop : public Stop { + private: + /// The stop object for the slaves + Stop* so; + /// Whether search must be stopped + volatile bool* tostop; + public: + /// Initialize + PortfolioStop(Stop* so); + /// Set pointer to shared \a tostop variable + void share(volatile bool* ts); + /// Return true if portfolio engine must be stopped + virtual bool stop(const Statistics& s, const Options& o); + /// Signal whether search must be stopped + void stop(bool s); + /// Whether search must be stopped + bool stop(void) const; + }; + + // Forward declaration + template + class PBS; + + /// Runnable slave of a portfolio master + template + class GECODE_SEARCH_EXPORT Slave : public Support::Runnable { + protected: + /// The master engine + PBS* master; + /// The slave engine + Engine* slave; + /// Stop object + Stop* stop; + public: + /// Initialize with master \a m, slave \a s, and its stop object \a so + Slave(PBS* m, Engine* s, Stop* so); + /// Return statistics of slave + Statistics statistics(void) const; + /// Check whether slave has been stopped + bool stopped(void) const; + /// Constrain with better solution \a b + void constrain(const Space& b); + /// Perform one run + virtual void run(void); + /// Delete slave + virtual ~Slave(void); + }; + + /// Collect all solutions + class CollectAll { + protected: + /// Queue of solutions + Support::DynamicQueue solutions; + public: + /// Whether it collects best solutions + static const bool best = false; + /// Initialize + CollectAll(void); + /// Add a solution \a a reported by \a r and always return true + bool add(Space* s, Slave* r); + /// Dummy function + bool constrain(const Space& b); + /// Check whether there is any solution left + bool empty(void) const; + /// Return solution reported by \a r + Space* get(Slave*& r); + /// Destructor + ~CollectAll(void); + }; + + /// Collect best solutions + class CollectBest { + protected: + /// Currently best solution + Space* b; + /// Who has reported the best solution (NULL if solution has already been reported) + Slave* reporter; + public: + /// Whether it collects best solutions + static const bool best = true; + /// Initialize + CollectBest(void); + /// Add a solution \a s by \a r and return whether is was better + bool add(Space* s, Slave* r); + /// Check whether \a b better and update accordingly + bool constrain(const Space& b); + /// Check whether there is any solution left + bool empty(void) const; + /// Return solution reported by \a r (only if a better one was found) + Space* get(Slave*& r); + /// Destructor + ~CollectBest(void); + }; + + /// Parallel portfolio engine implementation + template + class GECODE_SEARCH_EXPORT PBS : public Engine { + friend class Slave; + protected: + /// Master statistics + Statistics stat; + /// Slave engines + Slave** slaves; + /// Number of slave engines + unsigned int n_slaves; + /// Whether a slave has been stopped + bool slave_stop; + /// Shared stop flag + volatile bool tostop; + /// Collect solutions in this + Collect solutions; + /// Mutex for synchronization + Support::Mutex m; + /// Number of busy slaves + unsigned int n_busy; + /// Signal that number of busy slaves becomes zero + Support::Event idle; + /// Process report from slave, return false if solution was ignored + bool report(Slave* slave, Space* s); + public: + /// Initialize + PBS(Engine** s, Stop** so, unsigned int n, const Statistics& stat); + /// Return next solution (NULL, if none exists or search has been stopped) + virtual Space* next(void); + /// Return statistics + virtual Statistics statistics(void) const; + /// Check whether engine has been stopped + virtual bool stopped(void) const; + /// Constrain future solutions to be better than \a b + virtual void constrain(const Space& b); + /// Destructor + virtual ~PBS(void); + }; + +}}}} + +#include + +#endif + +// STATISTICS: search-meta diff --git a/gecode/search/meta/parallel/pbs.hpp b/gecode/search/meta/parallel/pbs.hpp new file mode 100644 index 0000000000..49070c166a --- /dev/null +++ b/gecode/search/meta/parallel/pbs.hpp @@ -0,0 +1,290 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Search { namespace Meta { namespace Parallel { + + + forceinline + CollectAll::CollectAll(void) + : solutions(heap) {} + forceinline bool + CollectAll::add(Space* s, Slave*) { + solutions.push(s); + return true; + } + forceinline bool + CollectAll::constrain(const Space& b) { + (void) b; + return false; + } + forceinline bool + CollectAll::empty(void) const { + return solutions.empty(); + } + forceinline Space* + CollectAll::get(Slave*&) { + return solutions.pop(); + } + forceinline + CollectAll::~CollectAll(void) { + } + + + forceinline + CollectBest::CollectBest(void) + : b(NULL), reporter(NULL) {} + forceinline bool + CollectBest::add(Space* s, Slave* r) { + if (b != NULL) { + b->constrain(*s); + if (b->status() == SS_FAILED) { + delete b; + } else { + delete s; + return false; + } + } + b = s; + reporter = r; + return true; + } + forceinline bool + CollectBest::constrain(const Space& s) { + if (b != NULL) { + b->constrain(s); + if (b->status() == SS_FAILED) { + delete b; + } else { + return false; + } + } + b = s.clone(false); + reporter = NULL; + return true; + } + forceinline bool + CollectBest::empty(void) const { + return reporter == NULL; + } + forceinline Space* + CollectBest::get(Slave*& r) { + assert(!empty()); + r = reporter; + reporter = NULL; + return b->clone(false); + } + forceinline + CollectBest::~CollectBest(void) { + delete b; + } + + + forceinline + PortfolioStop::PortfolioStop(Stop* so0) + : so(so0), tostop(NULL) {} + + forceinline void + PortfolioStop::share(volatile bool* ts) { + tostop = ts; + } + + + template + forceinline + Slave::Slave(PBS* m, Engine* s, Stop* so) + : Support::Runnable(false), master(m), slave(s), stop(so) {} + template + forceinline Statistics + Slave::statistics(void) const { + return slave->statistics(); + } + template + forceinline bool + Slave::stopped(void) const { + return slave->stopped(); + } + template + forceinline void + Slave::constrain(const Space& b) { + slave->constrain(b); + } + template + Slave::~Slave(void) { + delete slave; + delete stop; + } + + + + template + forceinline + PBS::PBS(Engine** engines, Stop** stops, unsigned int n, + const Statistics& stat0) + : stat(stat0), slaves(heap.alloc*>(n)), n_slaves(n), + slave_stop(false), tostop(false), n_busy(0) { + // Initialize slaves + for (unsigned int i=n_slaves; i--; ) { + slaves[i] = new Slave(this,engines[i],stops[i]); + static_cast(stops[i])->share(&tostop); + } + } + + template + forceinline bool + PBS::report(Slave* slave, Space* s) { + // If b is false the report should be repeated (solution was worse) + bool b = true; + m.acquire(); + if (s != NULL) { + b = solutions.add(s,slave); + if (b) + tostop = true; + } else if (slave->stopped()) { + if (!tostop) + slave_stop = true; + } else { + // Delete slave from slaves + stat += slave->statistics(); + // Do not actually delete, the thread should do that upon termination + slave->todelete(true); + unsigned int i=0; + while (slaves[i] != slave) + i++; + assert(i < n_slaves); + slaves[i] = slaves[--n_slaves]; + } + if (b) { + if (--n_busy == 0) + idle.signal(); + } + m.release(); + return b; + } + + template + void + Slave::run(void) { + Space* s; + do { + s = slave->next(); + } while (!master->report(this,s)); + } + + template + Space* + PBS::next(void) { + m.acquire(); + if (solutions.empty()) { + // Clear all + tostop = false; + slave_stop = false; + + // Invariant: all slaves are idle! + assert(n_busy == 0); + assert(!tostop); + + if (n_slaves > 0) { + // Run all slaves + n_busy = n_slaves; + for (unsigned int i=n_slaves; i--; ) + Support::Thread::run(slaves[i]); + m.release(); + // Wait for all slaves to become idle + idle.wait(); + m.acquire(); + } + } + + // Invariant all slaves are idle! + assert(n_busy == 0); + + Space* s; + + // Process solutions + if (solutions.empty()) { + s = NULL; + } else { + Slave* r; + s = solutions.get(r); + if (Collect::best) + for (unsigned int i=n_slaves; i--; ) + if (slaves[i] != r) + slaves[i]->constrain(*s); + } + + m.release(); + return s; + } + + template + bool + PBS::stopped(void) const { + return slave_stop; + } + + template + Statistics + PBS::statistics(void) const { + Statistics s(stat); + for (unsigned int i=n_slaves; i--; ) + s += slaves[i]->statistics(); + return s; + } + + template + void + PBS::constrain(const Space& b) { + if (!Collect::best) + throw NoBest("PBS::constrain"); + if (solutions.constrain(b)) { + // The solution is better + for (unsigned int i=n_slaves; i--; ) + slaves[i]->constrain(b); + } + } + + template + PBS::~PBS(void) { + for (unsigned int i=n_slaves; i--; ) + delete slaves[i]; + // Note that n_slaves might be different now! + heap.rfree(slaves); + } + +}}}} + +// STATISTICS: search-meta diff --git a/gecode/search/meta/rbs.cpp b/gecode/search/meta/rbs.cpp index c6c6f73f9c..dc0030e5d3 100644 --- a/gecode/search/meta/rbs.cpp +++ b/gecode/search/meta/rbs.cpp @@ -36,19 +36,14 @@ */ -#include +#include namespace Gecode { namespace Search { namespace Meta { - /* - * Stopping for meta search engines - * - */ - - bool + bool RestartStop::stop(const Statistics& s, const Options& o) { - // Stop if the fail stop object for the engine says so - if (e_stop->stop(s,o)) { + // Stop if the fail limit for the engine says so + if (s.fail > l) { e_stopped = true; m_stat.restart++; return true; @@ -70,8 +65,8 @@ namespace Gecode { namespace Search { namespace Meta { NoGoods& ng = e->nogoods(); // Reset number of no-goods found ng.ng(0); - CRI cri(stop->m_stat.restart,sslr,e->statistics().fail,last,ng); - bool r = master->master(cri); + MetaInfo mi(stop->m_stat.restart,sslr,e->statistics().fail,last,ng); + bool r = master->master(mi); stop->m_stat.nogood += ng.ng(); if (master->status(stop->m_stat) == SS_FAILED) { stop->update(e->statistics()); @@ -82,8 +77,8 @@ namespace Gecode { namespace Search { namespace Meta { } else if (r) { stop->update(e->statistics()); Space* slave = master; - master = master->clone(shared); - complete = slave->slave(cri); + master = master->clone(shared_data,shared_info); + complete = slave->slave(mi); e->reset(slave); sslr = 0; stop->m_stat.restart++; @@ -104,16 +99,16 @@ namespace Gecode { namespace Search { namespace Meta { sslr = 0; NoGoods& ng = e->nogoods(); ng.ng(0); - CRI cri(stop->m_stat.restart,sslr,e->statistics().fail,last,ng); - (void) master->master(cri); + MetaInfo mi(stop->m_stat.restart,sslr,e->statistics().fail,last,ng); + (void) master->master(mi); stop->m_stat.nogood += ng.ng(); long unsigned int nl = ++(*co); stop->limit(e->statistics(),nl); if (master->status(stop->m_stat) == SS_FAILED) return NULL; Space* slave = master; - master = master->clone(shared); - complete = slave->slave(cri); + master = master->clone(shared_data,shared_info); + complete = slave->slave(mi); e->reset(slave); } else { return NULL; @@ -122,12 +117,29 @@ namespace Gecode { namespace Search { namespace Meta { GECODE_NEVER; return NULL; } - + Search::Statistics RBS::statistics(void) const { return stop->metastatistics()+e->statistics(); } - + + void + RBS::constrain(const Space& b) { + if (!best) + throw NoBest("RBS::constrain"); + if (last != NULL) { + last->constrain(b); + if (last->status() == SS_FAILED) { + delete last; + } else { + return; + } + } + last = b.clone(); + master->constrain(b); + e->constrain(b); + } + bool RBS::stopped(void) const { /* @@ -137,15 +149,15 @@ namespace Gecode { namespace Search { namespace Meta { * invocation of next will do so and no restart will be * missed. */ - return e->stopped(); + return e->stopped(); } - + RBS::~RBS(void) { - // Deleting e also deletes stop delete e; delete master; delete last; delete co; + delete stop; } }}} diff --git a/gecode/search/meta/rbs.hh b/gecode/search/meta/rbs.hh index c36939e139..38d842ec21 100644 --- a/gecode/search/meta/rbs.hh +++ b/gecode/search/meta/rbs.hh @@ -46,11 +46,11 @@ namespace Gecode { namespace Search { namespace Meta { /// %Stop-object for restart engine class GECODE_SEARCH_EXPORT RestartStop : public Stop { - templateclass,class> friend class ::Gecode::RBS; + templateclass> friend class ::Gecode::RBS; friend class ::Gecode::Search::Meta::RBS; private: - /// The failure stop object for the engine - FailStop* e_stop; + /// The failure limit for the engine + unsigned long int l; /// The stop object for the meta engine Stop* m_stop; /// Whether the engine was stopped @@ -63,17 +63,13 @@ namespace Gecode { namespace Search { namespace Meta { /// Return true if meta engine must be stopped virtual bool stop(const Statistics& s, const Options& o); /// Set current limit for the engine to \a l fails - void limit(const Search::Statistics& s, unsigned long int l); + void limit(const Statistics& s, unsigned long int l); /// Update statistics void update(const Search::Statistics& s); - /// Return the stop object to control the engine - Stop* enginestop(void) const; /// Return whether the engine has been stopped bool enginestopped(void) const; /// Return statistics for the meta engine Statistics metastatistics(void) const; - /// Delete object - ~RestartStop(void); }; /// Engine for restart-based search @@ -91,80 +87,36 @@ namespace Gecode { namespace Search { namespace Meta { RestartStop* stop; /// How many solutions since the last restart unsigned long int sslr; - /// Whether the slave can be shared with the master - bool shared; + /// Whether the slave can share data with the master + bool shared_data; + /// Whether the slave can share info (AFC) with the master + bool shared_info; /// Whether search for the next solution will be complete bool complete; /// Whether a restart must be performed when next is called bool restart; + /// Whether the engine performs best solution search + bool best; public: /// Constructor - RBS(Space* s, RestartStop* stop0, Engine* e0, const Options& o); + RBS(Space* s, RestartStop* stop0, Engine* e0, + const Search::Statistics& stat, const Options& o, bool best); /// Return next solution (NULL, if none exists or search has been stopped) virtual Space* next(void); /// Return statistics - virtual Search::Statistics statistics(void) const; + virtual Statistics statistics(void) const; /// Check whether engine has been stopped virtual bool stopped(void) const; + /// Constrain future solutions to be better than \a b + virtual void constrain(const Space& b); /// Destructor virtual ~RBS(void); }; - /* - * Stopping for meta search engines - * - */ - - forceinline - RestartStop::RestartStop(Stop* s) - : e_stop(new FailStop(0)), m_stop(s), e_stopped(false) {} - - forceinline void - RestartStop::limit(const Search::Statistics& s, unsigned long int l) { - m_stat += s; - e_stopped = false; - e_stop->limit(l); - } - - forceinline void - RestartStop::update(const Search::Statistics& s) { - m_stat += s; - } - - forceinline Stop* - RestartStop::enginestop(void) const { - return e_stop; - } - - forceinline bool - RestartStop::enginestopped(void) const { - return e_stopped; - } - - forceinline Statistics - RestartStop::metastatistics(void) const { - return m_stat; - } - - forceinline - RestartStop::~RestartStop(void) { - delete e_stop; - delete m_stop; - } - - - - forceinline - RBS::RBS(Space* s, RestartStop* stop0, - Engine* e0, const Options& opt) - : e(e0), master(s), last(NULL), co(opt.cutoff), stop(stop0), - sslr(0), - shared(opt.threads == 1), complete(true), restart(false) { - stop->limit(Statistics(),(*co)()); - } - }}} +#include + #endif // STATISTICS: search-meta diff --git a/gecode/search/meta/rbs.hpp b/gecode/search/meta/rbs.hpp new file mode 100644 index 0000000000..1a0a1ec312 --- /dev/null +++ b/gecode/search/meta/rbs.hpp @@ -0,0 +1,81 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Guido Tack + * + * Copyright: + * Guido Tack, 2012 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + + +namespace Gecode { namespace Search { namespace Meta { + + forceinline + RestartStop::RestartStop(Stop* s) + : l(0), m_stop(s), e_stopped(false) {} + + forceinline void + RestartStop::limit(const Search::Statistics& s, unsigned long int l0) { + l = l0; + m_stat += s; + e_stopped = false; + } + + forceinline void + RestartStop::update(const Search::Statistics& s) { + m_stat += s; + } + + forceinline bool + RestartStop::enginestopped(void) const { + return e_stopped; + } + + forceinline Statistics + RestartStop::metastatistics(void) const { + return m_stat; + } + + + forceinline + RBS::RBS(Space* s, RestartStop* stop0, + Engine* e0, const Search::Statistics& stat, const Options& opt, + bool best0) + : e(e0), master(s), last(NULL), co(opt.cutoff), stop(stop0), + sslr(0), + shared_data(opt.threads <= 1.0), shared_info(opt.share_rbs), + complete(true), restart(false), best(best0) { + stop->limit(stat,(*co)()); + } + +}}} + +// STATISTICS: search-meta diff --git a/gecode/search/meta/sequential/pbs.cpp b/gecode/search/meta/sequential/pbs.cpp new file mode 100644 index 0000000000..7e3b7d3caa --- /dev/null +++ b/gecode/search/meta/sequential/pbs.cpp @@ -0,0 +1,53 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Sequential { + + bool + PortfolioStop::stop(const Statistics& s, const Options& o) { + if (s.fail >= ssi->l) { + ssi->done = true; + return true; + } + return (so != NULL) && so->stop(s,o); + } + +}}}} + +// STATISTICS: search-meta diff --git a/gecode/search/meta/sequential/pbs.hh b/gecode/search/meta/sequential/pbs.hh new file mode 100644 index 0000000000..9372e9fcaf --- /dev/null +++ b/gecode/search/meta/sequential/pbs.hh @@ -0,0 +1,134 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __GECODE_SEARCH_META_SEQUENTIAL_PBS_HH__ +#define __GECODE_SEARCH_META_SEQUENTIAL_PBS_HH__ + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Sequential { + + /// Shared stop information + class SharedStopInfo { + public: + /// Whether search stopped because the slice is done + bool done; + /// The current failure limit, incremented for each slice + unsigned long int l; + }; + + /// Stop object used for controling slaves in a portfolio + class GECODE_SEARCH_EXPORT PortfolioStop : public Stop { + private: + /// The stop object for the slaves + Stop* so; + /// Pointer to shared stop information + SharedStopInfo* ssi; + public: + /// Initialize + PortfolioStop(Stop* so); + /// Intialize shared stop information + void share(SharedStopInfo* ssi); + /// Return true if portfolio engine must be stopped + virtual bool stop(const Statistics& s, const Options& o); + }; + + /// Runnable slave of a portfolio master + class Slave { + protected: + /// The slave engine + Engine* slave; + /// Stop object + Stop* stop; + public: + /// Initialize with slave \a s and its stop object \a so + void init(Engine* s, Stop* so); + /// Return next solution + Space* next(void); + /// Return statistics of slave + Statistics statistics(void) const; + /// Check whether slave has been stopped + bool stopped(void) const; + /// Constrain with better solution \a b + void constrain(const Space& b); + /// Perform one run + void run(void); + /// Delete slave + ~Slave(void); + }; + + /// Sequential portfolio engine implementation + template + class GECODE_SEARCH_EXPORT PBS : public Engine { + protected: + /// Master statistics + Statistics stat; + /// Shared slave information + SharedStopInfo ssi; + /// Size of a slice + unsigned int slice; + /// Slaves + Slave* slaves; + /// Number of slave engines + unsigned int n_slaves; + /// Current slave to run + unsigned int cur; + /// Whether a slave has been stopped + bool slave_stop; + public: + /// Initialize + PBS(Engine** slaves, Stop** stops, unsigned int n, + const Statistics& stat, const Search::Options& opt); + /// Return next solution (NULL, if none exists or search has been stopped) + virtual Space* next(void); + /// Return statistics + virtual Statistics statistics(void) const; + /// Check whether engine has been stopped + virtual bool stopped(void) const; + /// Constrain future solutions to be better than \a b + virtual void constrain(const Space& b); + /// Destructor + virtual ~PBS(void); + }; + +}}}} + +#include + +#endif + +// STATISTICS: search-meta diff --git a/gecode/search/meta/sequential/pbs.hpp b/gecode/search/meta/sequential/pbs.hpp new file mode 100644 index 0000000000..5f7b97397a --- /dev/null +++ b/gecode/search/meta/sequential/pbs.hpp @@ -0,0 +1,172 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Sequential { + + + forceinline + PortfolioStop::PortfolioStop(Stop* so0) + : so(so0) {} + forceinline void + PortfolioStop::share(SharedStopInfo* ssi0) { + ssi = ssi0; + } + + + forceinline void + Slave::init(Engine* e, Stop* s) { + slave = e; stop = s; + } + forceinline Space* + Slave::next(void) { + return slave->next(); + } + forceinline Statistics + Slave::statistics(void) const { + return slave->statistics(); + } + forceinline bool + Slave::stopped(void) const { + return slave->stopped(); + } + forceinline void + Slave::constrain(const Space& b) { + slave->constrain(b); + } + forceinline + Slave::~Slave(void) { + delete slave; + delete stop; + } + + + template + forceinline + PBS::PBS(Engine** e, Stop** s, unsigned int n, + const Statistics& stat0, + const Search::Options& opt) + : stat(stat0), slice(opt.slice), + slaves(heap.alloc(n)), n_slaves(n), cur(0), + slave_stop(false) { + ssi.done = false; + ssi.l = opt.slice; + for (unsigned int i=n; i--; ) { + slaves[i].init(e[i],static_cast(s[i])); + static_cast(s[i])->share(&ssi); + } + } + + template + Space* + PBS::next(void) { + slave_stop = false; + unsigned int n_exhausted = 0; + while (n_slaves > 0) { + if (Space* s = slaves[cur].next()) { + // Constrain other slaves + if (best) { + for (unsigned int i=0; i + bool + PBS::stopped(void) const { + return slave_stop; + } + + template + Statistics + PBS::statistics(void) const { + Statistics s(stat); + for (unsigned int i=n_slaves; i--; ) + s += slaves[i].statistics(); + return s; + } + + template + void + PBS::constrain(const Space& b) { + if (!best) + throw NoBest("PBS::constrain"); + for (unsigned int i=0; i + PBS::~PBS(void) { + for (unsigned int i=n_slaves; i--; ) + slaves[i].~Slave(); + // Note that n_slaves might be different now! + heap.rfree(slaves); + } + +}}}} + +// STATISTICS: search-meta diff --git a/gecode/search/options.hpp b/gecode/search/options.hpp index 539f3aaee2..35023eda19 100755 --- a/gecode/search/options.hpp +++ b/gecode/search/options.hpp @@ -39,10 +39,12 @@ namespace Gecode { namespace Search { forceinline Options::Options(void) - : clone(Config::clone), - threads(Config::threads), - c_d(Config::c_d), a_d(Config::a_d), - nogoods_limit(0), + : clone(Config::clone), + threads(Config::threads), + c_d(Config::c_d), a_d(Config::a_d), + d_l(Config::d_l), + share_rbs(true), share_pbs(false), + assets(0), slice(Config::slice), nogoods_limit(0), stop(NULL), cutoff(NULL) {} }} diff --git a/gecode/search/parallel/bab.cpp b/gecode/search/parallel/bab.cpp index 63b4735d4d..35f718b08e 100755 --- a/gecode/search/parallel/bab.cpp +++ b/gecode/search/parallel/bab.cpp @@ -46,7 +46,7 @@ namespace Gecode { namespace Search { namespace Parallel { /* * Statistics */ - Statistics + Statistics BAB::statistics(void) const { Statistics s; for (unsigned int i=0; iconstrain(b); + if (best->status() != SS_FAILED) { + m_search.release(); + return; + } + delete best; + } + best = b.clone(); + // Announce better solutions + for (unsigned int i=0; ibetter(best); + m_search.release(); + } + /* * Actual work */ diff --git a/gecode/search/parallel/bab.hh b/gecode/search/parallel/bab.hh index e285a05c3a..e8b1a5496d 100644 --- a/gecode/search/parallel/bab.hh +++ b/gecode/search/parallel/bab.hh @@ -90,6 +90,9 @@ namespace Gecode { namespace Search { namespace Parallel { virtual Statistics statistics(void) const; /// Reset engine to restart at space \a s virtual void reset(Space* s); + /// Constrain future solutions to be better than \a b + virtual void constrain(const Space& b); + /// Constrain /// Return no-goods virtual NoGoods& nogoods(void); /// Destructor @@ -169,7 +172,7 @@ namespace Gecode { namespace Search { namespace Parallel { cur->constrain(*best); m.release(); } - forceinline void + forceinline void BAB::solution(Space* s) { m_search.acquire(); if (best != NULL) { @@ -194,7 +197,7 @@ namespace Gecode { namespace Search { namespace Parallel { e_search.signal(); m_search.release(); } - + /* * Worker: finding and stealing working diff --git a/gecode/search/parallel/dfs.cpp b/gecode/search/parallel/dfs.cpp index 2a5bcb9037..d9b91668a3 100644 --- a/gecode/search/parallel/dfs.cpp +++ b/gecode/search/parallel/dfs.cpp @@ -46,7 +46,7 @@ namespace Gecode { namespace Search { namespace Parallel { /* * Statistics */ - Statistics + Statistics DFS::statistics(void) const { Statistics s; for (unsigned int i=0; i(opt().threads); } + forceinline bool + Engine::stopped(void) const { + return has_stopped; + } + /* @@ -218,17 +223,17 @@ namespace Gecode { namespace Search { namespace Parallel { Engine::cmd(void) const { return _cmd; } - forceinline void + forceinline void Engine::block(void) { _cmd = C_WAIT; _m_wait.acquire(); } - forceinline void + forceinline void Engine::release(Cmd c) { _cmd = c; _m_wait.release(); } - forceinline void + forceinline void Engine::wait(void) { _m_wait.acquire(); _m_wait.release(); } @@ -239,8 +244,8 @@ namespace Gecode { namespace Search { namespace Parallel { */ forceinline Engine::Worker::Worker(Space* s, Engine& e) - : _engine(e), - path(s == NULL ? 0 : e.opt().nogoods_limit), d(0), + : _engine(e), + path(s == NULL ? 0 : e.opt().nogoods_limit), d(0), idle(false) { if (s != NULL) { if (s->status(*this) == SS_FAILED) { @@ -289,7 +294,7 @@ namespace Gecode { namespace Search { namespace Parallel { Engine::signal(void) const { return solutions.empty() && (n_busy > 0) && !has_stopped; } - forceinline void + forceinline void Engine::idle(void) { m_search.acquire(); bool bs = signal(); @@ -298,14 +303,14 @@ namespace Gecode { namespace Search { namespace Parallel { e_search.signal(); m_search.release(); } - forceinline void + forceinline void Engine::busy(void) { m_search.acquire(); assert(n_busy > 0); n_busy++; m_search.release(); } - forceinline void + forceinline void Engine::stop(void) { m_search.acquire(); bool bs = signal(); @@ -314,24 +319,24 @@ namespace Gecode { namespace Search { namespace Parallel { e_search.signal(); m_search.release(); } - + /* * Engine: termination control */ - forceinline void + forceinline void Engine::terminated(void) { unsigned int n; _m_term.acquire(); n = --_n_not_terminated; _m_term.release(); - // The signal must be outside of the look, otherwise a thread might be + // The signal must be outside of the look, otherwise a thread might be // terminated that still holds a mutex. if (n == 0) _e_terminate.signal(); } - forceinline void + forceinline void Engine::ack_terminate(void) { _m_term.acquire(); if (--_n_term_not_ack == 0) @@ -339,7 +344,7 @@ namespace Gecode { namespace Search { namespace Parallel { _m_term.release(); } - forceinline void + forceinline void Engine::wait_terminate(void) { _m_wait_terminate.acquire(); _m_wait_terminate.release(); @@ -354,7 +359,7 @@ namespace Gecode { namespace Search { namespace Parallel { // Wait until all threads have acknowledged termination request _e_term_ack.wait(); // Release waiting threads - _m_wait_terminate.release(); + _m_wait_terminate.release(); // Wait until all threads have in fact terminated _e_terminate.wait(); // Now all threads are terminated! @@ -365,7 +370,7 @@ namespace Gecode { namespace Search { namespace Parallel { /* * Engine: reset control */ - forceinline void + forceinline void Engine::ack_reset_start(void) { _m_reset.acquire(); if (--_n_reset_not_ack == 0) @@ -373,7 +378,7 @@ namespace Gecode { namespace Search { namespace Parallel { _m_reset.release(); } - forceinline void + forceinline void Engine::ack_reset_stop(void) { _m_reset.acquire(); if (++_n_reset_not_ack == workers()) @@ -381,7 +386,7 @@ namespace Gecode { namespace Search { namespace Parallel { _m_reset.release(); } - forceinline void + forceinline void Engine::wait_reset(void) { m_wait_reset.acquire(); m_wait_reset.release(); @@ -406,7 +411,7 @@ namespace Gecode { namespace Search { namespace Parallel { Space* s = path.steal(*this,d); m.release(); // Tell that there will be one more busy worker - if (s != NULL) + if (s != NULL) engine().busy(); return s; } diff --git a/gecode/search/parallel/path.hh b/gecode/search/parallel/path.hh index e1cfaf8829..a316c9a220 100755 --- a/gecode/search/parallel/path.hh +++ b/gecode/search/parallel/path.hh @@ -77,15 +77,15 @@ namespace Gecode { namespace Search { namespace Parallel { Edge(void); /// Edge for space \a s with clone \a c (possibly NULL) Edge(Space* s, Space* c); - + /// Return space for edge Space* space(void) const; /// Set space to \a s void space(Space* s); - + /// Return choice const Choice* choice(void) const; - + /// Return number for alternatives unsigned int alt(void) const; /// Return true number for alternatives (excluding lao optimization) @@ -100,7 +100,7 @@ namespace Gecode { namespace Search { namespace Parallel { void next(void); /// Steal rightmost alternative and return its number unsigned int steal(void); - + /// Free memory for edge void dispose(void); }; @@ -132,7 +132,7 @@ namespace Gecode { namespace Search { namespace Parallel { void unwind(int l); /// Commit space \a s as described by stack entry at position \a i void commit(Space* s, int i) const; - /// Recompute space according to path + /// Recompute space according to path Space* recompute(unsigned int& d, unsigned int a_d, Worker& s); /// Recompute space according to path Space* recompute(unsigned int& d, unsigned int a_d, Worker& s, @@ -222,7 +222,7 @@ namespace Gecode { namespace Search { namespace Parallel { */ forceinline - Path::Path(unsigned int l) + Path::Path(unsigned int l) : ds(heap), _ngdl(l), n_work(0) {} forceinline unsigned int diff --git a/gecode/search/pbs.cpp b/gecode/search/pbs.cpp new file mode 100644 index 0000000000..9597232127 --- /dev/null +++ b/gecode/search/pbs.cpp @@ -0,0 +1,82 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Sequential { + + Stop* + stop(Stop* so) { + return new PortfolioStop(so); + } + + Engine* + engine(Engine** slaves, Stop** stops, unsigned int n_slaves, + const Statistics& stat, const Search::Options& opt, bool best) { + if (best) + return new PBS(slaves,stops,n_slaves,stat,opt); + else + return new PBS(slaves,stops,n_slaves,stat,opt); + } + +}}}} + +#ifdef GECODE_HAS_THREADS + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Parallel { + + Stop* + stop(Stop* so) { + return new PortfolioStop(so); + } + + Engine* + engine(Engine** slaves, Stop** stops, unsigned int n_slaves, + const Statistics& stat, bool best) { + if (best) + return new PBS(slaves,stops,n_slaves,stat); + else + return new PBS(slaves,stops,n_slaves,stat); + } + +}}}} + +#endif + +// STATISTICS: search-meta diff --git a/gecode/search/pbs.hpp b/gecode/search/pbs.hpp new file mode 100644 index 0000000000..fee940aa0b --- /dev/null +++ b/gecode/search/pbs.hpp @@ -0,0 +1,335 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { namespace Search { + + /// A PBS engine builder + template class E> + class PbsBuilder : public Builder { + using Builder::opt; + public: + /// The constructor + PbsBuilder(const Options& opt); + /// The actual build function + virtual Engine* operator() (Space* s) const; + }; + + template class E> + inline + PbsBuilder::PbsBuilder(const Options& opt) + : Builder(opt,E::best) {} + + template class E> + Engine* + PbsBuilder::operator() (Space* s) const { + return build >(s,opt); + } + +}} + +#include + +namespace Gecode { namespace Search { namespace Meta { namespace Sequential { + + /// Create stop object + GECODE_SEARCH_EXPORT Stop* + stop(Stop* so); + + /// Create sequential portfolio engine + GECODE_SEARCH_EXPORT Engine* + engine(Engine** slaves, Stop** stops, unsigned int n_slaves, + const Statistics& stat, const Search::Options& opt, bool best); + +}}}} + +namespace Gecode { namespace Search { namespace Meta { namespace Parallel { + + /// Create stop object + GECODE_SEARCH_EXPORT Stop* + stop(Stop* so); + + /// Create parallel portfolio engine + GECODE_SEARCH_EXPORT Engine* + engine(Engine** slaves, Stop** stops, unsigned int n_slaves, + const Statistics& stat, bool best); + +}}}} + +namespace Gecode { namespace Search { namespace Meta { + + template class E> + Engine* + sequential(T* master, const Search::Statistics& stat, Options& opt) { + Stop* stop = opt.stop; + Region r(*master); + + // In case there are more threads than assets requested + opt.threads = std::max(floor(opt.threads / + static_cast(opt.assets)),1.0); + + unsigned int n_slaves = opt.assets; + Engine** slaves = r.alloc(n_slaves); + Stop** stops = r.alloc(n_slaves); + + for (unsigned int i=0; iclone(opt.threads <= 1.0,opt.share_pbs); + (void) slave->slave(i); + slaves[i] = build(slave,opt); + } + + return Sequential::engine(slaves,stops,n_slaves,stat,opt,E::best); + } + + template class E> + Engine* + sequential(T* master, SEBs& sebs, + const Search::Statistics& stat, Options& opt, bool best) { + Region r(*master); + + int n_slaves = sebs.size(); + Engine** slaves = r.alloc(n_slaves); + Stop** stops = r.alloc(n_slaves); + + for (int i=0; ioptions().stop); + sebs[i]->options().stop = stops[i]; + sebs[i]->options().clone = false; + Space* slave = (i == n_slaves-1) ? + master : master->clone(sebs[i]->options().threads <= 1.0, + sebs[i]->options().share_pbs); + (void) slave->slave(i); + slaves[i] = (*sebs[i])(slave); + delete sebs[i]; + } + + return Sequential::engine(slaves,stops,n_slaves,stat,opt,best); + } + +#ifdef GECODE_HAS_THREADS + + template class E> + Engine* + parallel(T* master, const Search::Statistics& stat, Options& opt) { + Stop* stop = opt.stop; + Region r(*master); + + // Limit the number of slaves to the number of threads + unsigned int n_slaves = std::min(static_cast(opt.threads), + opt.assets); + // Redistribute additional threads to slaves + opt.threads = floor(opt.threads / static_cast(n_slaves)); + + Engine** slaves = r.alloc(n_slaves); + Stop** stops = r.alloc(n_slaves); + + for (unsigned int i=0; iclone(false,opt.share_pbs); + (void) slave->slave(i); + slaves[i] = build(slave,opt); + } + + return Parallel::engine(slaves,stops,n_slaves,stat,E::best); + } + + template class E> + Engine* + parallel(T* master, SEBs& sebs, + const Search::Statistics& stat, Options& opt, bool best) { + Region r(*master); + + // Limit the number of slaves to the number of threads + int n_slaves = std::min(static_cast(opt.threads), + sebs.size()); + Engine** slaves = r.alloc(n_slaves); + Stop** stops = r.alloc(n_slaves); + + for (int i=0; ioptions().stop); + sebs[i]->options().stop = stops[i]; + sebs[i]->options().clone = false; + Space* slave = (i == n_slaves-1) ? + master : master->clone(false,sebs[i]->options().share_pbs); + (void) slave->slave(i); + slaves[i] = (*sebs[i])(slave); + delete sebs[i]; + } + // Delete excess builders + for (int i=n_slaves; i class E> + PBS::PBS(T* s, const Search::Options& o) { + Search::Options opt(o.expand()); + + if (opt.assets == 0) + throw Search::NoAssets("PBS::PBS"); + + Search::Statistics stat; + + if (s->status(stat) == SS_FAILED) { + stat.fail++; + if (!opt.clone) + delete s; + e = new Search::Meta::Dead(stat); + return; + } + + // Check whether a clone must be used + T* master = opt.clone ? + dynamic_cast(s->clone(opt.threads <= 1.0,opt.share_pbs)) : s; + opt.clone = false; + + // Always execute master function + (void) master->master(0); + + // No need to create a portfolio engine but must run slave function + if (o.assets == 1) { + (void) master->slave(0); + e = Search::build(master,opt); + return; + } + +#ifdef GECODE_HAS_THREADS + if (opt.threads > 1.0) + e = Search::Meta::parallel(master,stat,opt); + else +#endif + e = Search::Meta::sequential(master,stat,opt); + } + + template class E> + void + PBS::build(T* s, SEBs& sebs, const Search::Options& o) { + // Check whether all sebs do either best solution search or not + bool best; + { + int b = 0; + for (int i=sebs.size(); i--; ) + b += sebs[i]->best() ? 1 : 0; + if ((b > 0) && (b < sebs.size())) + throw Search::MixedBest("PBS::PBS"); + best = (b == sebs.size()); + } + + Search::Options opt(o.expand()); + Search::Statistics stat; + + if (s->status(stat) == SS_FAILED) { + stat.fail++; + if (!opt.clone) + delete s; + e = new Search::Meta::Dead(stat); + return; + } + + // Check whether a clone must be used + T* master = opt.clone ? + dynamic_cast(s->clone(opt.threads <= 1.0,opt.share_pbs)) : s; + opt.clone = false; + + // Always execute master function + (void) master->master(0); + +#ifdef GECODE_HAS_THREADS + if (opt.threads > 1.0) + e = Search::Meta::parallel(master,sebs,stat,opt,best); + else +#endif + e = Search::Meta::sequential(master,sebs,stat,opt,best); + } + + template class E> + inline + PBS::PBS(T* s, SEBs& sebs, const Search::Options& o) { + build(s,sebs,o); + } + template class E> + inline + PBS::PBS(T* s, SEB seb0, SEB seb1, + const Search::Options& o) { + SEBs sebs(2, seb0, seb1); + build(s,sebs,o); + } + template class E> + inline + PBS::PBS(T* s, SEB seb0, SEB seb1, SEB seb2, + const Search::Options& o) { + SEBs sebs(3, seb0, seb1, seb2); + build(s,sebs,o); + } + template class E> + inline + PBS::PBS(T* s, SEB seb0, SEB seb1, SEB seb2, SEB seb3, + const Search::Options& o) { + SEBs sebs(4, seb0, seb1, seb2, seb3); + build(s,sebs,o); + } + + template class E> + inline T* + pbs(T* s, const Search::Options& o) { + PBS r(s,o); + return r.next(); + } + + template class E> + inline SEB + pbs(const Search::Options& o) { + return new Search::PbsBuilder(o); + } + +} + +// STATISTICS: search-meta diff --git a/gecode/search/rbs.cpp b/gecode/search/rbs.cpp new file mode 100644 index 0000000000..59ff415fe1 --- /dev/null +++ b/gecode/search/rbs.cpp @@ -0,0 +1,57 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Meta { + + Stop* + stop(Stop* stop) { + return new RestartStop(stop); + } + + Engine* + engine(Space* master, Stop* stop, Engine* slave, + const Search::Statistics& stat, const Options& opt, bool best) { + return new RBS(master,static_cast(stop), slave, + stat,opt,best); + } + + +}}} + +// STATISTICS: search-meta diff --git a/gecode/search/rbs.hpp b/gecode/search/rbs.hpp index 20b42a66f7..c648dbc90e 100644 --- a/gecode/search/rbs.hpp +++ b/gecode/search/rbs.hpp @@ -38,49 +38,93 @@ */ #include -#include +#include + +namespace Gecode { namespace Search { namespace Meta { + + /// Create stop object + GECODE_SEARCH_EXPORT Stop* + stop(Stop* so); + + /// Create restart engine + GECODE_SEARCH_EXPORT Engine* + engine(Space* master, Stop* stop, Engine* slave, + const Search::Statistics& stat, const Options& opt, + bool best); + +}}} + +namespace Gecode { namespace Search { + + /// A RBS engine builder + template class E> + class RbsBuilder : public Builder { + using Builder::opt; + public: + /// The constructor + RbsBuilder(const Options& opt); + /// The actual build function + virtual Engine* operator() (Space* s) const; + }; + + template class E> + inline + RbsBuilder::RbsBuilder(const Options& opt) + : Builder(opt,E::best) {} + + template class E> + Engine* + RbsBuilder::operator() (Space* s) const { + return build >(s,opt); + } + +}} namespace Gecode { - template class E, class T> - forceinline - RBS::RBS(T* s, const Search::Options& m_opt) { + template class E> + inline + RBS::RBS(T* s, const Search::Options& m_opt) { if (m_opt.cutoff == NULL) throw Search::UninitializedCutoff("RBS::RBS"); Search::Options e_opt(m_opt.expand()); + Search::Statistics stat; e_opt.clone = false; - Search::Meta::RestartStop* rs = new Search::Meta::RestartStop(m_opt.stop); - e_opt.stop = rs; + e_opt.stop = Search::Meta::stop(m_opt.stop); Space* master; Space* slave; - if (s->status(rs->m_stat) == SS_FAILED) { - rs->m_stat.fail++; + if (s->status(stat) == SS_FAILED) { + stat.fail++; master = NULL; slave = NULL; + e = new Search::Meta::Dead(stat); } else { - if (m_opt.clone) - master = s->clone(); - else - master = s; - slave = master->clone(); - CRI cri(0,0,0,NULL,NoGoods::eng); - slave->slave(cri); + master = m_opt.clone ? s->clone() : s; + slave = master->clone(true,m_opt.share_rbs); + MetaInfo mi(0,0,0,NULL,NoGoods::eng); + slave->slave(mi); + e = Search::Meta::engine(master,e_opt.stop,Search::build(slave,e_opt), + stat,m_opt,E::best); } - E engine(dynamic_cast(slave),e_opt); - Search::EngineBase* eb = &engine; - Search::Engine* ee = eb->e; - eb->e = NULL; - e = new Search::Meta::RBS(master,rs,ee,m_opt); } - template class E, class T> - forceinline T* + template class E> + inline T* rbs(T* s, const Search::Options& o) { - RBS r(s,o); + RBS r(s,o); return r.next(); } + template class E> + SEB + rbs(const Search::Options& o) { + if (o.cutoff == NULL) + throw Search::UninitializedCutoff("rbs"); + return new Search::RbsBuilder(o); + } + + } // STATISTICS: search-meta diff --git a/gecode/search/relax.hh b/gecode/search/relax.hh new file mode 100644 index 0000000000..54784b6c47 --- /dev/null +++ b/gecode/search/relax.hh @@ -0,0 +1,81 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __GECODE_SEARCH_RELAX_HH__ +#define __GECODE_SEARCH_RELAX_HH__ + +#include +#include + +namespace Gecode { namespace Search { + + /// Relax variables in \a x from solution \a sx with probability \a p + template + forceinline void + relax(Home home, const VarArgs& x, const VarArgs& sx, Rnd r, + double p, Post& post); + + + template + forceinline void + relax(Home home, const VarArgs& x, const VarArgs& sx, Rnd r, + double p, Post& post) { + if (home.failed()) + return; + Region reg(home); + // Which variables to assign + Support::BitSet ax(reg, static_cast(x.size())); + // Select randomly with probability p to relax value + for (int i=x.size(); i--; ) + if (r(UINT_MAX) >= + static_cast(p * static_cast(UINT_MAX))) + ax.set(static_cast(i)); + if (ax.all()) + // Choose one variable uniformly and unset it + ax.clear(r(static_cast(x.size()))); + for (Iter::Values::BitSet > i(ax); i(); ++i) + if (post(home, x[i.val()], sx[i.val()]) != ES_OK) { + home.failed(); + return; + } + } + +}} + +#endif + +// STATISTICS: search-other diff --git a/gecode/search/sebs.cpp b/gecode/search/sebs.cpp new file mode 100644 index 0000000000..a9f997e0e9 --- /dev/null +++ b/gecode/search/sebs.cpp @@ -0,0 +1,54 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + SEBs::SEBs(int n, SEB b0, ...) + : PrimArgArray(n) { + va_list args; + va_start(args, b0); + a[0] = b0; + for (int i = 1; i < n; i++) + a[i] = va_arg(args,SEB); + va_end(args); + } + +} + +// STATISTICS: search-other diff --git a/gecode/search/sebs.hpp b/gecode/search/sebs.hpp new file mode 100644 index 0000000000..f8b7dbedc9 --- /dev/null +++ b/gecode/search/sebs.hpp @@ -0,0 +1,63 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + forceinline + SEBs::SEBs(void) + : PrimArgArray(0) {} + + forceinline + SEBs::SEBs(int n) + : PrimArgArray(n) {} + + forceinline + SEBs::SEBs(const std::vector& x) + : PrimArgArray(x) {} + + template + forceinline + SEBs::SEBs(InputIterator first, InputIterator last) + : PrimArgArray(first,last) {} + + forceinline + SEBs::SEBs(const PrimArgArray& a) + : PrimArgArray(a) {} + +} + +// STATISTICS: search-other diff --git a/gecode/search/sequential/bab.hh b/gecode/search/sequential/bab.hh index 3cd5639e1e..3d9b847c91 100755 --- a/gecode/search/sequential/bab.hh +++ b/gecode/search/sequential/bab.hh @@ -71,6 +71,8 @@ namespace Gecode { namespace Search { namespace Sequential { Space* next(void); /// Return statistics Statistics statistics(void) const; + /// Constrain future solutions to be better than \a b + void constrain(const Space& b); /// Reset engine to restart at space \a s void reset(Space* s); /// Return no-goods @@ -79,7 +81,7 @@ namespace Gecode { namespace Search { namespace Sequential { ~BAB(void); }; - forceinline + forceinline BAB::BAB(Space* s, const Options& o) : opt(o), path(opt.nogoods_limit), d(0), mark(0), best(NULL) { if ((s == NULL) || (s->status(*this) == SS_FAILED)) { @@ -168,7 +170,23 @@ namespace Gecode { namespace Search { namespace Sequential { } forceinline void - BAB::reset(Space* s) { + BAB::constrain(const Space& b) { + if (best != NULL) { + // Check whether b is in fact better than best + best->constrain(b); + if (best->status(*this) != SS_FAILED) + return; + else + delete best; + } + best = b.clone(); + if (cur != NULL) + cur->constrain(b); + mark = path.entries(); + } + + forceinline void + BAB::reset(Space* s) { delete best; best = NULL; path.reset(); @@ -189,7 +207,7 @@ namespace Gecode { namespace Search { namespace Sequential { return path; } - forceinline + forceinline BAB::~BAB(void) { path.reset(); delete best; diff --git a/gecode/search/sequential/dfs.hh b/gecode/search/sequential/dfs.hh index 4c6c025d49..078f698106 100644 --- a/gecode/search/sequential/dfs.hh +++ b/gecode/search/sequential/dfs.hh @@ -63,6 +63,8 @@ namespace Gecode { namespace Search { namespace Sequential { Space* next(void); /// Return statistics Statistics statistics(void) const; + /// Constrain future solutions to be better than \a b (should never be called) + void constrain(const Space& b); /// Reset engine to restart at space \a s void reset(Space* s); /// Return no-goods @@ -71,7 +73,7 @@ namespace Gecode { namespace Search { namespace Sequential { ~DFS(void); }; - forceinline + forceinline DFS::DFS(Space* s, const Options& o) : opt(o), path(opt.nogoods_limit), d(0) { if ((s == NULL) || (s->status(*this) == SS_FAILED)) { @@ -172,7 +174,13 @@ namespace Gecode { namespace Search { namespace Sequential { return *this; } - forceinline + forceinline void + DFS::constrain(const Space& b) { + (void) b; + assert(false); + } + + forceinline DFS::~DFS(void) { delete cur; path.reset(); diff --git a/gecode/search/sequential/lds.cpp b/gecode/search/sequential/lds.cpp new file mode 100755 index 0000000000..65026980c2 --- /dev/null +++ b/gecode/search/sequential/lds.cpp @@ -0,0 +1,86 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004, 2016 + * + * Bugfixes provided by: + * Stefano Gualandi + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Search { namespace Sequential { + + /* + * The probing engine: computes all solutions with + * exact number of discrepancies (solutions with + * fewer discrepancies are discarded) + * + */ + Space* + LDS::next(void) { + while (true) { + Space* s = e.next(opt); + if (s != NULL) + return s; + if (((s == NULL) && e.stopped()) || (++d > opt.d_l) || e.done()) + break; + if (d == opt.d_l) { + if (root != NULL) + e.reset(root,d); + root = NULL; + } else if (root != NULL) { + e.reset(root->clone(),d); + } + } + return NULL; + } + + bool + LDS::stopped(void) const { + return e.stopped(); + } + + Statistics + LDS::statistics(void) const { + return e.statistics(); + } + + LDS::~LDS(void) { + delete root; + } + +}}} + +// STATISTICS: search-sequential diff --git a/gecode/search/sequential/lds.hh b/gecode/search/sequential/lds.hh new file mode 100755 index 0000000000..4307ff8fde --- /dev/null +++ b/gecode/search/sequential/lds.hh @@ -0,0 +1,329 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2004, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#ifndef __GECODE_SEARCH_SEQUENTIAL_LDS_HH__ +#define __GECODE_SEARCH_SEQUENTIAL_LDS_HH__ + +#include +#include +#include + +namespace Gecode { namespace Search { namespace Sequential { + + /// %Probe engine for %LDS + class Probe : public Worker { + protected: + /// %Node in the search tree for %LDS + class Node { + private: + /// %Space of current node + Space* _space; + /// Choice + const Choice* _choice; + /// Next alternative to try + unsigned int _alt; + public: + /// Default constructor + Node(void); + /// Initialize with node \a s, choice \a c, and alternative \a a + Node(Space* s, const Choice* c, unsigned int a); + /// Return space + Space* space(void) const; + /// Return choice + const Choice* choice(void) const; + /// Return next alternative + unsigned int alt(void) const; + /// %Set next alternative + void next(void); + }; + /// %Stack storing current path in search tree + Support::DynamicStack ds; + /// Current space + Space* cur; + /// Current discrepancy + unsigned int d; + /// Whether entire search space has been exhausted + bool exhausted; + public: + /// Initialize + Probe(void); + /// Initialize with space \a s + void init(Space* s); + /// Reset with space \a s and discrepancy \a d + void reset(Space* s, unsigned int d); + /// Return statistics + Statistics statistics(void) const; + /// Destructor + ~Probe(void); + /// %Search for next solution + Space* next(const Options& o); + /// Test whether probing is done + bool done(void) const; + }; + + /// Limited discrepancy search engine implementation + class LDS : public Engine { + protected: + /// Search options + Options opt; + /// The probe engine + Probe e; + /// Root node for problem + Space* root; + /// Current discrepancy + unsigned int d; + /// Solution found for current discrepancy + bool no_solution; + public: + /// Initialize for space \a s with options \a o + LDS(Space* s, const Options& o); + /// Return next solution (NULL, if none exists or search has been stopped) + virtual Space* next(void); + /// Return statistics + virtual Statistics statistics(void) const; + /// Constrain future solutions to be better than \a b (should never be called) + void constrain(const Space& b); + /// Reset engine to restart at space \a s + void reset(Space* s); + /// Check whether engine has been stopped + virtual bool stopped(void) const; + /// Destructor + virtual ~LDS(void); + }; + + /* + * Nodes for the probing engine (just remember next alternative + * to try) + * + */ + + forceinline + Probe::Node::Node(void) {} + + forceinline + Probe::Node::Node(Space* s, const Choice* c, unsigned int a) + : _space(s), _choice(c), _alt(a) {} + + forceinline Space* + Probe::Node::space(void) const { + return _space; + } + + forceinline const Choice* + Probe::Node::choice(void) const { + return _choice; + } + + forceinline unsigned int + Probe::Node::alt(void) const { + return _alt; + } + + forceinline void + Probe::Node::next(void) { + _alt--; + } + + + /* + * The probing engine: computes all solutions with + * exact number of discrepancies (solutions with + * fewer discrepancies are discarded) + * + */ + + forceinline + Probe::Probe(void) + : ds(heap) {} + + forceinline void + Probe::init(Space* s) { + cur = s; d = 0U; exhausted = true; + } + + forceinline void + Probe::reset(Space* s, unsigned int d0) { + delete cur; + while (!ds.empty()) + delete ds.pop().space(); + cur = s; d = d0; exhausted = true; + Worker::reset(0); + } + + forceinline Statistics + Probe::statistics(void) const { + return *this; + } + + forceinline bool + Probe::done(void) const { + return exhausted; + } + + forceinline + Probe::~Probe(void) { + delete cur; + while (!ds.empty()) + delete ds.pop().space(); + } + + forceinline Space* + Probe::next(const Options& opt) { + start(); + while (true) { + if (cur == NULL) { + backtrack: + if (ds.empty()) + return NULL; + if (stop(opt)) + return NULL; + unsigned int a = ds.top().alt(); + const Choice* ch = ds.top().choice(); + if (a == 0) { + cur = ds.pop().space(); + cur->commit(*ch,0); + delete ch; + } else { + ds.top().next(); + cur = ds.top().space()->clone(); + cur->commit(*ch,a); + } + node++; + d++; + } + check_discrepancy: + if (d == 0) { + Space* s = cur; + while (s->status(*this) == SS_BRANCH) { + if (stop(opt)) { + cur = s; + return NULL; + } + const Choice* ch = s->choice(); + if (ch->alternatives() > 1) + exhausted = false; + s->commit(*ch,0); + node++; + delete ch; + } + cur = NULL; + if (s->failed()) { + fail++; + delete s; + goto backtrack; + } + // Deletes all pending branchings + (void) s->choice(); + return s; + } + node++; + switch (cur->status(*this)) { + case SS_FAILED: + fail++; + case SS_SOLVED: + delete cur; + cur = NULL; + goto backtrack; + case SS_BRANCH: + { + const Choice* ch = cur->choice(); + unsigned int alt = ch->alternatives(); + if (alt > 1) { + if (d < alt-1) + exhausted = false; + unsigned int d_a = (d >= alt-1) ? alt-1 : d; + Space* cc = cur->clone(); + Node sn(cc,ch,d_a-1); + ds.push(sn); + stack_depth(ds.entries()); + cur->commit(*ch,d_a); + d -= d_a; + } else { + cur->commit(*ch,0); + node++; + delete ch; + } + goto check_discrepancy; + } + default: GECODE_NEVER; + } + } + } + + forceinline + LDS::LDS(Space* s, const Options& o) + : opt(o), root(NULL), d(0) { + e.node = 1; + if (s->status(e) == SS_FAILED) { + e.fail++; + e.init(NULL); + } else { + Space* c = snapshot(s,opt); + if (opt.d_l > 0) { + root = c->clone(); + } + e.init(c); + } + } + + forceinline void + LDS::reset(Space* s) { + delete root; root=NULL; d=0; + e.node = 1; + if ((s == NULL) || (s->status(e) == SS_FAILED)) { + delete s; + e.fail++; + e.reset(NULL,0); + } else { + if (opt.d_l > 0) { + root = s->clone(); + } + e.reset(s,0); + } + } + + forceinline void + LDS::constrain(const Space& b) { + (void) b; + assert(false); + } + +}}} + +#endif + +// STATISTICS: search-sequential diff --git a/gecode/search/sequential/path.hh b/gecode/search/sequential/path.hh index 29a3e9c30a..3cf9a9413c 100755 --- a/gecode/search/sequential/path.hh +++ b/gecode/search/sequential/path.hh @@ -75,15 +75,15 @@ namespace Gecode { namespace Search { namespace Sequential { Edge(void); /// Edge for space \a s with clone \a c (possibly NULL) Edge(Space* s, Space* c); - + /// Return space for edge Space* space(void) const; /// Set space to \a s void space(Space* s); - + /// Return choice const Choice* choice(void) const; - + /// Return number for alternatives unsigned int alt(void) const; /// Return true number for alternatives (excluding lao optimization) @@ -96,7 +96,7 @@ namespace Gecode { namespace Search { namespace Sequential { void next(void); /// Test whether current alternative was LAO bool lao(void) const; - + /// Free memory for edge void dispose(void); }; @@ -126,7 +126,7 @@ namespace Gecode { namespace Search { namespace Sequential { void unwind(int l); /// Commit space \a s as described by stack entry at position \a i void commit(Space* s, int i) const; - /// Recompute space according to path + /// Recompute space according to path Space* recompute(unsigned int& d, unsigned int a_d, Worker& s); /// Recompute space according to path Space* recompute(unsigned int& d, unsigned int a_d, Worker& s, @@ -205,7 +205,7 @@ namespace Gecode { namespace Search { namespace Sequential { */ forceinline - Path::Path(unsigned int l) + Path::Path(unsigned int l) : ds(heap), _ngdl(l) {} forceinline unsigned int diff --git a/gecode/search/statistics.hpp b/gecode/search/statistics.hpp index fab0345ec4..d1bbbd98e3 100755 --- a/gecode/search/statistics.hpp +++ b/gecode/search/statistics.hpp @@ -63,7 +63,7 @@ namespace Gecode { namespace Search { forceinline Statistics Statistics::operator +(const Statistics& s) { - Statistics t(s); + Statistics t(s); return t += *this; } diff --git a/gecode/search/stop.hpp b/gecode/search/stop.hpp index 138362bdd8..ea492842d8 100755 --- a/gecode/search/stop.hpp +++ b/gecode/search/stop.hpp @@ -45,16 +45,6 @@ namespace Gecode { namespace Search { Stop::Stop(void) {} forceinline Stop::~Stop(void) {} - forceinline void* - Stop::operator new(size_t s) { - return heap.ralloc(s); - } - forceinline void - Stop::operator delete(void* p) { - heap.rfree(p); - } - - /* diff --git a/gecode/search/support.hh b/gecode/search/support.hh index 3e1ae2b54a..9fb1eee84f 100644 --- a/gecode/search/support.hh +++ b/gecode/search/support.hh @@ -61,6 +61,8 @@ namespace Gecode { namespace Search { virtual Search::Statistics statistics(void) const; /// Check whether engine has been stopped virtual bool stopped(void) const; + /// Constrain future solutions to be better than \a b + virtual void constrain(const Space& b); /// Reset engine to restart at space \a s virtual void reset(Space* s); /// Return no-goods @@ -74,22 +76,22 @@ namespace Gecode { namespace Search { return o.clone ? s->clone(share) : s; } - + template - WorkerToEngine::WorkerToEngine(Space* s, const Options& o) + WorkerToEngine::WorkerToEngine(Space* s, const Options& o) : w(s,o) {} template - Space* + Space* WorkerToEngine::next(void) { return w.next(); } template - Search::Statistics + Search::Statistics WorkerToEngine::statistics(void) const { return w.statistics(); } template - bool + bool WorkerToEngine::stopped(void) const { return w.stopped(); } @@ -98,7 +100,11 @@ namespace Gecode { namespace Search { WorkerToEngine::reset(Space* s) { w.reset(s); } - + template + void + WorkerToEngine::constrain(const Space& b) { + w.constrain(b); + } template NoGoods& WorkerToEngine::nogoods(void) { diff --git a/gecode/search/traits.hpp b/gecode/search/traits.hpp new file mode 100644 index 0000000000..ee3ea5fcf2 --- /dev/null +++ b/gecode/search/traits.hpp @@ -0,0 +1,63 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2015 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + // Forward declaration + class SEBs; + + /// Traits of %SEBs + template<> + class ArrayTraits > { + public: + typedef SEBs StorageType; + typedef SEB ValueType; + typedef SEBs ArgsType; + }; + + /// Traits of %SEBs + template<> + class ArrayTraits { + public: + typedef SEBs StorageType; + typedef SEB ValueType; + typedef SEBs ArgsType; + }; + +} + +// STATISTICS: search-other diff --git a/gecode/set.hh b/gecode/set.hh index 12082e40f7..6a90555624 100644 --- a/gecode/set.hh +++ b/gecode/set.hh @@ -470,7 +470,7 @@ namespace Gecode { * with automatic memory management. * \ingroup TaskModelSet */ - + //@{ } @@ -492,19 +492,18 @@ namespace Gecode { /// \name Constructors and initialization //@{ /// Allocate empty array - SetVarArgs(void) {} + SetVarArgs(void); /// Allocate array with \a n elements - explicit SetVarArgs(int n) : VarArgArray(n) {} + explicit SetVarArgs(int n); /// Initialize from variable argument array \a a (copy elements) - SetVarArgs(const SetVarArgs& a) : VarArgArray(a) {} + SetVarArgs(const SetVarArgs& a); /// Initialize from variable array \a a (copy elements) - SetVarArgs(const VarArray& a) : VarArgArray(a) {} + SetVarArgs(const VarArray& a); /// Initialize from vector \a a - SetVarArgs(const std::vector& a) : VarArgArray(a) {} + SetVarArgs(const std::vector& a); /// Initialize from InputIterator \a first and \a last template - SetVarArgs(InputIterator first, InputIterator last) - : VarArgArray(first,last) {} + SetVarArgs(InputIterator first, InputIterator last); /** * \brief Create an array of size \a n. * @@ -574,7 +573,7 @@ namespace Gecode { //@{ /// Default constructor (array of size 0) SetVarArray(void); - /// Initialize from set variable array \a a (share elements) + /// Initialize from set variable array \a a (share elements) SetVarArray(const SetVarArray&); /// Initialize from set variable argument array \a a (copy elements) SetVarArray(Space& home, const SetVarArgs&); @@ -1052,7 +1051,7 @@ namespace Gecode { * \f$ w\cdot h\neq|a|\f$. */ GECODE_SET_EXPORT void - element(Home home, const IntSetArgs& a, + element(Home home, const IntSetArgs& a, IntVar x, int w, IntVar y, int h, SetVar z); /** \brief Post propagator for \f$ a_{x+w\cdot y}=z\f$ * @@ -1060,7 +1059,7 @@ namespace Gecode { * \f$ w\cdot h\neq|a|\f$. */ GECODE_SET_EXPORT void - element(Home home, const SetVarArgs& a, + element(Home home, const SetVarArgs& a, IntVar x, int w, IntVar y, int h, SetVar z); //@} @@ -1117,8 +1116,8 @@ namespace Gecode { * \brief Branch value function type for set variables * * Returns a value for the variable \a x that is to be used in the - * corresponding branch commit function. The integer \a i refers - * to the variable's position in the original array passed to the + * corresponding branch commit function. The integer \a i refers + * to the variable's position in the original array passed to the * brancher. * * \ingroup TaskModelSetBranch @@ -1129,8 +1128,8 @@ namespace Gecode { * \brief Branch commit function type for set variables * * The function must post a constraint on the variable \a x which - * corresponds to the alternative \a a. The integer \a i refers - * to the variable's position in the original array passed to the + * corresponds to the alternative \a a. The integer \a i refers + * to the variable's position in the original array passed to the * brancher. The value \a n is the value * computed by the corresponding branch value function. * @@ -1163,7 +1162,7 @@ namespace Gecode { /// Copy constructor SetAFC(const SetAFC& a); /// Assignment operator - SetAFC& operator =(const SetAFC& a); + SetAFC& operator =(const SetAFC& a); /// Initialize for set variables \a x with decay factor \a d SetAFC(Home home, const SetVarArgs& x, double d=1.0); /** @@ -1173,7 +1172,7 @@ namespace Gecode { * AFC storage has been constructed with the default constructor. * */ - void init(Home, const SetVarArgs& x, double d=1.0); + void init(Home home, const SetVarArgs& x, double d=1.0); }; } @@ -1201,7 +1200,7 @@ namespace Gecode { /// Copy constructor SetActivity(const SetActivity& a); /// Assignment operator - SetActivity& operator =(const SetActivity& a); + SetActivity& operator =(const SetActivity& a); /** * \brief Initialize for set variables \a x with decay factor \a d * @@ -1210,7 +1209,7 @@ namespace Gecode { * by \a bm. * */ - GECODE_SET_EXPORT + GECODE_SET_EXPORT SetActivity(Home home, const SetVarArgs& x, double d=1.0, SetBranchMerit bm=NULL); /** @@ -1225,7 +1224,7 @@ namespace Gecode { * */ GECODE_SET_EXPORT void - init(Home, const SetVarArgs& x, double d=1.0, + init(Home home, const SetVarArgs& x, double d=1.0, SetBranchMerit bm=NULL); }; @@ -1236,7 +1235,7 @@ namespace Gecode { namespace Gecode { /// Function type for printing branching alternatives for set variables - typedef void (*SetVarValPrint)(const Space &home, const BrancherHandle& bh, + typedef void (*SetVarValPrint)(const Space &home, const Brancher& b, unsigned int a, SetVar x, int i, const int& n, std::ostream& o); @@ -1324,22 +1323,22 @@ namespace Gecode { SetVarBranch SET_VAR_AFC_MIN(SetAFC a, BranchTbl tbl=NULL); /// Select variable with largest accumulated failure count with decay factor \a d SetVarBranch SET_VAR_AFC_MAX(double d=1.0, BranchTbl tbl=NULL); - /// Select variable with largest accumulated failure count + /// Select variable with largest accumulated failure count SetVarBranch SET_VAR_AFC_MAX(SetAFC a, BranchTbl tbl=NULL); /// Select variable with lowest activity with decay factor \a d - SetVarBranch SET_VAR_ACTIVITY_MIN(double d=1.0, BranchTbl tbl=NULL); + SetVarBranch SET_VAR_ACTIVITY_MIN(double d=1.0, BranchTbl tbl=NULL); /// Select variable with lowest activity - SetVarBranch SET_VAR_ACTIVITY_MIN(SetActivity a, BranchTbl tbl=NULL); + SetVarBranch SET_VAR_ACTIVITY_MIN(SetActivity a, BranchTbl tbl=NULL); /// Select variable with highest activity with decay factor \a d - SetVarBranch SET_VAR_ACTIVITY_MAX(double d=1.0, BranchTbl tbl=NULL); + SetVarBranch SET_VAR_ACTIVITY_MAX(double d=1.0, BranchTbl tbl=NULL); /// Select variable with highest activity - SetVarBranch SET_VAR_ACTIVITY_MAX(SetActivity a, BranchTbl tbl=NULL); + SetVarBranch SET_VAR_ACTIVITY_MAX(SetActivity a, BranchTbl tbl=NULL); /// Select variable with smallest minimum unknown element - SetVarBranch SET_VAR_MIN_MIN(BranchTbl tbl=NULL); + SetVarBranch SET_VAR_MIN_MIN(BranchTbl tbl=NULL); /// Select variable with largest minimum unknown element SetVarBranch SET_VAR_MIN_MAX(BranchTbl tbl=NULL); /// Select variable with smallest maximum unknown element - SetVarBranch SET_VAR_MAX_MIN(BranchTbl tbl=NULL); + SetVarBranch SET_VAR_MAX_MIN(BranchTbl tbl=NULL); /// Select variable with largest maximum unknown element SetVarBranch SET_VAR_MAX_MAX(BranchTbl tbl=NULL); /// Select variable with smallest unknown set @@ -1518,9 +1517,9 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void branch(Home home, const SetVarArgs& x, - SetVarBranch vars, SetValBranch vals, + SetVarBranch vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL); /** @@ -1528,7 +1527,7 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void branch(Home home, const SetVarArgs& x, TieBreak vars, SetValBranch vals, SetBranchFilter bf=NULL, @@ -1538,7 +1537,7 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void branch(Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=NULL); /** @@ -1546,7 +1545,7 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void assign(Home home, const SetVarArgs& x, SetAssign vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL); @@ -1555,7 +1554,7 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void assign(Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=NULL); @@ -1568,7 +1567,7 @@ namespace Gecode { /** * \brief Variable sequences in \a x of size \a ss are interchangeable * - * The size of \a x must be a multiple of \a ss. + * The size of \a x must be a multiple of \a ss. */ GECODE_SET_EXPORT SymmetryHandle VariableSequenceSymmetry(const SetVarArgs& x, int ss); @@ -1578,7 +1577,7 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void branch(Home home, const SetVarArgs& x, SetVarBranch vars, SetValBranch vals, const Symmetries& syms, @@ -1590,14 +1589,174 @@ namespace Gecode { * * \ingroup TaskModelSetBranch */ - GECODE_SET_EXPORT BrancherHandle + GECODE_SET_EXPORT void branch(Home home, const SetVarArgs& x, TieBreak vars, SetValBranch vals, - const Symmetries& syms, + const Symmetries& syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL); } +namespace Gecode { + + /* + * \brief Relaxed assignment of variables in \a x from values in \a sx + * + * The variables in \a x are assigned values from the assigned variables + * in the solution \a sx with a relaxation probability \a p. That is, + * if \$fp=0.1\f$ approximately 10% of the variables in \a x will be + * assigned a value from \a sx. + * + * The random numbers are generated from the generator \a r. At least + * one variable will not be assigned: in case the relaxation attempt + * would suggest that all variables should be assigned, a single + * variable will be selected randomly to remain unassigned. + * + * Throws an exception of type Set::ArgumentSizeMismatch, if \a x and + * \a sx are of different size. + * + * Throws an exception of type Set::OutOfLimits, if \a p is not between + * \a 0.0 and \a 1.0. + * + * \ingroup TaskModeSet + */ + GECODE_SET_EXPORT void + relax(Home home, const SetVarArgs& x, const SetVarArgs& sx, + Rnd r, double p); + +} + +#include + +namespace Gecode { + + /** + * \defgroup TaskSetTrace Tracing for set variables + * \ingroup TaskTrace + */ + + /** + * \brief Trace delta information for set variables + * \ingroup TaskSetTrace + */ + class SetTraceDelta { + protected: + /// + public: + /// Delta for the greatest lower bound + class Glb + : public Iter::Ranges::Diff, + Iter::Ranges::RangeList> { + protected: + /// Iterator over old glb + Iter::Ranges::RangeList o; + /// Iterator over new glb + Set::GlbRanges n; + public: + /// \name Constructors and initialization + //@{ + /// Initialize with old glb and new glb + Glb(RangeList* o, Set::SetView n); + //@} + }; + Glb _glb; + /// Delta for the least upper bound + class Lub + : public Iter::Ranges::Diff > { + protected: + /// Iterator over old lub + Iter::Ranges::RangeList o; + /// Iterator over new lub + Set::LubRanges n; + public: + /// \name Constructors and initialization + //@{ + /// Initialize with old lub \a o and new lub \a n + Lub(RangeList* o, Set::SetView n); + //@} + }; + Lub _lub; + /// \name Constructor + //@{ + /// Initialize with old trace view \a o, new view \a n, and delta \a d + SetTraceDelta(Set::SetTraceView o, Set::SetView n, const Delta& d); + //@} + /// \name Access to delta iterators + //@{ + /// Give access to iterator for delta in greatest lower bound (values that have been included) + Glb& glb(void); + /// Give access iterator for delta in leat bound (values that have been removed) + Lub& lub(void); + //@} + }; + +} + +#include + +#include + +namespace Gecode { + + /** + * \brief Tracer for set variables + * \ingroup TaskSetTrace + */ + typedef Tracer SetTracer; + /** + * \brief TraceRecorder for set variables + * \ingroup TaskSetTrace + */ + typedef TraceRecorder SetTraceRecorder; + + /** + * \brief Standard set variable tracer + * \ingroup TaskSetTrace + */ + class GECODE_SET_EXPORT StdSetTracer : public SetTracer { + protected: + /// Output stream to use + std::ostream& os; + public: + /// Initialize with output stream \a os0 + StdSetTracer(std::ostream& os0 = std::cerr); + /// Print init information + virtual void init(const Space& home, const SetTraceRecorder& t); + /// Print prune information + virtual void prune(const Space& home, const SetTraceRecorder& t, + const ExecInfo& ei, int i, SetTraceDelta& d); + /// Print fixpoint information + virtual void fix(const Space& home, const SetTraceRecorder& t); + /// Print that trace recorder is done + virtual void done(const Space& home, const SetTraceRecorder& t); + /// Default tracer (printing to std::cerr) + static StdSetTracer def; + }; + + + /** + * \brief Create a tracer for set variables + * \ingroup TaskSetTrace + */ + GECODE_SET_EXPORT void + trace(Home home, const SetVarArgs& x, + TraceFilter tf, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + SetTracer& t = StdSetTracer::def); + /** + * \brief Create a tracer for set variables + * \ingroup TaskSetTrace + */ + void + trace(Home home, const SetVarArgs& x, + int te = (TE_INIT | TE_PRUNE | TE_FIX | TE_DONE), + SetTracer& t = StdSetTracer::def); + +} + +#include + #endif // IFDEF: GECODE_HAS_SET_VARS diff --git a/gecode/set/array.cpp b/gecode/set/array.cpp index c9c3d3327f..617ef5b256 100644 --- a/gecode/set/array.cpp +++ b/gecode/set/array.cpp @@ -61,9 +61,9 @@ namespace Gecode { Set::Limits::check(ubMin,"SetVarArray::SetVarArray"); Set::Limits::check(ubMax,"SetVarArray::SetVarArray"); Set::Limits::check(maxCard,"SetVarArray::SetVarArray"); - unsigned int glbSize = + unsigned int glbSize = (lbMin <= lbMax ? static_cast(lbMax-lbMin+1) : 0U); - unsigned int lubSize = + unsigned int lubSize = (ubMin <= ubMax ? static_cast(ubMax-ubMin+1) : 0U); if (minCard > maxCard || minCard > lubSize || maxCard < glbSize || lbMin < ubMin || lbMax > ubMax) @@ -82,7 +82,7 @@ namespace Gecode { Set::Limits::check(maxCard,"SetVarArray::SetVarArray"); IntSetRanges glbr(glb); unsigned int glbSize = Iter::Ranges::size(glbr); - unsigned int lubSize = + unsigned int lubSize = (ubMin <= ubMax ? static_cast(ubMax-ubMin+1) : 0U); if (minCard > maxCard || minCard > lubSize || maxCard < glbSize || glb.min() < ubMin || glb.max() > ubMax) @@ -102,7 +102,7 @@ namespace Gecode { Iter::Ranges::Singleton glbr(lbMin,lbMax); IntSetRanges lubr(lub); IntSetRanges lubr_s(lub); - unsigned int glbSize = + unsigned int glbSize = (lbMin <= lbMax ? static_cast(lbMax-lbMin+1) : 0U); unsigned int lubSize = Iter::Ranges::size(lubr_s); if (minCard > maxCard || minCard > lubSize || maxCard < glbSize || @@ -142,9 +142,9 @@ namespace Gecode { Set::Limits::check(ubMin,"SetVarArgs::SetVarArgs"); Set::Limits::check(ubMax,"SetVarArgs::SetVarArgs"); Set::Limits::check(maxCard,"SetVarArgs::SetVarArgs"); - unsigned int glbSize = + unsigned int glbSize = (lbMin <= lbMax ? static_cast(lbMax-lbMin+1) : 0U); - unsigned int lubSize = + unsigned int lubSize = (ubMin <= ubMax ? static_cast(ubMax-ubMin+1) : 0U); if (minCard > maxCard || minCard > lubSize || maxCard < glbSize || lbMin < ubMin || lbMax > ubMax) @@ -163,7 +163,7 @@ namespace Gecode { Set::Limits::check(maxCard,"SetVarArgs::SetVarArgs"); IntSetRanges glbr(glb); unsigned int glbSize = Iter::Ranges::size(glbr); - unsigned int lubSize = + unsigned int lubSize = (ubMin <= ubMax ? static_cast(ubMax-ubMin+1) : 0U); if (minCard > maxCard || minCard > lubSize || maxCard < glbSize || glb.min() < ubMin || glb.max() > ubMax) @@ -183,7 +183,7 @@ namespace Gecode { Iter::Ranges::Singleton glbr(lbMin,lbMax); IntSetRanges lubr(lub); IntSetRanges lubr_s(lub); - unsigned int glbSize = + unsigned int glbSize = (lbMin <= lbMax ? static_cast(lbMax-lbMin+1) : 0U); unsigned int lubSize = Iter::Ranges::size(lubr_s); if (minCard > maxCard || minCard > lubSize || maxCard < glbSize || diff --git a/gecode/set/array.hpp b/gecode/set/array.hpp index c93d5adea2..36f07b2393 100644 --- a/gecode/set/array.hpp +++ b/gecode/set/array.hpp @@ -48,6 +48,31 @@ namespace Gecode { * */ + forceinline + SetVarArgs::SetVarArgs(void) {} + + forceinline + SetVarArgs::SetVarArgs(int n) + : VarArgArray(n) {} + + forceinline + SetVarArgs::SetVarArgs(const SetVarArgs& a) + : VarArgArray(a) {} + + forceinline + SetVarArgs::SetVarArgs(const VarArray& a) + : VarArgArray(a) {} + + forceinline + SetVarArgs::SetVarArgs(const std::vector& a) + : VarArgArray(a) {} + + template + forceinline + SetVarArgs::SetVarArgs(InputIterator first, InputIterator last) + : VarArgArray(first,last) {} + + forceinline SetVarArray::SetVarArray(void) {} diff --git a/gecode/set/branch.cpp b/gecode/set/branch.cpp index ee1f18f596..8bcca97534 100755 --- a/gecode/set/branch.cpp +++ b/gecode/set/branch.cpp @@ -38,27 +38,28 @@ #include namespace Gecode { - BrancherHandle + + void branch(Home home, const SetVarArgs& x, - SetVarBranch vars, SetValBranch vals, + SetVarBranch vars, SetValBranch vals, SetBranchFilter bf, SetVarValPrint vvp) { using namespace Set; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewsel(home,vars) + ViewSel* vs[1] = { + Branch::viewsel(home,vars) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommit(home,vals),bf,vvp); } - BrancherHandle + void branch(Home home, const SetVarArgs& x, - TieBreak vars, SetValBranch vals, + TieBreak vars, SetValBranch vals, SetBranchFilter bf, SetVarValPrint vvp) { using namespace Set; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == SetVarBranch::SEL_NONE) || (vars.a.select() == SetVarBranch::SEL_RND)) @@ -73,56 +74,56 @@ namespace Gecode { vars.d = SET_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == SetVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,bf,vvp); + branch(home,x,vars.a,vals,bf,vvp); } else { ViewArray xv(home,x); - ValSelCommitBase* vsc = Branch::valselcommit(home,vals); + ValSelCommitBase* vsc = Branch::valselcommit(home,vals); if (vars.c.select() == SetVarBranch::SEL_NONE) { - ViewSel* vs[2] = { + ViewSel* vs[2] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b) }; - return ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); + ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); } else if (vars.d.select() == SetVarBranch::SEL_NONE) { - ViewSel* vs[3] = { + ViewSel* vs[3] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b), Branch::viewsel(home,vars.c) }; - return ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); + ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); } else { - ViewSel* vs[4] = { + ViewSel* vs[4] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b), Branch::viewsel(home,vars.c),Branch::viewsel(home,vars.d) }; - return ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); + ViewValBrancher::post(home,xv,vs,vsc,bf,vvp); } } } - BrancherHandle + void branch(Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp) { SetVarArgs xv(1); xv[0]=x; - return branch(home, xv, SET_VAR_NONE(), vals, NULL, vvp); + branch(home, xv, SET_VAR_NONE(), vals, NULL, vvp); } - - BrancherHandle + + void assign(Home home, const SetVarArgs& x, SetAssign sa, SetBranchFilter bf, SetVarValPrint vvp) { using namespace Set; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; ViewArray xv(home,x); - ViewSel* vs[1] = { + ViewSel* vs[1] = { new (home) ViewSelNone(home,SET_VAR_NONE()) }; - return ViewValBrancher::post + ViewValBrancher::post (home,xv,vs,Branch::valselcommit(home,sa),bf,vvp); } - BrancherHandle + void assign(Home home, SetVar x, SetAssign sa, SetVarValPrint vvp) { SetVarArgs xv(1); xv[0]=x; - return assign(home, xv, sa, NULL, vvp); + assign(home, xv, sa, NULL, vvp); } - + } // STATISTICS: set-post diff --git a/gecode/set/branch.hh b/gecode/set/branch.hh index e30c86f3bf..54c9298225 100644 --- a/gecode/set/branch.hh +++ b/gecode/set/branch.hh @@ -60,7 +60,7 @@ namespace Gecode { namespace Set { namespace Branch { * views that can be used together with the generic view/value * brancher classes. * - * All merit-based set view selection classes require + * All merit-based set view selection classes require * \code #include \endcode * \ingroup Other */ @@ -196,7 +196,7 @@ namespace Gecode { namespace Set { namespace Branch { * views that can be used together with the generic view/value * branchers. * - * All value selection classes require + * All value selection classes require * \code #include \endcode * \ingroup Other */ @@ -327,7 +327,7 @@ namespace Gecode { namespace Set { namespace Branch { * views that can be used together with the generic view/value * branchers. * - * All value commit classes require + * All value commit classes require * \code #include \endcode * \ingroup Other */ @@ -382,12 +382,12 @@ namespace Gecode { namespace Set { namespace Branch { /// Return value and commit for set views GECODE_SET_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const SetValBranch& svb); /// Return value and commit for set views GECODE_SET_EXPORT - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const SetAssign& ia); }}} diff --git a/gecode/set/branch/assign.hpp b/gecode/set/branch/assign.hpp index be50a77a11..7ea342db34 100755 --- a/gecode/set/branch/assign.hpp +++ b/gecode/set/branch/assign.hpp @@ -37,15 +37,15 @@ namespace Gecode { - forceinline + forceinline SetAssign::SetAssign(Select s0) : s(s0) {} - forceinline + forceinline SetAssign::SetAssign(Select s0, Rnd r) : ValBranch(r), s(s0) {} - forceinline + forceinline SetAssign::SetAssign(VoidFunction v, VoidFunction c) : ValBranch(v,c), s(SEL_VAL_COMMIT) {} diff --git a/gecode/set/branch/merit.hpp b/gecode/set/branch/merit.hpp index 7313f3d539..0de14cbeea 100755 --- a/gecode/set/branch/merit.hpp +++ b/gecode/set/branch/merit.hpp @@ -88,12 +88,12 @@ namespace Gecode { namespace Set { namespace Branch { MeritDegreeSize::MeritDegreeSize(Space& home, const VarBranch& vb) : MeritBase(home,vb) {} forceinline - MeritDegreeSize::MeritDegreeSize(Space& home, bool shared, + MeritDegreeSize::MeritDegreeSize(Space& home, bool shared, MeritDegreeSize& m) : MeritBase(home,shared,m) {} forceinline double MeritDegreeSize::operator ()(const Space&, SetView x, int) { - return static_cast(x.unknownSize()) / + return static_cast(x.unknownSize()) / static_cast(x.degree()); } @@ -125,7 +125,7 @@ namespace Gecode { namespace Set { namespace Branch { const VarBranch& vb) : MeritBase(home,vb), activity(vb.activity()) {} forceinline - MeritActivitySize::MeritActivitySize(Space& home, bool shared, + MeritActivitySize::MeritActivitySize(Space& home, bool shared, MeritActivitySize& m) : MeritBase(home,shared,m) { activity.update(home, shared, m.activity); diff --git a/gecode/set/branch/val-commit.hpp b/gecode/set/branch/val-commit.hpp index 93fa654918..201c23b144 100755 --- a/gecode/set/branch/val-commit.hpp +++ b/gecode/set/branch/val-commit.hpp @@ -63,7 +63,7 @@ namespace Gecode { namespace Set { namespace Branch { forceinline void ValCommitInc::print(const Space&, unsigned int a, SetView, int i, int n, std::ostream& o) const { - o << "var[" << i << "]." + o << "var[" << i << "]." << ((a == 0) ? "include" : "exclude") << "(" << n << ")"; } @@ -87,7 +87,7 @@ namespace Gecode { namespace Set { namespace Branch { forceinline void ValCommitExc::print(const Space&, unsigned int a, SetView, int i, int n, std::ostream& o) const { - o << "var[" << i << "]." + o << "var[" << i << "]." << ((a == 0) ? "exclude" : "include") << "(" << n << ")"; } diff --git a/gecode/set/branch/val-sel-commit.cpp b/gecode/set/branch/val-sel-commit.cpp index 0445761375..9a5682fda3 100644 --- a/gecode/set/branch/val-sel-commit.cpp +++ b/gecode/set/branch/val-sel-commit.cpp @@ -39,7 +39,7 @@ namespace Gecode { namespace Set { namespace Branch { - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const SetValBranch& svb) { switch (svb.select()) { case SetValBranch::SEL_MIN_INC: @@ -60,10 +60,10 @@ namespace Gecode { namespace Set { namespace Branch { return new (home) ValSelCommit(home,svb); case SetValBranch::SEL_VAL_COMMIT: if (svb.commit() == NULL) { - return new (home) + return new (home) ValSelCommit,ValCommitInc>(home,svb); } else { - return new (home) + return new (home) ValSelCommit,ValCommitFunction >(home,svb); } default: @@ -71,7 +71,7 @@ namespace Gecode { namespace Set { namespace Branch { } } - ValSelCommitBase* + ValSelCommitBase* valselcommit(Space& home, const SetAssign& sa) { switch (sa.select()) { case SetAssign::SEL_MIN_INC: @@ -92,10 +92,10 @@ namespace Gecode { namespace Set { namespace Branch { return new (home) ValSelCommit(home,sa); case SetAssign::SEL_VAL_COMMIT: if (sa.commit() == NULL) { - return new (home) + return new (home) ValSelCommit,ValCommitInc>(home,sa); } else { - return new (home) + return new (home) ValSelCommit,ValCommitFunction >(home,sa); } default: diff --git a/gecode/set/branch/val-sel.hpp b/gecode/set/branch/val-sel.hpp index 0a807621ec..f381b46018 100755 --- a/gecode/set/branch/val-sel.hpp +++ b/gecode/set/branch/val-sel.hpp @@ -44,24 +44,24 @@ namespace Gecode { namespace Set { namespace Branch { forceinline - ValSelMin::ValSelMin(Space& home, const ValBranch& vb) + ValSelMin::ValSelMin(Space& home, const ValBranch& vb) : ValSel(home,vb) {} forceinline ValSelMin::ValSelMin(Space& home, bool shared, ValSelMin& vs) : ValSel(home,shared,vs) {} - forceinline int + forceinline int ValSelMin::val(const Space&, SetView x, int) { UnknownRanges u(x); return u.min(); } forceinline - ValSelMax::ValSelMax(Space& home, const ValBranch& vb) + ValSelMax::ValSelMax(Space& home, const ValBranch& vb) : ValSel(home,vb) {} forceinline ValSelMax::ValSelMax(Space& home, bool shared, ValSelMax& vs) : ValSel(home,shared,vs) {} - forceinline int + forceinline int ValSelMax::val(const Space&, SetView x, int) { int max = 0; for (UnknownRanges u(x); u(); ++u) @@ -70,12 +70,12 @@ namespace Gecode { namespace Set { namespace Branch { } forceinline - ValSelMed::ValSelMed(Space& home, const ValBranch& vb) + ValSelMed::ValSelMed(Space& home, const ValBranch& vb) : ValSel(home,vb) {} forceinline ValSelMed::ValSelMed(Space& home, bool shared, ValSelMed& vs) : ValSel(home,shared,vs) {} - forceinline int + forceinline int ValSelMed::val(const Space&, SetView x, int) { UnknownRanges u1(x); unsigned int i = Iter::Ranges::size(u1) / 2; @@ -94,7 +94,7 @@ namespace Gecode { namespace Set { namespace Branch { } forceinline - ValSelRnd::ValSelRnd(Space& home, const ValBranch& vb) + ValSelRnd::ValSelRnd(Space& home, const ValBranch& vb) : ValSel(home,vb), r(vb.rnd()) {} forceinline ValSelRnd::ValSelRnd(Space& home, bool shared, ValSelRnd& vs) diff --git a/gecode/set/branch/val.hpp b/gecode/set/branch/val.hpp index 370f60b448..f1167ecb78 100755 --- a/gecode/set/branch/val.hpp +++ b/gecode/set/branch/val.hpp @@ -37,15 +37,15 @@ namespace Gecode { - forceinline + forceinline SetValBranch::SetValBranch(Select s0) : s(s0) {} - forceinline + forceinline SetValBranch::SetValBranch(Select s0, Rnd r) : ValBranch(r), s(s0) {} - forceinline + forceinline SetValBranch::SetValBranch(VoidFunction v, VoidFunction c) : ValBranch(v,c), s(SEL_VAL_COMMIT) {} diff --git a/gecode/set/branch/var.hpp b/gecode/set/branch/var.hpp index c61cb273a4..e651562081 100755 --- a/gecode/set/branch/var.hpp +++ b/gecode/set/branch/var.hpp @@ -37,31 +37,31 @@ namespace Gecode { - forceinline + forceinline SetVarBranch::SetVarBranch(void) : VarBranch(NULL), s(SEL_NONE) {} - forceinline + forceinline SetVarBranch::SetVarBranch(Select s0, BranchTbl t) : VarBranch(t), s(s0) {} - forceinline + forceinline SetVarBranch::SetVarBranch(Rnd r) : VarBranch(r), s(SEL_RND) {} - forceinline + forceinline SetVarBranch::SetVarBranch(Select s0, double d, BranchTbl t) : VarBranch(d,t), s(s0) {} - forceinline + forceinline SetVarBranch::SetVarBranch(Select s0, AFC a, BranchTbl t) : VarBranch(a,t), s(s0) {} - forceinline + forceinline SetVarBranch::SetVarBranch(Select s0, Activity a, BranchTbl t) : VarBranch(a,t), s(s0) {} - forceinline + forceinline SetVarBranch::SetVarBranch(Select s0, VoidFunction mf, BranchTbl t) : VarBranch(mf,t), s(s0) {} diff --git a/gecode/set/cardinality.cpp b/gecode/set/cardinality.cpp index 8aa5481a4c..cb1e41fc04 100644 --- a/gecode/set/cardinality.cpp +++ b/gecode/set/cardinality.cpp @@ -48,7 +48,7 @@ namespace Gecode { cardinality(Home home, SetVar x, unsigned int i, unsigned int j) { Set::Limits::check(i, "Set::cardinality"); Set::Limits::check(j, "Set::cardinality"); - if (home.failed()) return; + GECODE_POST; Set::SetView _x(x); GECODE_ME_FAIL(_x.cardMin(home, i)); GECODE_ME_FAIL(_x.cardMax(home, j)); @@ -58,7 +58,7 @@ namespace Gecode { cardinality(Home home, const SetVarArgs& x, unsigned int i, unsigned int j) { Set::Limits::check(i, "Set::cardinality"); Set::Limits::check(j, "Set::cardinality"); - if (home.failed()) return; + GECODE_POST; for (int k=x.size(); k--; ) { Set::SetView _x(x[k]); GECODE_ME_FAIL(_x.cardMin(home, i)); @@ -68,7 +68,7 @@ namespace Gecode { void cardinality(Home home, SetVar s, IntVar x) { - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Set::Int::Card::post(home,s, x)); } diff --git a/gecode/set/channel.cpp b/gecode/set/channel.cpp index ec57cb242f..0e65fae937 100644 --- a/gecode/set/channel.cpp +++ b/gecode/set/channel.cpp @@ -47,14 +47,14 @@ namespace Gecode { void channelSorted(Home home, const IntVarArgs& x, SetVar y) { - if (home.failed()) return; + GECODE_POST; ViewArray xa(home,x); GECODE_ES_FAIL(Set::Channel::ChannelSorted::post(home,y,xa)); } void channel(Home home, const IntVarArgs& x, const SetVarArgs& y) { - if (home.failed()) return; + GECODE_POST; ViewArray > xa(home,x.size()); for (int i=x.size(); i--;) new (&xa[i]) Int::CachedView(x[i]); @@ -66,7 +66,7 @@ namespace Gecode { void channel(Home home, const BoolVarArgs& x, SetVar y) { - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL((Set::Channel::ChannelBool ::post(home,xv,y))); @@ -75,7 +75,7 @@ namespace Gecode { void channel(Home home, const SetVarArgs& x, const SetVarArgs& y) { - if (home.failed()) return; + GECODE_POST; ViewArray > xa(home, x.size()); for (int i=x.size(); i--;) new (&xa[i]) Int::CachedView(x[i]); diff --git a/gecode/set/channel.hh b/gecode/set/channel.hh index 058ce5e535..a4acd71fe3 100644 --- a/gecode/set/channel.hh +++ b/gecode/set/channel.hh @@ -77,6 +77,8 @@ namespace Gecode { namespace Set { namespace Channel { virtual Actor* copy(Space& home,bool); /// Cost function (defined as PC_LINEAR_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete Propagator virtual size_t dispose(Space& home); /// Perform propagation @@ -119,9 +121,11 @@ namespace Gecode { namespace Set { namespace Channel { ViewArray >&); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home, bool share); /// Cost function (defined as PC_QUADRATIC_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation @@ -196,6 +200,8 @@ namespace Gecode { namespace Set { namespace Channel { virtual Actor* copy(Space& home,bool); /// Cost function (defined as PC_QUADRATIC_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation @@ -239,6 +245,8 @@ namespace Gecode { namespace Set { namespace Channel { virtual Actor* copy(Space& home, bool); /// Cost function (defined as PC_QUADRATIC_HI) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation diff --git a/gecode/set/channel/bool.hpp b/gecode/set/channel/bool.hpp index 790f5b45b5..fb4154a3a4 100644 --- a/gecode/set/channel/bool.hpp +++ b/gecode/set/channel/bool.hpp @@ -102,7 +102,7 @@ namespace Gecode { namespace Set { namespace Channel { Gecode::Int::BoolView::schedule(home, *this, Gecode::Int::ME_BOOL_VAL); View::schedule(home, *this, y.assigned() ? ME_SET_VAL : ME_SET_BB); if (y.assigned()) { - if (y.glbSize() == y.glbMax()-y.glbMin()+1) { + if (y.glbSize()==static_cast(y.glbMax()-y.glbMin()+1)) { new (&delta) SetDelta(y.glbMin(),y.glbMax(),1,0); } else { new (&delta) SetDelta(2,0,1,0); @@ -133,6 +133,13 @@ namespace Gecode { namespace Set { namespace Channel { return PropCost::quadratic(PropCost::LO, x.size()+1); } + template + void + ChannelBool::reschedule(Space& home) { + x.reschedule(home,*this,Gecode::Int::PC_BOOL_VAL); + View::schedule(home, *this, y.assigned() ? ME_SET_VAL : ME_SET_BB); + } + template forceinline size_t ChannelBool::dispose(Space& home) { @@ -202,7 +209,7 @@ namespace Gecode { namespace Set { namespace Channel { ChannelBool::advise(Space& home, Advisor& _a, const Delta& _d) { IndexAdvisor& a = static_cast(_a); const SetDelta& d = static_cast(_d); - + ModEvent me = View::modevent(d); int index = a.index(); if ( (running && index == -1 && me != ME_SET_VAL) diff --git a/gecode/set/channel/int.hpp b/gecode/set/channel/int.hpp index c4c8d6e0ae..8935dc6918 100644 --- a/gecode/set/channel/int.hpp +++ b/gecode/set/channel/int.hpp @@ -98,6 +98,13 @@ namespace Gecode { namespace Set { namespace Channel { return PropCost::quadratic(PropCost::LO, xs.size()+ys.size()); } + template + void + ChannelInt::reschedule(Space& home) { + xs.reschedule(home,*this, Gecode::Int::PC_INT_DOM); + ys.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ChannelInt::dispose(Space& home) { diff --git a/gecode/set/channel/set.hpp b/gecode/set/channel/set.hpp index c6422c7a6c..77d2924094 100644 --- a/gecode/set/channel/set.hpp +++ b/gecode/set/channel/set.hpp @@ -42,8 +42,7 @@ namespace Gecode { namespace Set { namespace Channel { ChannelSet::ChannelSet(Home home, ViewArray >& xs0, ViewArray >& ys0) - : Propagator(home), xs(xs0), ys(ys0) - { + : Propagator(home), xs(xs0), ys(ys0) { for (int i=xs.size(); i--;) xs[i].initCache(home,IntSet::empty,IntSet(0,ys.size()-1)); for (int i=ys.size(); i--;) @@ -55,8 +54,7 @@ namespace Gecode { namespace Set { namespace Channel { template forceinline ChannelSet::ChannelSet(Space& home, bool share, ChannelSet& p) - : Propagator(home, share, p) - { + : Propagator(home, share, p) { xs.update(home, share, p.xs); ys.update(home, share, p.ys); } @@ -65,17 +63,14 @@ namespace Gecode { namespace Set { namespace Channel { forceinline ExecStatus ChannelSet::post(Home home, ViewArray >& xs, - ViewArray >& ys) - { + ViewArray >& ys) { int xssize = xs.size(); - for (int i=ys.size(); i--;) - { + for (int i=ys.size(); i--;) { GECODE_ME_CHECK(ys[i].exclude(home, xssize, Limits::max)); GECODE_ME_CHECK(ys[i].exclude(home, Limits::min, -1)); } int yssize = ys.size(); - for (int i=xs.size(); i--;) - { + for (int i=xs.size(); i--;) { GECODE_ME_CHECK(xs[i].exclude(home, yssize, Limits::max)); GECODE_ME_CHECK(xs[i].exclude(home, Limits::min, -1)); } @@ -85,15 +80,20 @@ namespace Gecode { namespace Set { namespace Channel { template PropCost - ChannelSet::cost(const Space&, const ModEventDelta&) const - { + ChannelSet::cost(const Space&, const ModEventDelta&) const { return PropCost::quadratic(PropCost::HI, xs.size()+ys.size()); } + template + void + ChannelSet::reschedule(Space& home) { + xs.reschedule(home,*this, PC_SET_ANY); + ys.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t - ChannelSet::dispose(Space& home) - { + ChannelSet::dispose(Space& home) { xs.cancel(home, *this, PC_SET_ANY); ys.cancel(home, *this, PC_SET_ANY); (void) Propagator::dispose(home); @@ -102,71 +102,63 @@ namespace Gecode { namespace Set { namespace Channel { template Actor* - ChannelSet::copy(Space& home, bool share) - { + ChannelSet::copy(Space& home, bool share) { return new (home) ChannelSet(home,share,*this); } template ExecStatus - ChannelSet::propagate(Space& home, const ModEventDelta&) - { + ChannelSet::propagate(Space& home, const ModEventDelta&) { int assigned = 0; bool again = true; - while (again) - { - assigned = 0; - again = false; - for (int i=xs.size(); i--;) - { - if (xs[i].assigned()) - ++assigned; - if (xs[i].glbModified()) - { - GlbDiffRanges xilb(xs[i]); - Iter::Ranges::ToValues > dv(xilb); - for (;dv();++dv) - GECODE_ME_CHECK(ys[dv.val()].include(home,i)); - xs[i].cacheGlb(home); - again = true; - } - if (xs[i].lubModified()) - { - LubDiffRanges xiub(xs[i]); - Iter::Ranges::ToValues > dv(xiub); - for (;dv();++dv) - GECODE_ME_CHECK(ys[dv.val()].exclude(home,i)); - xs[i].cacheLub(home); - again = true; - } - } - for (int i=ys.size(); i--;) - { - if (ys[i].assigned()) - ++assigned; - if (ys[i].glbModified()) - { - GlbDiffRanges yilb(ys[i]); - Iter::Ranges::ToValues > dv(yilb); - for (;dv();++dv) - GECODE_ME_CHECK(xs[dv.val()].include(home,i)); - ys[i].cacheGlb(home); - again = true; - } - if (ys[i].lubModified()) - { - LubDiffRanges yiub(ys[i]); - Iter::Ranges::ToValues > dv(yiub); - for (;dv();++dv) - GECODE_ME_CHECK(xs[dv.val()].exclude(home,i)); - ys[i].cacheLub(home); - again = true; - } - } + while (again) { + assigned = 0; + again = false; + for (int i=xs.size(); i--;) { + if (xs[i].assigned()) + ++assigned; + if (xs[i].glbModified()) { + GlbDiffRanges xilb(xs[i]); + Iter::Ranges::ToValues > dv(xilb); + for (;dv();++dv) + GECODE_ME_CHECK(ys[dv.val()].include(home,i)); + xs[i].cacheGlb(home); + again = true; + } + if (xs[i].lubModified()) { + LubDiffRanges xiub(xs[i]); + Iter::Ranges::ToValues > dv(xiub); + for (;dv();++dv) + GECODE_ME_CHECK(ys[dv.val()].exclude(home,i)); + xs[i].cacheLub(home); + again = true; + } + } + for (int i=ys.size(); i--;) { + if (ys[i].assigned()) + ++assigned; + if (ys[i].glbModified()) { + GlbDiffRanges yilb(ys[i]); + Iter::Ranges::ToValues > dv(yilb); + for (;dv();++dv) + GECODE_ME_CHECK(xs[dv.val()].include(home,i)); + ys[i].cacheGlb(home); + again = true; + } + if (ys[i].lubModified()) { + LubDiffRanges yiub(ys[i]); + Iter::Ranges::ToValues > dv(yiub); + for (;dv();++dv) + GECODE_ME_CHECK(xs[dv.val()].exclude(home,i)); + ys[i].cacheLub(home); + again = true; + } } + } return (assigned == xs.size()+ys.size()) ? home.ES_SUBSUMED(*this) : ES_FIX; } + }}} // STATISTICS: set-prop diff --git a/gecode/set/channel/sorted.hpp b/gecode/set/channel/sorted.hpp index 6807ec8332..f463f9fab6 100644 --- a/gecode/set/channel/sorted.hpp +++ b/gecode/set/channel/sorted.hpp @@ -89,6 +89,13 @@ namespace Gecode { namespace Set { namespace Channel { return PropCost::linear(PropCost::LO, xs.size()+1); } + template + void + ChannelSorted::reschedule(Space& home) { + x0.reschedule(home,*this, PC_SET_ANY); + xs.reschedule(home,*this, Gecode::Int::PC_INT_BND); + } + template forceinline size_t ChannelSorted::dispose(Space& home) { diff --git a/gecode/set/convex.cpp b/gecode/set/convex.cpp index 36639d3879..2bebd70d82 100644 --- a/gecode/set/convex.cpp +++ b/gecode/set/convex.cpp @@ -44,14 +44,14 @@ namespace Gecode { void convex(Home home, SetVar x) { using namespace Gecode::Set; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Convex::Convex::post(home, x)); } void convex(Home home, SetVar x, SetVar y) { using namespace Gecode::Set; - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Convex::ConvexHull::post(home, x,y)); } diff --git a/gecode/set/convex/conv.cpp b/gecode/set/convex/conv.cpp index 5db7527458..9458711be9 100644 --- a/gecode/set/convex/conv.cpp +++ b/gecode/set/convex/conv.cpp @@ -87,7 +87,7 @@ namespace Gecode { namespace Set { namespace Convex { GECODE_ME_CHECK( x0.exclude(home,ubRangeItC.min(), ubRangeItC.max()) ); } } - if (x0.assigned()) + if (x0.assigned()) return home.ES_SUBSUMED(*this); return ES_FIX; } diff --git a/gecode/set/distinct.cpp b/gecode/set/distinct.cpp index 25f6df3bba..9f51650b2d 100644 --- a/gecode/set/distinct.cpp +++ b/gecode/set/distinct.cpp @@ -44,7 +44,7 @@ namespace Gecode { void atmostOne(Home home, const SetVarArgs& xa, unsigned int c) { Set::Limits::check(c, "Set::atmostOne"); - if (home.failed()) return; + GECODE_POST; if (xa.size() < 2) return; ViewArray x(home,xa); diff --git a/gecode/set/dom.cpp b/gecode/set/dom.cpp index 940707f663..881a63a295 100644 --- a/gecode/set/dom.cpp +++ b/gecode/set/dom.cpp @@ -76,7 +76,7 @@ namespace Gecode { void dom(Home home, SetVar s, SetRelType r, const IntSet& is) { Set::Limits::check(is, "Set::dom"); - if (home.failed()) return; + GECODE_POST; Set::SetView _s(s); @@ -193,7 +193,7 @@ namespace Gecode { void dom(Home home, const SetVarArgs& s, SetRelType r, const IntSet& is) { Set::Limits::check(is, "Set::dom"); - if (home.failed()) return; + GECODE_POST; switch (r) { case SRT_EQ: @@ -361,7 +361,7 @@ namespace Gecode { void dom(Home home, SetVar s, SetRelType rt, const IntSet& is, Reify r) { Set::Limits::check(is, "Set::dom"); - if (home.failed()) return; + GECODE_POST; switch (rt) { case SRT_EQ: { @@ -623,8 +623,8 @@ namespace Gecode { void dom(Home home, SetVar x, SetVar d) { - using namespace Set; - if (home.failed()) return; + using namespace Set; + GECODE_POST; SetView xv(x), dv(d); if (!same(xv,dv)) { GECODE_ME_FAIL(xv.cardMax(home,dv.cardMax())); @@ -638,11 +638,11 @@ namespace Gecode { void dom(Home home, const SetVarArgs& x, const SetVarArgs& d) { - using namespace Set; + using namespace Set; if (x.size() != d.size()) throw ArgumentSizeMismatch("Set::dom"); for (int i=x.size(); i--; ) { - if (home.failed()) return; + GECODE_POST; SetView xv(x[i]), dv(d[i]); if (!same(xv,dv)) { GECODE_ME_FAIL(xv.cardMax(home,dv.cardMax())); @@ -654,7 +654,7 @@ namespace Gecode { } } } - + } // STATISTICS: set-post diff --git a/gecode/set/element.cpp b/gecode/set/element.cpp index 05d8c6c6c9..f1e250915b 100644 --- a/gecode/set/element.cpp +++ b/gecode/set/element.cpp @@ -55,8 +55,8 @@ namespace Gecode { void element(Home home, SetOpType op, const SetVarArgs& x, SetVar y, SetVar z, const IntSet& universe) { - if (home.failed()) return; - + GECODE_POST; + switch (op) { case SOT_DUNION: { @@ -68,7 +68,7 @@ namespace Gecode { // fall through case SOT_UNION: { - Set::Element::ElementUnion::IdxViewArray + Set::Element::ElementUnion::IdxViewArray iv(home, x); GECODE_ES_FAIL( (Element::ElementUnion:: @@ -95,12 +95,12 @@ namespace Gecode { void element(Home home, SetOpType op, const IntVarArgs& x, SetVar y, SetVar z, const IntSet& universe) { - if (home.failed()) return; - + GECODE_POST; + switch (op) { case SOT_DUNION: { - Set::Element::ElementDisjoint::IdxViewArray + Set::Element::ElementDisjoint::IdxViewArray iv(home, x); GECODE_ES_FAIL((Element::ElementDisjoint ::post(home,iv,y))); @@ -108,7 +108,7 @@ namespace Gecode { // fall through case SOT_UNION: { - Set::Element::ElementUnion::IdxViewArray + Set::Element::ElementUnion::IdxViewArray iv(home, x); GECODE_ES_FAIL( (Element::ElementUnion:: @@ -135,7 +135,7 @@ namespace Gecode { void element(Home home, SetOpType op, const IntSetArgs& x, SetVar y, SetVar z, const IntSet& universe) { - if (home.failed()) return; + GECODE_POST; switch (op) { case SOT_DUNION: @@ -174,9 +174,9 @@ namespace Gecode { default: throw UnknownOperation("Set::element"); } - + } - + void element(Home home, SetOpType op, const IntArgs& x, SetVar y, SetVar z, const IntSet& universe) { @@ -190,8 +190,8 @@ namespace Gecode { element(Home home, const SetVarArgs& x, IntVar y, SetVar z) { if (x.size() == 0) throw Set::TooFewArguments("Set::element"); - if (home.failed()) return; - Set::Element::ElementUnion::IdxViewArray + GECODE_POST; + Set::Element::ElementUnion::IdxViewArray iv(home, x); SetView zv(z); @@ -207,7 +207,7 @@ namespace Gecode { throw Set::TooFewArguments("Set::element"); for (int i=x.size(); i--;) Set::Limits::check(x[i], "Set::element"); - if (home.failed()) return; + GECODE_POST; SetView zv(z); Int::IntView yv(y); @@ -228,24 +228,24 @@ namespace Gecode { } void - element(Home home, const IntSetArgs& a, + element(Home home, const IntSetArgs& a, IntVar x, int w, IntVar y, int h, SetVar z) { if (a.size() == 0) throw Set::TooFewArguments("Set::element"); if (a.size() != w*h) throw Set::ArgumentSizeMismatch("Set::element"); - if (home.failed()) return; + GECODE_POST; element(home, a, pair(home,x,w,y,h), z); } void - element(Home home, const SetVarArgs& a, + element(Home home, const SetVarArgs& a, IntVar x, int w, IntVar y, int h, SetVar z) { if (a.size() == 0) throw Set::TooFewArguments("Set::element"); if (a.size() != w*h) throw Set::ArgumentSizeMismatch("Set::element"); - if (home.failed()) return; + GECODE_POST; element(home, a, pair(home,x,w,y,h), z); } diff --git a/gecode/set/element.hh b/gecode/set/element.hh index 850674317a..60a1562114 100644 --- a/gecode/set/element.hh +++ b/gecode/set/element.hh @@ -48,18 +48,21 @@ #include namespace Gecode { namespace Int { + /// VarArg type for %Set views template<> class ViewToVarArg { public: typedef Gecode::SetVarArgs argtype; }; + /// VarArg type for singleton views template<> class ViewToVarArg { public: typedef Gecode::IntVarArgs argtype; }; + }} namespace Gecode { namespace Set { namespace Element { @@ -93,7 +96,10 @@ namespace Gecode { namespace Set { namespace Element { public: /// Copy propagator during cloning virtual Actor* copy(Space& home,bool); + /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation @@ -129,7 +135,10 @@ namespace Gecode { namespace Set { namespace Element { public: /// Copy propagator during cloning virtual Actor* copy(Space& home,bool); + /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation @@ -163,7 +172,10 @@ namespace Gecode { namespace Set { namespace Element { public: /// Copy propagator during cloning virtual Actor* copy(Space& home,bool); + /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation @@ -197,7 +209,10 @@ namespace Gecode { namespace Set { namespace Element { public: /// Copy propagator during cloning virtual Actor* copy(Space& home,bool); + /// Cost function virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation diff --git a/gecode/set/element/disjoint.hpp b/gecode/set/element/disjoint.hpp index 31b72fe668..7138d253d5 100644 --- a/gecode/set/element/disjoint.hpp +++ b/gecode/set/element/disjoint.hpp @@ -52,7 +52,7 @@ namespace Gecode { namespace Set { namespace Element { template forceinline - ElementDisjoint::ElementDisjoint(Space& home, bool share, + ElementDisjoint::ElementDisjoint(Space& home, bool share, ElementDisjoint& p) : Propagator(home,share,p) { x1.update(home,share,p.x1); @@ -79,6 +79,13 @@ namespace Gecode { namespace Set { namespace Element { return PropCost::quadratic(PropCost::LO, iv.size()+2); } + template + void + ElementDisjoint::reschedule(Space& home) { + x1.reschedule(home,*this, PC_SET_ANY); + iv.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ElementDisjoint::dispose(Space& home) { diff --git a/gecode/set/element/inter.hpp b/gecode/set/element/inter.hpp index 8953dcf9ab..d2a4098c3a 100644 --- a/gecode/set/element/inter.hpp +++ b/gecode/set/element/inter.hpp @@ -70,6 +70,14 @@ namespace Gecode { namespace Set { namespace Element { return PropCost::linear(PropCost::HI, iv.size()+2); } + template + void + ElementIntersection::reschedule(Space& home) { + x0.reschedule(home,*this, PC_SET_ANY); + x1.reschedule(home,*this, PC_SET_ANY); + iv.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ElementIntersection::dispose(Space& home) { diff --git a/gecode/set/element/union.hpp b/gecode/set/element/union.hpp index ec5a897103..af12e047d0 100644 --- a/gecode/set/element/union.hpp +++ b/gecode/set/element/union.hpp @@ -67,6 +67,14 @@ namespace Gecode { namespace Set { namespace Element { return PropCost::linear(PropCost::HI, iv.size()+2); } + template + void + ElementUnion::reschedule(Space& home) { + x0.reschedule(home,*this, PC_SET_ANY); + x1.reschedule(home,*this, PC_SET_ANY); + iv.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ElementUnion::dispose(Space& home) { diff --git a/gecode/set/element/unionConst.hpp b/gecode/set/element/unionConst.hpp index f51993e47e..8733316a03 100644 --- a/gecode/set/element/unionConst.hpp +++ b/gecode/set/element/unionConst.hpp @@ -73,6 +73,13 @@ namespace Gecode { namespace Set { namespace Element { return PropCost::linear(PropCost::HI, n_iv+2); } + template + void + ElementUnionConst::reschedule(Space& home) { + x0.reschedule(home,*this, PC_SET_ANY); + x1.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ElementUnionConst::dispose(Space& home) { diff --git a/gecode/set/exception.cpp b/gecode/set/exception.cpp new file mode 100644 index 0000000000..1ab5698088 --- /dev/null +++ b/gecode/set/exception.cpp @@ -0,0 +1,71 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * Guido Tack + * + * Copyright: + * Christian Schulte, 2004, 2005 + * Guido Tack, 2005 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Set { + + OutOfLimits::OutOfLimits(const char* l) + : Exception(l,"Number out of limits") {} + + VariableEmptyDomain::VariableEmptyDomain(const char* l) + : Exception(l,"Attempt to create variable with empty domain") {} + + TooFewArguments::TooFewArguments(const char* l) + : Exception(l,"Passed argument array has too few elements") {} + + ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) + : Exception(l,"Sizes of argument arrays mismatch") {} + + IllegalOperation::IllegalOperation(const char* l) + : Exception(l,"Illegal operation type") {} + + UnknownBranching::UnknownBranching(const char* l) + : Exception(l,"Unknown branching type") {} + + UnknownRelation::UnknownRelation(const char* l) + : Exception(l,"Unknown relation type") {} + + UnknownOperation::UnknownOperation(const char* l) + : Exception(l,"Unknown operation type") {} + +}} + +// STATISTICS: set-other + diff --git a/gecode/set/exception.hpp b/gecode/set/exception.hpp index 3051fb08fb..875b46ef46 100644 --- a/gecode/set/exception.hpp +++ b/gecode/set/exception.hpp @@ -45,7 +45,7 @@ namespace Gecode { namespace Set { */ /// %Exception: Value out of limits - class GECODE_VTABLE_EXPORT OutOfLimits : public Exception { + class GECODE_SET_EXPORT OutOfLimits : public Exception { public: /// Initialize with location \a l OutOfLimits(const char* l); @@ -53,49 +53,49 @@ namespace Gecode { namespace Set { //@{ /// %Exception: %Variable created with empty domain - class GECODE_VTABLE_EXPORT VariableEmptyDomain : public Exception { + class GECODE_SET_EXPORT VariableEmptyDomain : public Exception { public: /// Initialize with location \a l VariableEmptyDomain(const char* l); }; /// %Exception: No arguments available in argument array - class GECODE_VTABLE_EXPORT TooFewArguments : public Exception { + class GECODE_SET_EXPORT TooFewArguments : public Exception { public: /// Initialize with location \a l TooFewArguments(const char* l); }; /// %Exception: Arguments are of different size - class GECODE_VTABLE_EXPORT ArgumentSizeMismatch : public Exception { + class GECODE_SET_EXPORT ArgumentSizeMismatch : public Exception { public: /// Initialize with location \a l ArgumentSizeMismatch(const char* l); }; /// %Exception: Unknown value or variable selection passed as argument - class GECODE_VTABLE_EXPORT UnknownBranching : public Exception { + class GECODE_SET_EXPORT UnknownBranching : public Exception { public: /// Initialize with location \a l UnknownBranching(const char* l); }; /// %Exception: Unknown relation type passed as argument - class GECODE_VTABLE_EXPORT UnknownRelation : public Exception { + class GECODE_SET_EXPORT UnknownRelation : public Exception { public: /// Initialize with location \a l UnknownRelation(const char* l); }; /// %Exception: Unknown operation type passed as argument - class GECODE_VTABLE_EXPORT UnknownOperation : public Exception { + class GECODE_SET_EXPORT UnknownOperation : public Exception { public: /// Initialize with location \a l UnknownOperation(const char* l); }; /// %Exception: Illegal operation passed as argument - class GECODE_VTABLE_EXPORT IllegalOperation : public Exception { + class GECODE_SET_EXPORT IllegalOperation : public Exception { public: /// Initialize with location \a l IllegalOperation(const char* l); @@ -103,43 +103,6 @@ namespace Gecode { namespace Set { //@} - /** - * Classes for exceptions raised by set module - * - */ - - inline - OutOfLimits::OutOfLimits(const char* l) - : Exception(l,"Number out of limits") {} - - inline - VariableEmptyDomain::VariableEmptyDomain(const char* l) - : Exception(l,"Attempt to create variable with empty domain") {} - - inline - TooFewArguments::TooFewArguments(const char* l) - : Exception(l,"Passed argument array has too few elements") {} - - inline - ArgumentSizeMismatch::ArgumentSizeMismatch(const char* l) - : Exception(l,"Sizes of argument arrays mismatch") {} - - inline - IllegalOperation::IllegalOperation(const char* l) - : Exception(l,"Illegal operation type") {} - - inline - UnknownBranching::UnknownBranching(const char* l) - : Exception(l,"Unknown branching type") {} - - inline - UnknownRelation::UnknownRelation(const char* l) - : Exception(l,"Unknown relation type") {} - - inline - UnknownOperation::UnknownOperation(const char* l) - : Exception(l,"Unknown operation type") {} - }} // STATISTICS: set-other diff --git a/gecode/set/exec.cpp b/gecode/set/exec.cpp index 4f0c3c1bfa..bc9c4ef862 100644 --- a/gecode/set/exec.cpp +++ b/gecode/set/exec.cpp @@ -42,13 +42,13 @@ namespace Gecode { void wait(Home home, SetVar x, void (*c)(Space& home)) { - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Kernel::UnaryWait::post(home,x,c)); } void wait(Home home, const SetVarArgs& x, void (*c)(Space& home)) { - if (home.failed()) return; + GECODE_POST; ViewArray xv(home,x); GECODE_ES_FAIL(Kernel::NaryWait::post(home,xv,c)); } diff --git a/gecode/set/int.cpp b/gecode/set/int.cpp index 651afd1ad0..3bef0a2501 100644 --- a/gecode/set/int.cpp +++ b/gecode/set/int.cpp @@ -46,7 +46,7 @@ namespace Gecode { void rel(Home home, SetVar s, IntRelType r, IntVar x) { - if (home.failed()) return; + GECODE_POST; switch (r) { case IRT_EQ: { @@ -119,17 +119,17 @@ namespace Gecode { void min(Home home, SetVar s, IntVar x){ - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Set::Int::MinElement::post(home,s,x)); } void notMin(Home home, SetVar s, IntVar x){ - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Set::Int::NotMinElement::post(home,s,x)); } void min(Home home, SetVar s, IntVar x, Reify r){ - if (home.failed()) return; + GECODE_POST; switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Set::Int::ReMinElement @@ -148,17 +148,17 @@ namespace Gecode { } void max(Home home, SetVar s, IntVar x){ - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Set::Int::MaxElement::post(home,s,x)); } void notMax(Home home, SetVar s, IntVar x){ - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Set::Int::NotMaxElement::post(home,s,x)); } void max(Home home, SetVar s, IntVar x, Reify r){ - if (home.failed()) return; + GECODE_POST; switch (r.mode()) { case RM_EQV: GECODE_ES_FAIL((Set::Int::ReMaxElement @@ -178,7 +178,7 @@ namespace Gecode { void weights(Home home, IntSharedArray elements, IntSharedArray weights, SetVar x, IntVar y) { - if (home.failed()) return; + GECODE_POST; GECODE_ES_FAIL(Set::Int::Weights::post(home,elements, weights,x,y)); } diff --git a/gecode/set/int.hh b/gecode/set/int.hh index ed1e5d30dc..52bfe297c3 100644 --- a/gecode/set/int.hh +++ b/gecode/set/int.hh @@ -280,6 +280,8 @@ namespace Gecode { namespace Set { namespace Int { virtual Actor* copy(Space& home,bool); /// Cost function (defined as PC_LINEAR_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation diff --git a/gecode/set/int/minmax.hpp b/gecode/set/int/minmax.hpp index 45e2103c6c..786b5d4918 100644 --- a/gecode/set/int/minmax.hpp +++ b/gecode/set/int/minmax.hpp @@ -298,7 +298,7 @@ namespace Gecode { namespace Set { namespace Int { } if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this, (NotMinElement::post(home(*this),x0,x1))); } // cheap tests for => b=0 diff --git a/gecode/set/int/weights.hpp b/gecode/set/int/weights.hpp index 7a7b8ca4e0..9527d1478f 100644 --- a/gecode/set/int/weights.hpp +++ b/gecode/set/int/weights.hpp @@ -148,9 +148,9 @@ namespace Gecode { namespace Set { namespace Int { template forceinline Weights::Weights(Home home, - const SharedArray& elements0, - const SharedArray& weights0, - View x0, Gecode::Int::IntView y0) + const SharedArray& elements0, + const SharedArray& weights0, + View x0, Gecode::Int::IntView y0) : Propagator(home), elements(elements0), weights(weights0), x(x0), y(y0) { home.notice(*this,AP_DISPOSE); @@ -192,6 +192,13 @@ namespace Gecode { namespace Set { namespace Int { return PropCost::linear(PropCost::LO, y.size()+1); } + template + void + Weights::reschedule(Space& home) { + x.reschedule(home,*this, PC_SET_ANY); + y.reschedule(home,*this, Gecode::Int::PC_INT_BND); + } + template forceinline size_t Weights::dispose(Space& home) { @@ -244,34 +251,37 @@ namespace Gecode { namespace Set { namespace Int { template ExecStatus Weights::propagate(Space& home, const ModEventDelta&) { - ModEvent me = ME_SET_NONE; if (!x.assigned()) { // Collect the weights of the elements in the unknown set in an array int size = elements.size(); Region r(home); - int* currentWeights = r.alloc(size); + int* minWeights = r.alloc(size); + int* maxWeights = r.alloc(size); UnknownRanges ur(x); Iter::Ranges::ToValues > urv(ur); for (int i=0; i(currentWeights, size, il); + Support::quicksort(minWeights, size, il); + Support::quicksort(maxWeights, size, il); // The maximum number of elements that can still be added to x int delta = static_cast(std::min(x.unknownSize(), x.cardMax() - x.glbSize())); - + // The weight of the elements already in x GlbRanges glb(x); int glbWeight = weightI >(elements, weights, glb); @@ -283,29 +293,29 @@ namespace Gecode { namespace Set { namespace Int { // all other elements are minimal) int lowWeight = glbWeight; for (int i=0; i= 0) + if (minWeights[i] >= 0) break; - lowWeight+=currentWeights[i]; + lowWeight+=minWeights[i]; } // Compute the lowest possible weight of x. If there is another element // with negative weight left, then add its weight to lowWeight. // Otherwise lowWeight is already the lowest possible weight. int lowestWeight = lowWeight; - if (delta>0 && currentWeights[delta-1]<0) - lowestWeight+=currentWeights[delta-1]; + if (delta>0 && minWeights[delta-1]<0) + lowestWeight+=minWeights[delta-1]; // If after including the minimal number of required elements, // no more element with negative weight is available, then // a tighter lower bound can be computed. if ( (x.cardMin() - x.glbSize() > 0 && - currentWeights[x.cardMin() - x.glbSize() - 1] >= 0) || - currentWeights[0] >= 0 ) { + minWeights[x.cardMin() - x.glbSize() - 1] >= 0) || + minWeights[0] >= 0 ) { int lowestPosWeight = glbWeight; for (unsigned int i=0; i a(x.size()); for (int i = 0 ; i < x.size() ; i++) @@ -77,13 +77,13 @@ namespace Gecode { namespace Set { namespace LDSB { */ SymmetryImp* createSetSym(Space& home, const SymmetryHandle& s, VariableMap variableMap) { - VariableSymmetryObject* varref = + VariableSymmetryObject* varref = dynamic_cast(s.ref); - ValueSymmetryObject* valref = + ValueSymmetryObject* valref = dynamic_cast(s.ref); - VariableSequenceSymmetryObject* varseqref = + VariableSequenceSymmetryObject* varseqref = dynamic_cast(s.ref); - ValueSequenceSymmetryObject* valseqref = + ValueSequenceSymmetryObject* valseqref = dynamic_cast(s.ref); if (varref) { int n = varref->nxs; @@ -91,7 +91,7 @@ namespace Gecode { namespace Set { namespace LDSB { for (int i = 0 ; i < n ; i++) { VariableMap::const_iterator index = variableMap.find(varref->xs[i]); if (index == variableMap.end()) - throw + throw Int::LDSBUnbranchedVariable("VariableSymmetryObject::createSet"); indices[i] = index->second; } @@ -111,14 +111,14 @@ namespace Gecode { namespace Set { namespace LDSB { int n = varseqref->nxs; int* indices = home.alloc(n); for (int i = 0 ; i < n ; i++) { - VariableMap::const_iterator index = + VariableMap::const_iterator index = variableMap.find(varseqref->xs[i]); if (index == variableMap.end()) - throw + throw Int::LDSBUnbranchedVariable("VariableSequenceSymmetryObject::createSet"); indices[i] = index->second; } - return new (home) VariableSequenceSymmetryImp(home, indices, n, + return new (home) VariableSequenceSymmetryImp(home, indices, n, varseqref->seq_size); } if (valseqref) { @@ -126,7 +126,7 @@ namespace Gecode { namespace Set { namespace LDSB { int *vs = home.alloc(n); for (unsigned int i = 0 ; i < n ; i++) vs[i] = valseqref->values[i]; - return new (home) ValueSequenceSymmetryImp(home, vs, n, + return new (home) ValueSequenceSymmetryImp(home, vs, n, valseqref->seq_size); } GECODE_NEVER; @@ -138,17 +138,17 @@ namespace Gecode { using namespace Set::LDSB; - BrancherHandle + void branch(Home home, const SetVarArgs& x, SetVarBranch vars, SetValBranch vals, const Symmetries& syms, SetBranchFilter bf, SetVarValPrint vvp) { using namespace Set; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.expand(home,x); ViewArray xv(home,x); - ViewSel* vs[1] = { - Branch::viewsel(home,vars) + ViewSel* vs[1] = { + Branch::viewsel(home,vars) }; // Construct mapping from each variable in the array to its index @@ -156,27 +156,27 @@ namespace Gecode { VariableMap variableMap; for (int i = 0 ; i < x.size() ; i++) variableMap[x[i].varimp()] = i; - + // Convert the modelling-level Symmetries object into an array of // SymmetryImp objects. int n = syms.size(); - SymmetryImp** array = + SymmetryImp** array = static_cast(home).alloc* >(n); for (int i = 0 ; i < n ; i++) { array[i] = createSetSym(home, syms[i], variableMap); } - return LDSBSetBrancher::post + LDSBSetBrancher::post (home,xv,vs,Branch::valselcommit(home,vals),array,n,bf,vvp); } - BrancherHandle + void branch(Home home, const SetVarArgs& x, TieBreak vars, SetValBranch vals, - const Symmetries& syms, + const Symmetries& syms, SetBranchFilter bf, SetVarValPrint vvp) { using namespace Set; - if (home.failed()) return BrancherHandle(); + if (home.failed()) return; vars.a.expand(home,x); if ((vars.a.select() == SetVarBranch::SEL_NONE) || (vars.a.select() == SetVarBranch::SEL_RND)) @@ -191,14 +191,14 @@ namespace Gecode { vars.d = SET_VAR_NONE(); vars.d.expand(home,x); if (vars.b.select() == SetVarBranch::SEL_NONE) { - return branch(home,x,vars.a,vals,syms,bf,vvp); + branch(home,x,vars.a,vals,syms,bf,vvp); } else { // Construct mapping from each variable in the array to its index // in the array. VariableMap variableMap; for (int i = 0 ; i < x.size() ; i++) variableMap[x[i].varimp()] = i; - + // Convert the modelling-level Symmetries object into an array of // SymmetryImp objects. int n = syms.size(); @@ -209,27 +209,24 @@ namespace Gecode { } ViewArray xv(home,x); - ValSelCommitBase* vsc = Branch::valselcommit(home,vals); + ValSelCommitBase* vsc = Branch::valselcommit(home,vals); if (vars.c.select() == SetVarBranch::SEL_NONE) { - ViewSel* vs[2] = { + ViewSel* vs[2] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b) }; - return - LDSBSetBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); + LDSBSetBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); } else if (vars.d.select() == SetVarBranch::SEL_NONE) { - ViewSel* vs[3] = { + ViewSel* vs[3] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b), Branch::viewsel(home,vars.c) }; - return - LDSBSetBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); + LDSBSetBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); } else { - ViewSel* vs[4] = { + ViewSel* vs[4] = { Branch::viewsel(home,vars.a),Branch::viewsel(home,vars.b), Branch::viewsel(home,vars.c),Branch::viewsel(home,vars.d) }; - return - LDSBSetBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); + LDSBSetBrancher::post(home,xv,vs,vsc,array,n,bf,vvp); } } } diff --git a/gecode/set/ldsb.hh b/gecode/set/ldsb.hh index e4edc99775..401fa5543a 100644 --- a/gecode/set/ldsb.hh +++ b/gecode/set/ldsb.hh @@ -48,7 +48,7 @@ namespace Gecode { namespace Set { namespace LDSB { using namespace Int::LDSB; - + /** * \brief Symmetry-breaking brancher with generic view and value * selection @@ -61,8 +61,8 @@ namespace Gecode { namespace Set { namespace LDSB { class LDSBSetBrancher : public LDSBBrancher { public: /// Function type for printing variable and value selection - typedef void (*VarValPrint)(const Space& home, const BrancherHandle& bh, - unsigned int b, + typedef void (*VarValPrint)(const Space& home, const Brancher& b, + unsigned int alt, typename View::VarType x, int i, const Val& m, std::ostream& o); @@ -81,20 +81,20 @@ namespace Gecode { namespace Set { namespace LDSB { IntSet _leftBranchValues; /** * \brief Is the state of the brancher "stable"? - * + * * The brancher is unstable if we are about to run either "choice" * or "commit", but "updatePart1" has not been run. After * "updatePart1" has been run the brancher is stable, until the * second part of the update is done (in commit). */ bool _stable; - + /// Constructor for cloning \a b LDSBSetBrancher(Space& home, bool share, LDSBSetBrancher& b); /// Constructor for creation - LDSBSetBrancher(Home home, + LDSBSetBrancher(Home home, ViewArray& x, - ViewSel* vs[n], + ViewSel* vs[n], ValSelCommitBase* vsc, SymmetryImp** syms, int nsyms, SetBranchFilter bf, @@ -106,14 +106,14 @@ namespace Gecode { namespace Set { namespace LDSB { /// Perform cloning virtual Actor* copy(Space& home, bool share); /// Brancher post function - static BrancherHandle post(Home home, - ViewArray& x, - ViewSel* vs[n], - ValSelCommitBase* vsc, - SymmetryImp** _syms, - int _nsyms, - SetBranchFilter bf, - VarValPrint vvp); + static void post(Home home, + ViewArray& x, + ViewSel* vs[n], + ValSelCommitBase* vsc, + SymmetryImp** _syms, + int _nsyms, + SetBranchFilter bf, + VarValPrint vvp); /** * \brief Part one of the update phase diff --git a/gecode/set/ldsb/brancher.hpp b/gecode/set/ldsb/brancher.hpp index 570a519a86..bf65dc42c3 100644 --- a/gecode/set/ldsb/brancher.hpp +++ b/gecode/set/ldsb/brancher.hpp @@ -94,7 +94,7 @@ namespace Gecode { namespace Set { namespace LDSB { * used values, and makes a new symmetry containing the intersection * values, if there are at least two. Returns the new symmetry, or * NULL if the intersection has fewer than two elements. - */ + */ template ValueSymmetryImp* specialUpdate(Space& home, ValueSymmetryImp* s, IntSet usedValues) { @@ -114,7 +114,7 @@ namespace Gecode { namespace Set { namespace LDSB { for (IntSetValues v(usedValues) ; v() ; ++v) { s->update(Literal(0, v.val())); } - + if (intersection.size() < 2) return NULL; int *a = new int[intersection.size()]; @@ -146,16 +146,16 @@ namespace Gecode { namespace Set { namespace LDSB { ValueSymmetryImp* ns = specialUpdate(home, _copiedSyms[i], _leftBranchValues); if (ns) { - this->_syms = home.realloc*>(this->_syms, - this->_nsyms, + this->_syms = home.realloc*>(this->_syms, + this->_nsyms, this->_nsyms+1); this->_syms[this->_nsyms] = ns; this->_nsyms++; this->_nValueSymmetries++; - } + } } } - + // Reset for current variable, make copy of value symmetries _leftBranchValues = IntSet::empty; _prevPos = choicePos; @@ -164,9 +164,9 @@ namespace Gecode { namespace Set { namespace LDSB { _copiedSyms = home.alloc*>(_nCopiedSyms); int i = 0; for (int j = _nNonValueSymmetries ; j < this->_nsyms ; j++) { - ValueSymmetryImp* vsi = + ValueSymmetryImp* vsi = static_cast*>(this->_syms[j]); - _copiedSyms[i] = + _copiedSyms[i] = static_cast*>(vsi->copy(home, false)); i++; } @@ -181,7 +181,7 @@ namespace Gecode { namespace Set { namespace LDSB { // Making the PVC here is not so nice, I think. const Choice* c = ViewValBrancher::choice(home); const PosValChoice* pvc = static_cast* >(c); - + // Compute symmetries. int choicePos = pvc->pos().pos; @@ -204,7 +204,7 @@ namespace Gecode { namespace Set { namespace LDSB { if (!_stable) updatePart1(home, choicePos); - + if (b == 0) { IntArgs ia; for (IntSetValues v(_leftBranchValues) ; v() ; ++v) { @@ -212,7 +212,7 @@ namespace Gecode { namespace Set { namespace LDSB { } ia << choiceVal; _leftBranchValues = IntSet(ia); - + // Post the branching constraint. ExecStatus fromBase = ViewValBrancher::commit(home, c, b); GECODE_ES_CHECK(fromBase); @@ -232,10 +232,10 @@ namespace Gecode { namespace Set { namespace LDSB { GECODE_ME_CHECK(me); } } - + return ES_OK; } - + template Actor* LDSBSetBrancher::copy(Space& home, bool shared) { @@ -243,14 +243,14 @@ namespace Gecode { namespace Set { namespace LDSB { } template - forceinline BrancherHandle + forceinline void LDSBSetBrancher:: post(Home home, ViewArray& x, ViewSel* vs[n], ValSelCommitBase* vsc, SymmetryImp** syms, int nsyms, SetBranchFilter bf, VarValPrint vvp) { - return *new (home) LDSBSetBrancher(home,x,vs,vsc,syms,nsyms,bf,vvp); + (void) new (home) LDSBSetBrancher(home,x,vs,vsc,syms,nsyms,bf,vvp); } }}} diff --git a/gecode/set/ldsb/sym-imp.cpp b/gecode/set/ldsb/sym-imp.cpp index 0a4cf02f45..1c1002068a 100644 --- a/gecode/set/ldsb/sym-imp.cpp +++ b/gecode/set/ldsb/sym-imp.cpp @@ -128,10 +128,10 @@ namespace Gecode { namespace Int { namespace LDSB { break; } } - + if (active) { s.push(Literal(secondSeq[seqPos], l._value)); - } + } } } return dynamicStackToArgArray(s); diff --git a/gecode/set/precede.cpp b/gecode/set/precede.cpp index 5e02f17c30..ee7cdd0e91 100644 --- a/gecode/set/precede.cpp +++ b/gecode/set/precede.cpp @@ -50,7 +50,7 @@ namespace Gecode { using namespace Set; Limits::check(s,"Set::precede"); Limits::check(t,"Set::precede"); - if (home.failed()) return; + GECODE_POST; ViewArray y(home, x); GECODE_ES_FAIL(Precede::Single::post(home, y, s, t)); @@ -63,7 +63,7 @@ namespace Gecode { return; for (int i=c.size(); i--; ) Limits::check(c[i],"Set::precede"); - if (home.failed()) return; + GECODE_POST; for (int i=c.size()-1; i--; ) { ViewArray y(home, x); diff --git a/gecode/set/precede.hh b/gecode/set/precede.hh index 005ebd96a0..df043c8430 100644 --- a/gecode/set/precede.hh +++ b/gecode/set/precede.hh @@ -52,7 +52,7 @@ */ namespace Gecode { namespace Set { namespace Precede { - + /** * \brief Single value precedence propagator * @@ -96,6 +96,8 @@ namespace Gecode { namespace Set { namespace Precede { virtual Propagator* copy(Space& home, bool share); /// Cost function virtual PropCost cost(const Space&, const ModEventDelta&) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Give advice to propagator diff --git a/gecode/set/precede/single.hpp b/gecode/set/precede/single.hpp index b8008b59c9..76fa226629 100644 --- a/gecode/set/precede/single.hpp +++ b/gecode/set/precede/single.hpp @@ -42,7 +42,7 @@ */ namespace Gecode { namespace Set { namespace Precede { - + template forceinline Single::Index::Index(Space& home, Propagator& p, @@ -54,9 +54,9 @@ namespace Gecode { namespace Set { namespace Precede { Single::Index::Index(Space& home, bool share, Index& a) : Advisor(home,share,a), i(a.i) {} - + template - forceinline ExecStatus + forceinline ExecStatus Single::updateAlpha(Space& home) { int n = x.size(); while (alpha < n) { @@ -86,12 +86,12 @@ namespace Gecode { namespace Set { namespace Precede { } return ES_OK; } - + template forceinline - Single::Single(Home home, ViewArray& x0, + Single::Single(Home home, ViewArray& x0, int s0, int t0, int b, int g) - : NaryPropagator(home,x0), + : NaryPropagator(home,x0), c(home), s(s0), t(t0), alpha(0), beta(b), gamma(g) { for (int i=x.size(); i--; ) if (!x[i].assigned()) @@ -138,7 +138,7 @@ namespace Gecode { namespace Set { namespace Precede { (void) new (home) Single(home, x, s, t, beta, gamma); return ES_OK; } - + template @@ -185,18 +185,24 @@ namespace Gecode { namespace Set { namespace Precede { } template - PropCost + PropCost Single::cost(const Space&, const ModEventDelta&) const { return PropCost::linear(PropCost::LO, x.size()); } + template + void + Single::reschedule(Space& home) { + View::schedule(home, *this, ME_SET_BB); + } + template ExecStatus Single::advise(Space& home, Advisor& a0, const Delta&) { Index& a(static_cast(a0)); int i = a.i; // Check for gamma - if ((beta <= gamma) && (i < gamma) && + if ((beta <= gamma) && (i < gamma) && x[i].notContains(s) && x[i].contains(t)) gamma = i; if (x[i].assigned()) { @@ -214,7 +220,7 @@ namespace Gecode { namespace Set { namespace Precede { return ES_NOFIX; return ES_FIX; } - + template ExecStatus Single::propagate(Space& home, const ModEventDelta&) { @@ -246,10 +252,10 @@ namespace Gecode { namespace Set { namespace Precede { } else if ((beta < n) && (x[beta].notContains(s) || x[beta].contains(t))) { GECODE_ES_CHECK(updateBeta(home)); } - + return (c.empty()) ? home.ES_SUBSUMED(*this) : ES_FIX; } - + }}} // STATISTICS: set-prop diff --git a/gecode/set/rel-op-const-cvv.cpp b/gecode/set/rel-op-const-cvv.cpp index 7fd05dc98b..ea28a22579 100644 --- a/gecode/set/rel-op-const-cvv.cpp +++ b/gecode/set/rel-op-const-cvv.cpp @@ -52,7 +52,7 @@ namespace Gecode { SetVar z) { Set::Limits::check(x, "Set::rel"); ConstSetView xv(home, x); - if (home.failed()) return; + GECODE_POST; if (r == SRT_CMPL) { post_compl(home, xv, op, y, z); } else { diff --git a/gecode/set/rel-op-singleton.cpp b/gecode/set/rel-op-singleton.cpp index fdbb4a4245..8d29f5276f 100644 --- a/gecode/set/rel-op-singleton.cpp +++ b/gecode/set/rel-op-singleton.cpp @@ -47,7 +47,7 @@ namespace Gecode { void rel(Home home, SetOpType op, const IntVarArgs& x, SetVar y) { - if (home.failed()) return; + GECODE_POST; ViewArray xa(home,x.size()); for (int i=x.size(); i--;) { Int::IntView iv(x[i]); @@ -78,9 +78,9 @@ namespace Gecode { } void - rel(Home home, SetOpType op, const IntVarArgs& x, const IntSet& z, + rel(Home home, SetOpType op, const IntVarArgs& x, const IntSet& z, SetVar y) { - if (home.failed()) return; + GECODE_POST; Set::Limits::check(z, "Set::rel"); ViewArray xa(home,x.size()); for (int i=x.size(); i--;) { diff --git a/gecode/set/rel-op-ternary.cpp b/gecode/set/rel-op-ternary.cpp index 78ddfca9bf..346132c2e1 100644 --- a/gecode/set/rel-op-ternary.cpp +++ b/gecode/set/rel-op-ternary.cpp @@ -47,7 +47,7 @@ namespace Gecode { void rel(Home home, SetVar x, SetOpType op, SetVar y, SetRelType r, SetVar z) { - if (home.failed()) return; + GECODE_POST; if (r == SRT_CMPL) { post_compl(home, x, op, y, z); } else { diff --git a/gecode/set/rel-op.cpp b/gecode/set/rel-op.cpp index 83985525cb..40a48fbf7f 100644 --- a/gecode/set/rel-op.cpp +++ b/gecode/set/rel-op.cpp @@ -47,7 +47,7 @@ namespace Gecode { void rel(Home home, SetOpType op, const SetVarArgs& x, SetVar y) { - if (home.failed()) return; + GECODE_POST; ViewArray xa(home,x); switch (op) { case SOT_UNION: @@ -74,7 +74,7 @@ namespace Gecode { void rel(Home home, SetOpType op, const SetVarArgs& x, const IntSet& z, SetVar y) { - if (home.failed()) return; + GECODE_POST; Set::Limits::check(z, "Set::rel"); ViewArray xa(home,x); switch (op) { diff --git a/gecode/set/rel-op.hh b/gecode/set/rel-op.hh index 651d863492..4d7dcb9c96 100644 --- a/gecode/set/rel-op.hh +++ b/gecode/set/rel-op.hh @@ -183,7 +183,7 @@ namespace Gecode { namespace Set { namespace RelOp { * \ingroup FuncSetProp */ template - class IntersectionN : + class IntersectionN : public MixNaryOnePropagator { protected: using MixNaryOnePropagator::x; diff --git a/gecode/set/rel-op/common.hpp b/gecode/set/rel-op/common.hpp index a1e2fd17cc..b057a79300 100644 --- a/gecode/set/rel-op/common.hpp +++ b/gecode/set/rel-op/common.hpp @@ -567,8 +567,8 @@ namespace Set { namespace RelOp { GLBndSet& unionOfDets) { assert(unionOfDets.isConsistent()); int xsize = x.size(); - Region r(home); - GlbRanges* xLBs = r.alloc >(xsize); + Region reg(home); + GlbRanges* xLBs = reg.alloc >(xsize); int nonEmptyCounter=0; for (int i = xsize; i--; ) { GlbRanges r(x[i]); @@ -578,7 +578,7 @@ namespace Set { namespace RelOp { } } if (nonEmptyCounter !=0) { - Iter::Ranges::NaryUnion xLBUnion(r,xLBs,nonEmptyCounter); + Iter::Ranges::NaryUnion xLBUnion(reg,xLBs,nonEmptyCounter); BndSetRanges dets(unionOfDets); xLBUnion |= dets; GECODE_ME_CHECK_MODIFIED(modified, y.includeI(home,xLBUnion)); @@ -593,8 +593,8 @@ namespace Set { namespace RelOp { bool& modified, ViewArray& x, View1& y, GLBndSet& unionOfDets) { int xsize = x.size(); - Region r(home); - LubRanges* xUBs = r.alloc >(xsize); + Region reg(home); + LubRanges* xUBs = reg.alloc >(xsize); int nonEmptyCounter=0; for (int i = xsize; i--; ) { LubRanges r(x[i]); @@ -604,7 +604,7 @@ namespace Set { namespace RelOp { } } if (nonEmptyCounter != 0) { - Iter::Ranges::NaryUnion xUBUnion(r,xUBs,nonEmptyCounter); + Iter::Ranges::NaryUnion xUBUnion(reg,xUBs,nonEmptyCounter); BndSetRanges dets(unionOfDets); xUBUnion |= dets; GECODE_ME_CHECK_MODIFIED(modified, y.intersectI(home,xUBUnion)); diff --git a/gecode/set/rel-op/union.hpp b/gecode/set/rel-op/union.hpp index a875429dff..eb998ed012 100644 --- a/gecode/set/rel-op/union.hpp +++ b/gecode/set/rel-op/union.hpp @@ -267,7 +267,7 @@ namespace Gecode { namespace Set { namespace RelOp { template ExecStatus - UnionN::propagate(Space& home, const ModEventDelta& med) { + UnionN::propagate(Space& home, const ModEventDelta& med) { ModEvent me0 = View0::me(med); ModEvent me1 = View1::me(med); bool ubevent = Rel::testSetEventUB(me0, me1); @@ -279,28 +279,33 @@ namespace Gecode { namespace Set { namespace RelOp { bool oldModified = false; do { - oldModified = modified; - modified = false; - if (modified || oldModified || ubevent) - GECODE_ES_CHECK(unionNXiUB(home, modified, x, y,unionOfDets)); - if (modified || oldModified || ubevent) - GECODE_ES_CHECK(partitionNYUB(home, modified, x, y,unionOfDets)); - if (modified || oldModified || anybevent) - GECODE_ES_CHECK(partitionNXiLB(home, modified, x, y,unionOfDets)); - if (modified || oldModified || lbevent) - GECODE_ES_CHECK(partitionNYLB(home, modified, x, y,unionOfDets)); - if (modified || oldModified || cardevent || ubevent) - GECODE_ES_CHECK(unionNCard(home, modified, x, y, unionOfDets)); - } while (modified); + do { + oldModified = modified; + modified = false; + if (modified || oldModified || ubevent) + GECODE_ES_CHECK(unionNXiUB(home, modified, x, y,unionOfDets)); + if (modified || oldModified || ubevent) + GECODE_ES_CHECK(partitionNYUB(home, modified, x, y,unionOfDets)); + if (modified || oldModified || anybevent) + GECODE_ES_CHECK(partitionNXiLB(home, modified, x, y,unionOfDets)); + if (modified || oldModified || lbevent) + GECODE_ES_CHECK(partitionNYLB(home, modified, x, y,unionOfDets)); + if (modified || oldModified || cardevent || ubevent) { + GECODE_ES_CHECK(unionNCard(home, modified, x, y, unionOfDets)); + } + } while (modified); - for(int i=0;i det(x[i]); - unionOfDets.includeI(home,det); - x.move_lst(i); + for(int i=0;i det(x[i]); + unionOfDets.includeI(home,det); + x.move_lst(i); + modified = true; + } } - } + + } while (modified); // When we run out of variables, make a final check and disolve: if (x.size()==0) { BndSetRanges all1(unionOfDets); diff --git a/gecode/set/rel.cpp b/gecode/set/rel.cpp index af629b2a68..80575abc34 100644 --- a/gecode/set/rel.cpp +++ b/gecode/set/rel.cpp @@ -42,15 +42,14 @@ #include #include -namespace Gecode { - using namespace Set; - using namespace Set::Rel; - using namespace Set::RelOp; +namespace Gecode { namespace Set { template void rel_post(Home home, View0 x0, SetRelType r, View1 x1) { - if (home.failed()) return; + using namespace Set::Rel; + using namespace Set::RelOp; + GECODE_POST; switch (r) { case SRT_EQ: GECODE_ES_FAIL((Eq::post(home,x0,x1))); @@ -98,7 +97,9 @@ namespace Gecode { template void rel_re(Home home, View0 x, SetRelType r, View1 y, BoolVar b) { - if (home.failed()) return; + using namespace Set::Rel; + using namespace Set::RelOp; + GECODE_POST; switch (r) { case SRT_EQ: GECODE_ES_FAIL((ReEq @@ -165,13 +166,19 @@ namespace Gecode { } } +}} + +namespace Gecode { + void rel(Home home, SetVar x, SetRelType r, SetVar y) { + using namespace Set; rel_post(home,x,r,y); } void rel(Home home, SetVar s, SetRelType r, IntVar x) { + using namespace Set; Gecode::Int::IntView xv(x); SingletonView xsingle(xv); rel_post(home,s,r,xv); @@ -179,6 +186,7 @@ namespace Gecode { void rel(Home home, IntVar x, SetRelType r, SetVar s) { + using namespace Set; switch (r) { case SRT_SUB: rel(home, s, SRT_SUP, x); @@ -193,6 +201,7 @@ namespace Gecode { void rel(Home home, SetVar x, SetRelType rt, SetVar y, Reify r) { + using namespace Set; switch (r.mode()) { case RM_EQV: rel_re(home,x,rt,y,r.var()); @@ -209,6 +218,7 @@ namespace Gecode { void rel(Home home, SetVar s, SetRelType rt, IntVar x, Reify r) { + using namespace Set; Gecode::Int::IntView xv(x); SingletonView xsingle(xv); switch (r.mode()) { @@ -227,6 +237,7 @@ namespace Gecode { void rel(Home home, IntVar x, SetRelType rt, SetVar s, Reify r) { + using namespace Set; switch (rt) { case SRT_SUB: rel(home, s, SRT_SUP, x, r); diff --git a/gecode/set/rel.hh b/gecode/set/rel.hh index b0e8a72ddd..efdc2b83dc 100644 --- a/gecode/set/rel.hh +++ b/gecode/set/rel.hh @@ -67,16 +67,16 @@ namespace Gecode { namespace Set { namespace Rel { using MixBinaryPropagator::x0; using MixBinaryPropagator::x1; /// Constructor for cloning \a p - Subset(Space& home, bool share,Subset& p); + Subset(Space& home, bool share, Subset& p); /// Constructor for posting - Subset(Home home,View0, View1); + Subset(Home home, View0 x0, View1 x1); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home, bool share); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x\subseteq y\f$ - static ExecStatus post(Home home,View0 x,View1 y); + static ExecStatus post(Home home, View0 x, View1 y); }; /** @@ -93,12 +93,12 @@ namespace Gecode { namespace Set { namespace Rel { using MixBinaryPropagator::x0; using MixBinaryPropagator::x1; /// Constructor for cloning \a p - NoSubset(Space& home, bool share,NoSubset& p); + NoSubset(Space& home, bool share, NoSubset& p); /// Constructor for posting - NoSubset(Home home,View0,View1); + NoSubset(Home home, View0 x0, View1 x1); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home, bool share); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x\subseteq y\f$ @@ -114,25 +114,29 @@ namespace Gecode { namespace Set { namespace Rel { template class ReSubset : public Propagator { protected: + /// Variable view View0 x0; + /// Variable view View1 x1; + /// Boolean control view Gecode::Int::BoolView b; - /// Constructor for cloning \a p - ReSubset(Space& home, bool share,ReSubset&); + ReSubset(Space& home, bool share, ReSubset& p); /// Constructor for posting - ReSubset(Home home,View0, View1, Gecode::Int::BoolView); + ReSubset(Home home, View0 x0, View1 x1, Gecode::Int::BoolView b); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); - /// Cost function (defined as PC_TERNARY_LO) + virtual Actor* copy(Space& home, bool share); + /// Cost function (defined as ternary low) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for \f$ (x\subseteq y) \Leftrightarrow b \f$ - static ExecStatus post(Home home,View0 x, View1 y, + static ExecStatus post(Home home, View0 x, View1 y, Gecode::Int::BoolView b); }; @@ -148,16 +152,16 @@ namespace Gecode { namespace Set { namespace Rel { using MixBinaryPropagator::x0; using MixBinaryPropagator::x1; /// Constructor for cloning \a p - Eq(Space& home, bool share,Eq& p); + Eq(Space& home, bool share, Eq& p); /// Constructor for posting - Eq(Home home,View0, View1); + Eq(Home home, View0 x0, View1 x1); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home, bool share); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x=y \f$ - static ExecStatus post(Home home,View0,View1); + static ExecStatus post(Home home, View0 x, View1 y); }; /** @@ -172,22 +176,23 @@ namespace Gecode { namespace Set { namespace Rel { View0 x0; View1 x1; CtrlView b; - /// Constructor for cloning \a p ReEq(Space& home, bool share,ReEq&); /// Constructor for posting - ReEq(Home home,View0, View1, CtrlView); + ReEq(Home home, View0 x0, View1 x1, CtrlView b); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home,bool); /// Cost function (defined as PC_TERNARY_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for \f$ (x=y) \Leftrightarrow b\f$ - static ExecStatus post(Home home,View0 x, View1 y, + static ExecStatus post(Home home, View0 x, View1 y, CtrlView b); }; @@ -205,16 +210,16 @@ namespace Gecode { namespace Set { namespace Rel { using MixBinaryPropagator::x0; using MixBinaryPropagator::x1; /// Constructor for cloning \a p - Lq(Space& home, bool share,Lq& p); + Lq(Space& home, bool share, Lq& p); /// Constructor for posting - Lq(Home home,View0, View1); + Lq(Home home, View0 x0, View1 x1); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home,bool); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x\leq y \f$ - static ExecStatus post(Home home,View0,View1); + static ExecStatus post(Home home, View0 x, View1 y); }; /** @@ -231,22 +236,23 @@ namespace Gecode { namespace Set { namespace Rel { View0 x0; View1 x1; Gecode::Int::BoolView b; - /// Constructor for cloning \a p - ReLq(Space& home, bool share,ReLq&); + ReLq(Space& home, bool share, ReLq& p); /// Constructor for posting - ReLq(Home home,View0, View1, Gecode::Int::BoolView); + ReLq(Home home, View0 x0, View1 x1, Gecode::Int::BoolView b); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home,bool); /// Cost function (defined as PC_TERNARY_LO) virtual PropCost cost(const Space& home, const ModEventDelta& med) const; + /// Schedule function + virtual void reschedule(Space& home); /// Delete propagator and return its size virtual size_t dispose(Space& home); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator for \f$ (x\leq y) \Leftrightarrow b\f$ - static ExecStatus post(Home home,View0 x, View1 y, + static ExecStatus post(Home home, View0 x, View1 y, Gecode::Int::BoolView b); }; @@ -264,16 +270,16 @@ namespace Gecode { namespace Set { namespace Rel { using MixBinaryPropagator::x0; using MixBinaryPropagator::x1; /// Constructor for cloning \a p - Distinct(Space& home, bool share,Distinct& p); + Distinct(Space& home, bool share, Distinct& p); /// Constructor for posting - Distinct(Home home,View0,View1); + Distinct(Home home, View0 x0, View1 x1); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home,bool); + virtual Actor* copy(Space& home,bool); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x\neq y \f$ - static ExecStatus post(Home home,View0,View1); + static ExecStatus post(Home home, View0 x, View1 y); }; /** @@ -293,16 +299,16 @@ namespace Gecode { namespace Set { namespace Rel { /// The view that is already assigned ConstSetView y; /// Constructor for cloning \a p - DistinctDoit(Space& home, bool share,DistinctDoit&); + DistinctDoit(Space& home, bool share, DistinctDoit&); /// Constructor for posting - DistinctDoit(Home home, View0, ConstSetView); + DistinctDoit(Home home, View0 x0, ConstSetView y); public: /// Copy propagator during cloning - virtual Actor* copy(Space& home, bool); + virtual Actor* copy(Space& home, bool share); /// Perform propagation virtual ExecStatus propagate(Space& home, const ModEventDelta& med); /// Post propagator \f$ x\neq y \f$ - static ExecStatus post(Home home, View0, ConstSetView); + static ExecStatus post(Home home, View0 x, ConstSetView y); }; }}} diff --git a/gecode/set/rel/lq.hpp b/gecode/set/rel/lq.hpp index 4c38df2489..c8ceda2ed6 100644 --- a/gecode/set/rel/lq.hpp +++ b/gecode/set/rel/lq.hpp @@ -56,14 +56,11 @@ namespace Gecode { namespace Set { namespace Rel { bool ylm; /// Whether upper bound of y was updated bool yum; + /// Get bit \a i + bool get(unsigned int i) const; /// Set bit \a i to value \a j - void set(int i, bool j) { - if (j) - b.set(i); - else - b.clear(i); - } - + void set(unsigned int i, bool j); + /// \brief Value iterator for characteristic function class CSIter { public: @@ -72,129 +69,211 @@ namespace Gecode { namespace Set { namespace Rel { /// Current position unsigned int i; /// Offset from start of bitset - int xoff; + unsigned int xoff; /// Offset for each element (0=lower bound, 1=upper bound) - int yoff; + unsigned int yoff; /// Move iterator to next element - void operator++ (void) { - i++; - while (ixsize && !cs->b.get(xoff+2*i+yoff)) - i++; - } + void operator++ (void); /// Default constructor - CSIter(void) {} + CSIter(void); /// Constructor - CSIter(CharacteristicSets& cs0, int xoff0, int yoff0) - : cs(&cs0), i(static_cast(-1)), - xoff(xoff0), yoff(yoff0) { - ++(*this); - } + CSIter(CharacteristicSets& cs0, unsigned int xoff0, unsigned int yoff0); /// Test if iterator is finished - bool operator() (void) const { return ixsize; } + bool operator() (void) const; /// Value of current iterator position - int val(void) const { return cs->ub[i]; } + int val(void) const; }; - + public: /// Constructor template CharacteristicSets(Region& re, View0 x, View1 y); - + /// Return minimum of element \a i for variable x - bool xmin(int i) const { return b.get(2*i); } + bool xmin(unsigned int i) const; /// Return maximum of element \a i for variable x - bool xmax(int i) const { return b.get(2*i+1); } + bool xmax(unsigned int i) const; /// Return minimum of element \a i for variable y - bool ymin(int i) const { return b.get(2*xsize+2*i); } + bool ymin(unsigned int i) const; /// Return maximum of element \a i for variable y - bool ymax(int i) const { return b.get(2*xsize+2*i+1); } + bool ymax(unsigned int i) const; /// Set minimum of element \a i for variable x to \a j - void xmin(int i, bool j) { set(2*i,j); } + void xmin(unsigned int i, bool j); /// Set maximum of element \a i for variable x to \a j - void xmax(int i, bool j) { set(2*i+1,j); } + void xmax(unsigned int i, bool j); /// Set minimum of element \a i for variable y to \a j - void ymin(int i, bool j) { set(2*xsize+2*i,j); } + void ymin(unsigned int i, bool j); /// Set maximum of element \a i for variable y to \a j - void ymax(int i, bool j) { set(2*xsize+2*i+1,j); } + void ymax(unsigned int i, bool j); /// Update upper bound of \f$x_i\f$ to \a j - ModEvent xlq(int i, bool j) { - if (!j) { - if (xmin(i)) return ME_SET_FAILED; - if (xmax(i)) { - xmax(i,false); - xum=true; - } - } - return ME_SET_NONE; - } + ModEvent xlq(unsigned int i, bool j); /// Update lower bound of \f$x_i\f$ to \a j - ModEvent xgq(int i, bool j) { - if (j) { - if (!xmax(i)) return ME_SET_FAILED; - if (!xmin(i)) { - xmin(i,true); - xlm=true; - } - } - return ME_SET_NONE; - } + ModEvent xgq(unsigned int i, bool j); /// Update upper bound of \f$y_i\f$ to \a j - ModEvent ylq(int i, bool j) { - if (!j) { - if (ymin(i)) return ME_SET_FAILED; - if (ymax(i)) { - ymax(i,false); - yum=true; - } - } - return ME_SET_NONE; - } + ModEvent ylq(unsigned int i, bool j); /// Update lower bound of \f$y_i\f$ to \a j - ModEvent ygq(int i, bool j) { - if (j) { - if (!ymax(i)) return ME_SET_FAILED; - if (!ymin(i)) { - ymin(i,true); - ylm=true; - } - } - return ME_SET_NONE; - } + ModEvent ygq(unsigned int i, bool j); /// Return size of combined upper bounds - int size(void) const { return xsize; } - + unsigned int size(void) const; + /// Prune \a x and \a y using computed bounds template - ExecStatus prune(Space& home, View0 x, View1 y) { - if (xlm) { - CSIter i(*this,0,0); - Iter::Values::ToRanges ir(i); - GECODE_ME_CHECK(x.includeI(home,ir)); + ExecStatus prune(Space& home, View0 x, View1 y); + + }; + + + forceinline bool + CharacteristicSets::get(unsigned int i) const { + return b.get(i); + } + forceinline void + CharacteristicSets::set(unsigned int i, bool j) { + if (j) + b.set(i); + else + b.clear(i); + } + forceinline unsigned int + CharacteristicSets::size(void) const { + return xsize; + } + + forceinline + CharacteristicSets::CSIter::CSIter(void) {} + forceinline + CharacteristicSets::CSIter::CSIter(CharacteristicSets& cs0, + unsigned int xoff0, unsigned int yoff0) + : cs(&cs0), i(0), xoff(xoff0), yoff(yoff0) { + while ((i < cs->xsize) && !cs->get(xoff+2*i+yoff)) + i++; + } + forceinline void + CharacteristicSets::CSIter::operator++ (void) { + i++; + while ((i < cs->xsize) && !cs->get(xoff+2*i+yoff)) + i++; + } + forceinline bool + CharacteristicSets::CSIter::operator() (void) const { + return ixsize; + } + forceinline int + CharacteristicSets::CSIter::val(void) const { + return cs->ub[i]; + } + + + forceinline bool + CharacteristicSets::xmin(unsigned int i) const { + return get(2*i); + } + forceinline bool + CharacteristicSets::xmax(unsigned int i) const { + return get(2*i+1); + } + forceinline bool + CharacteristicSets::ymin(unsigned int i) const { + return get(2*xsize+2*i); + } + forceinline bool + CharacteristicSets::ymax(unsigned int i) const { + return get(2*xsize+2*i+1); + } + + forceinline void + CharacteristicSets::xmin(unsigned int i, bool j) { + set(2*i,j); + } + forceinline void + CharacteristicSets::xmax(unsigned int i, bool j) { + set(2*i+1,j); + } + forceinline void + CharacteristicSets::ymin(unsigned int i, bool j) { + set(2*xsize+2*i,j); + } + forceinline void + CharacteristicSets::ymax(unsigned int i, bool j) { + set(2*xsize+2*i+1,j); + } + + forceinline ModEvent + CharacteristicSets::xlq(unsigned int i, bool j) { + if (!j) { + if (xmin(i)) return ME_SET_FAILED; + if (xmax(i)) { + xmax(i,false); + xum=true; } - if (xum) { - CSIter i(*this,0,1); - Iter::Values::ToRanges ir(i); - GECODE_ME_CHECK(x.intersectI(home,ir)); + } + return ME_SET_NONE; + } + forceinline ModEvent + CharacteristicSets::xgq(unsigned int i, bool j) { + if (j) { + if (!xmax(i)) return ME_SET_FAILED; + if (!xmin(i)) { + xmin(i,true); + xlm=true; } - if (ylm) { - CSIter i(*this,2*xsize,0); - Iter::Values::ToRanges ir(i); - GECODE_ME_CHECK(y.includeI(home,ir)); + } + return ME_SET_NONE; + } + forceinline ModEvent + CharacteristicSets::ylq(unsigned int i, bool j) { + if (!j) { + if (ymin(i)) return ME_SET_FAILED; + if (ymax(i)) { + ymax(i,false); + yum=true; } - if (yum) { - CSIter i(*this,2*xsize,1); - Iter::Values::ToRanges ir(i); - GECODE_ME_CHECK(y.intersectI(home,ir)); + } + return ME_SET_NONE; + } + forceinline ModEvent + CharacteristicSets::ygq(unsigned int i, bool j) { + if (j) { + if (!ymax(i)) return ME_SET_FAILED; + if (!ymin(i)) { + ymin(i,true); + ylm=true; } - return ES_OK; } - - }; + return ME_SET_NONE; + } + + template + forceinline ExecStatus + CharacteristicSets::prune(Space& home, View0 x, View1 y) { + if (xlm) { + CSIter i(*this,0,0); + Iter::Values::ToRanges ir(i); + GECODE_ME_CHECK(x.includeI(home,ir)); + } + if (xum) { + CSIter i(*this,0,1); + Iter::Values::ToRanges ir(i); + GECODE_ME_CHECK(x.intersectI(home,ir)); + } + if (ylm) { + CSIter i(*this,2*xsize,0); + Iter::Values::ToRanges ir(i); + GECODE_ME_CHECK(y.includeI(home,ir)); + } + if (yum) { + CSIter i(*this,2*xsize,1); + Iter::Values::ToRanges ir(i); + GECODE_ME_CHECK(y.intersectI(home,ir)); + } + return ES_OK; + } template + forceinline CharacteristicSets::CharacteristicSets(Region& re,View0 x, View1 y) : xlm(false), xum(false), ylm(false), yum(false) { LubRanges xlub(x); @@ -214,7 +293,7 @@ namespace Gecode { namespace Set { namespace Rel { Iter::Ranges::ToValues > xlv(xlr); Iter::Ranges::ToValues > yuv(yur); Iter::Ranges::ToValues > ylv(ylr); - for (int i=0; xylubv(); ++xylubv, ++i) { + for (unsigned int i=0; xylubv(); ++xylubv, ++i) { ub[i] = xylubv.val(); if (xlv() && xylubv.val()==xlv.val()) { b.set(2*i); @@ -275,9 +354,9 @@ namespace Gecode { namespace Set { namespace Rel { return ES_FAILED; if (x1.glbMin() < x0.lubMin()) return home.ES_SUBSUMED(*this); - + bool assigned = x0.assigned() && x1.assigned(); - + Region re(home); CharacteristicSets cs(re,x0,x1); @@ -285,16 +364,16 @@ namespace Gecode { namespace Set { namespace Rel { * State 1 * */ - int i=0; - int firsti=0; - int n=cs.size(); - while ((i= GECODE_ME_CHECK(cs.xlq(i,cs.ymax(i))); GECODE_ME_CHECK(cs.ygq(i,cs.xmin(i))); i++; } - + if (i == n) {// case: $ if (strict) { return ES_FAILED; @@ -303,7 +382,7 @@ namespace Gecode { namespace Set { namespace Rel { return home.ES_SUBSUMED(*this); } } - + // Possible cases left: <, <=, > (yields failure), ? GECODE_ME_CHECK(cs.xlq(i,cs.ymax(i))); GECODE_ME_CHECK(cs.ygq(i,cs.xmin(i))); @@ -340,7 +419,7 @@ namespace Gecode { namespace Set { namespace Rel { if (cs.xmin(i) > cs.ymax(i)) // case: > goto rewrite_le; - + if (cs.xmax(i) <= cs.ymin(i)) { // case: <= (invariant: not =, <) /* @@ -398,7 +477,7 @@ namespace Gecode { namespace Set { namespace Rel { GECODE_ES_CHECK(cs.prune(home,x0,x1)); return assigned ? home.ES_SUBSUMED(*this) : ES_NOFIX; - } + } GECODE_ES_CHECK(cs.prune(home,x0,x1)); return assigned ? home.ES_SUBSUMED(*this) : ES_NOFIX; diff --git a/gecode/set/rel/re-eq.hpp b/gecode/set/rel/re-eq.hpp index 4fbbfa2a0d..b517696b4d 100644 --- a/gecode/set/rel/re-eq.hpp +++ b/gecode/set/rel/re-eq.hpp @@ -67,6 +67,14 @@ namespace Gecode { namespace Set { namespace Rel { return PropCost::ternary(PropCost::LO); } + template + void + ReEq::reschedule(Space& home) { + b.reschedule(home,*this, Gecode::Int::PC_INT_VAL); + x0.reschedule(home,*this, PC_SET_ANY); + x1.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ReEq::dispose(Space& home) { @@ -102,7 +110,7 @@ namespace Gecode { namespace Set { namespace Rel { } if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(Distinct::post(home(*this),x0,x1))); } diff --git a/gecode/set/rel/re-lq.hpp b/gecode/set/rel/re-lq.hpp index c3d60f3d83..413fc158ca 100644 --- a/gecode/set/rel/re-lq.hpp +++ b/gecode/set/rel/re-lq.hpp @@ -58,11 +58,19 @@ namespace Gecode { namespace Set { namespace Rel { template PropCost - ReLq::cost(const Space&, const ModEventDelta&) const + ReLq::cost(const Space&, const ModEventDelta&) const { return PropCost::ternary(PropCost::LO); } + template + void + ReLq::reschedule(Space& home) { + b.reschedule(home,*this, Gecode::Int::PC_INT_VAL); + x0.reschedule(home,*this, PC_SET_ANY); + x1.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ReLq::dispose(Space& home) { diff --git a/gecode/set/rel/re-subset.hpp b/gecode/set/rel/re-subset.hpp index 9844672e7a..cf9a125ae1 100644 --- a/gecode/set/rel/re-subset.hpp +++ b/gecode/set/rel/re-subset.hpp @@ -64,6 +64,14 @@ namespace Gecode { namespace Set { namespace Rel { return PropCost::ternary(PropCost::LO); } + template + void + ReSubset::reschedule(Space& home) { + b.reschedule(home,*this, Gecode::Int::PC_INT_VAL); + x0.reschedule(home,*this, PC_SET_ANY); + x1.reschedule(home,*this, PC_SET_ANY); + } + template forceinline size_t ReSubset::dispose(Space& home) { @@ -98,7 +106,7 @@ namespace Gecode { namespace Set { namespace Rel { } if (b.zero()) { if (rm == RM_IMP) - return home.ES_SUBSUMED(*this); + return home.ES_SUBSUMED(*this); GECODE_REWRITE(*this,(NoSubset::post(home(*this),x0,x1))); } diff --git a/gecode/set/relax.cpp b/gecode/set/relax.cpp new file mode 100644 index 0000000000..6f1ebec7e9 --- /dev/null +++ b/gecode/set/relax.cpp @@ -0,0 +1,78 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { namespace Set { + + /// Class for posting equalities for non-relaxed variables + class Relax { + public: + /// Post the actual equality for non-relaxed variables + ExecStatus operator ()(Home home, SetVar x, SetVar sx); + }; + + forceinline ExecStatus + Relax::operator ()(Home home, SetVar x, SetVar sx) { + SetView xv(x); + SetVarGlbRanges l(xv); + GECODE_ME_CHECK(xv.includeI(home, l)); + SetVarLubRanges u(xv); + GECODE_ME_CHECK(xv.intersectI(home, u)); + return ES_OK; + } + +}} + +namespace Gecode { + + void + relax(Home home, const SetVarArgs& x, const SetVarArgs& sx, + Rnd r, double p) { + if (x.size() != sx.size()) + throw Set::ArgumentSizeMismatch("Set::relax"); + if ((p < 0.0) || (p > 1.0)) + throw Set::OutOfLimits("Set::relax"); + Set::Relax ir; + Search::relax(home,x,sx,r,p,ir); + } + +} + +// STATISTICS: set-other + diff --git a/gecode/set/sequence.cpp b/gecode/set/sequence.cpp index 5626227328..b090a0f02e 100644 --- a/gecode/set/sequence.cpp +++ b/gecode/set/sequence.cpp @@ -47,14 +47,14 @@ namespace Gecode { sequence(Home home, const SetVarArgs& xa) { if (xa.size()==0) throw TooFewArguments("Set::seq"); - if (home.failed()) return; + GECODE_POST; ViewArray x(home,xa); GECODE_ES_FAIL(Sequence::Seq::post(home, x)); } void sequence(Home home, const SetVarArgs& xa, SetVar y) { - if (home.failed()) return; + GECODE_POST; ViewArray x(home,xa); GECODE_ES_FAIL(Sequence::SeqU::post(home, x,y)); } diff --git a/gecode/set/trace.cpp b/gecode/set/trace.cpp new file mode 100755 index 0000000000..8da53fffa8 --- /dev/null +++ b/gecode/set/trace.cpp @@ -0,0 +1,53 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { + + void + trace(Home home, const SetVarArgs& x, + TraceFilter tf, int te, SetTracer& t) { + using namespace Gecode::Set; + GECODE_POST; + ViewArray xv(home,x); + GECODE_ES_FAIL(SetTraceRecorder::post(home,xv,tf,te,t)); + } + +} + +// STATISTICS: set-other diff --git a/gecode/set/trace.hpp b/gecode/set/trace.hpp new file mode 100755 index 0000000000..171876608d --- /dev/null +++ b/gecode/set/trace.hpp @@ -0,0 +1,48 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + inline void + trace(Home home, const SetVarArgs& x, + int te, SetTracer& t) { + trace(home,x,TraceFilter::all,te,t); + } + +} + +// STATISTICS: set-other diff --git a/gecode/set/trace/delta.hpp b/gecode/set/trace/delta.hpp new file mode 100755 index 0000000000..9d3e6e0335 --- /dev/null +++ b/gecode/set/trace/delta.hpp @@ -0,0 +1,66 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + forceinline + SetTraceDelta::Glb::Glb(RangeList* o0, Set::SetView n0) + : o(o0), n(n0) { + init(n,o); + } + forceinline + SetTraceDelta::Lub::Lub(RangeList* o0, Set::SetView n0) + : o(o0), n(n0) { + init(o,n); + } + + forceinline + SetTraceDelta::SetTraceDelta(Set::SetTraceView o, Set::SetView n, + const Delta&) + : _glb(o.glb(),n), _lub(o.lub(),n) {} + forceinline SetTraceDelta::Glb& + SetTraceDelta::glb(void) { + return _glb; + } + forceinline SetTraceDelta::Lub& + SetTraceDelta::lub(void) { + return _lub; + } + +} + +// STATISTICS: set-other diff --git a/gecode/set/trace/trace-view.hpp b/gecode/set/trace/trace-view.hpp new file mode 100755 index 0000000000..36d413d318 --- /dev/null +++ b/gecode/set/trace/trace-view.hpp @@ -0,0 +1,103 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { namespace Set { + + /// Duplicate of a set view + class SetTraceView { + protected: + /// Copy of the greatest lower bound + RangeList* _glb; + /// Copy of the least upper bound + RangeList* _lub; + public: + /// Default constructor (initializes with no view) + SetTraceView(void); + /// Duplicate view \a x + SetTraceView(Space& home, SetView x); + /// Return range list for greatest lower bound + RangeList* glb(void) const; + /// Return range list for leat upper bound + RangeList* lub(void) const; + /// Update duplicated view from view \a y and delta \a d + void prune(Space& home, SetView y, const Delta& d); + /// Update during cloning + void update(Space& home, bool share, SetTraceView x); + /// Return slack for \a x + static unsigned long long int slack(SetView x); + }; + + forceinline + SetTraceView::SetTraceView(void) {} + forceinline + SetTraceView::SetTraceView(Space& home, SetView x) { + GlbRanges glbi(x); + RangeList::copy(home,_glb,glbi); + LubRanges lubi(x); + RangeList::copy(home,_lub,lubi); + } + forceinline RangeList* + SetTraceView::glb(void) const { + return _glb; + } + forceinline RangeList* + SetTraceView::lub(void) const { + return _lub; + } + forceinline void + SetTraceView::prune(Space& home, SetView x, const Delta&) { + GlbRanges glbi(x); + RangeList::overwrite(home,_glb,glbi); + LubRanges lubi(x); + RangeList::overwrite(home,_lub,lubi); + } + forceinline void + SetTraceView::update(Space& home, bool, SetTraceView x) { + Iter::Ranges::RangeList glbi(x._glb); + RangeList::copy(home,_glb,glbi); + Iter::Ranges::RangeList lubi(x._lub); + RangeList::copy(home,_lub,lubi); + } + + forceinline unsigned long long int + SetTraceView::slack(SetView x) { + return x.unknownSize(); + } + +}} + +// STATISTICS: set-other diff --git a/gecode/set/trace/tracer.cpp b/gecode/set/trace/tracer.cpp new file mode 100755 index 0000000000..4d103fac12 --- /dev/null +++ b/gecode/set/trace/tracer.cpp @@ -0,0 +1,118 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +namespace Gecode { + + StdSetTracer::StdSetTracer(std::ostream& os0) + : os(os0) {} + + void + StdSetTracer::init(const Space&, const SetTraceRecorder& t) { + os << "trace::init(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 100.00% (" << t.slack().initial() << " values)" + << std::endl; + } + + void + StdSetTracer::prune(const Space&, const SetTraceRecorder& t, + const ExecInfo& ei, int i, SetTraceDelta& d) { + os << "trace::prune(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << "): [" << i << "] = " << t[i] << " + {"; + { + SetTraceDelta::Glb glb(d.glb()); + if (glb()) { + os << glb.min() << ".." << glb.max(); + ++glb; + while (glb()) { + os << "," << glb.min() << ".." << glb.max(); + ++glb; + } + } + } + os << "} - {"; + { + SetTraceDelta::Lub lub(d.lub()); + if (lub()) { + os << lub.min() << ".." << lub.max(); + ++lub; + while (lub()) { + os << "," << lub.min() << ".." << lub.max(); + ++lub; + } + } + } + os << "} by " << ei << std::endl; + } + + void + StdSetTracer::fix(const Space&, const SetTraceRecorder& t) { + os << "trace::fix(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: "; + double sl_i = static_cast(t.slack().initial()); + double sl_p = static_cast(t.slack().previous()); + double sl_c = static_cast(t.slack().current()); + double p_c = 100.0 * (sl_c / sl_i); + double p_d = 100.0 * (sl_p / sl_i) - p_c; + os << std::showpoint << std::setprecision(4) + << p_c << "% - " + << std::showpoint << std::setprecision(4) + << p_d << '%' + << std::endl; + } + + void + StdSetTracer::done(const Space&, const SetTraceRecorder& t) { + os << "trace::done(id:" << t.id(); + if (t.group().in()) + os << ",g:";t.group().id(); + os << ") slack: 0%" << std::endl; + } + + StdSetTracer StdSetTracer::def; + +} + +// STATISTICS: set-other diff --git a/gecode/set/trace/traits.hpp b/gecode/set/trace/traits.hpp new file mode 100755 index 0000000000..31edde5953 --- /dev/null +++ b/gecode/set/trace/traits.hpp @@ -0,0 +1,51 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +namespace Gecode { + + /// Trace traits for set views + template<> + class TraceTraits { + public: + typedef Set::SetTraceView TraceView; + typedef SetTraceDelta TraceDelta; + typedef unsigned long long int SlackValue; + }; + +} + +// STATISTICS: set-other diff --git a/gecode/set/var-imp.hpp b/gecode/set/var-imp.hpp index 160c043854..294baa810a 100644 --- a/gecode/set/var-imp.hpp +++ b/gecode/set/var-imp.hpp @@ -590,6 +590,8 @@ namespace Gecode { namespace Set { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to variable void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a diff --git a/gecode/set/var-imp/integerset.hpp b/gecode/set/var-imp/integerset.hpp index 43dac20400..2b8755a61d 100644 --- a/gecode/set/var-imp/integerset.hpp +++ b/gecode/set/var-imp/integerset.hpp @@ -113,9 +113,9 @@ namespace Gecode { namespace Set { forceinline int BndSet::max(void) const { - if (lst()==NULL) + if (lst()==NULL) return MAX_OF_EMPTY; - else + else return lst()->max(); } diff --git a/gecode/set/var-imp/set.hpp b/gecode/set/var-imp/set.hpp index 4688888882..234847394f 100644 --- a/gecode/set/var-imp/set.hpp +++ b/gecode/set/var-imp/set.hpp @@ -518,6 +518,10 @@ namespace Gecode { namespace Set { SetVarImpBase::cancel(home,p,pc,assigned()); } forceinline void + SetVarImp::reschedule(Space& home, Propagator& p, PropCond pc) { + SetVarImpBase::reschedule(home,p,pc,assigned()); + } + forceinline void SetVarImp::subscribe(Space& home, Advisor& a) { SetVarImpBase::subscribe(home,a,assigned()); } diff --git a/gecode/set/view.hpp b/gecode/set/view.hpp index 13459efb64..e23516d265 100644 --- a/gecode/set/view.hpp +++ b/gecode/set/view.hpp @@ -706,6 +706,8 @@ namespace Gecode { namespace Set { void subscribe(Space& home, Propagator& p, PropCond pc, bool schedule=true); /// Cancel subscription of propagator \a p with propagation condition \a pc to view void cancel(Space& home, Propagator& p, PropCond pc); + /// Re-schedule propagator \a p with propagation condition \a pc + void reschedule(Space& home, Propagator& p, PropCond pc); /// Subscribe advisor \a a to view void subscribe(Space& home, Advisor& a); /// Cancel subscription of advisor \a a @@ -913,7 +915,7 @@ namespace Gecode { namespace Set { * for cacheing the current domain of \f$t\f$ and comparing the current * domain to the cached domain. Cached views make it easy to implement * incremental propagation algorithms. - * + * * \ingroup TaskActorSetView */ diff --git a/gecode/set/view/cached.hpp b/gecode/set/view/cached.hpp index 733dae4b1b..505586b02a 100644 --- a/gecode/set/view/cached.hpp +++ b/gecode/set/view/cached.hpp @@ -42,7 +42,7 @@ namespace Gecode { namespace Set { template forceinline CachedView::CachedView(void) {} - + template forceinline CachedView::CachedView(const View& y) @@ -53,69 +53,69 @@ namespace Gecode { namespace Set { CachedView::glbSize(void) const { return x.glbSize(); } - + template forceinline unsigned int CachedView::lubSize(void) const { return x.lubSize(); } - + template forceinline unsigned int CachedView::unknownSize(void) const { return x.unknownSize(); } - + template forceinline bool CachedView::contains(int n) const { return x.contains(n); } - + template forceinline bool CachedView::notContains(int n) const { return x.notContains(n); } - + template forceinline unsigned int CachedView::cardMin(void) const { return x.cardMin(); } - + template forceinline unsigned int CachedView::cardMax(void) const { return x.cardMax(); } - + template forceinline int CachedView::lubMin(void) const { return x.lubMin(); } - + template forceinline int CachedView::lubMax(void) const { return x.lubMax(); } - + template forceinline int CachedView::glbMin(void) const { return x.glbMin(); } - + template forceinline int CachedView::glbMax(void) const { return x.glbMax(); } - + template forceinline ModEvent CachedView::cardMin(Space& home, unsigned int m) { return x.cardMin(home,m); } - + template forceinline ModEvent CachedView::cardMax(Space& home, unsigned int m) { @@ -127,37 +127,37 @@ namespace Gecode { namespace Set { CachedView::include(Space& home, int i) { return x.include(home,i); } - + template forceinline ModEvent CachedView::exclude(Space& home, int i) { return x.exclude(home,i); } - + template forceinline ModEvent CachedView::intersect(Space& home, int i) { return x.intersect(home,i); } - + template forceinline ModEvent CachedView::intersect(Space& home, int i, int j) { return x.intersect(home,i,j); } - + template forceinline ModEvent CachedView::include(Space& home, int i, int j) { return x.include(home,i,j); } - + template forceinline ModEvent CachedView::exclude(Space& home, int i, int j) { return x.exclude(home,i,j); } - + template template ModEvent CachedView::excludeI(Space& home,I& iter) { @@ -169,38 +169,38 @@ namespace Gecode { namespace Set { CachedView::includeI(Space& home,I& iter) { return x.includeI(home,iter); } - + template template ModEvent CachedView::intersectI(Space& home,I& iter) { return x.intersectI(home,iter); } - + template forceinline void CachedView::subscribe(Space& home, Propagator& p, PropCond pc, bool schedule) { x.subscribe(home,p,pc,schedule); } - + template forceinline void CachedView::cancel(Space& home, Propagator& p, PropCond pc) { x.cancel(home,p,pc); } - + template forceinline void CachedView::subscribe(Space& home, Advisor& a) { x.subscribe(home,a); } - + template forceinline void CachedView::cancel(Space& home, Advisor& a) { x.cancel(home,a); } - + template forceinline void CachedView::schedule(Space& home, Propagator& p, ModEvent me) { @@ -211,48 +211,48 @@ namespace Gecode { namespace Set { CachedView::me(const ModEventDelta& med) { return View::me(med); } - + template forceinline ModEventDelta CachedView::med(ModEvent me) { return View::med(me); } - + /* * Delta information for advisors * */ - + template forceinline ModEvent CachedView::modevent(const Delta& d) { return View::modevent(d); } - + template forceinline int CachedView::glbMin(const Delta& d) const { return x.glbMin(d); } - + template forceinline int CachedView::glbMax(const Delta& d) const { return x.glbMax(d); } - + template forceinline bool CachedView::glbAny(const Delta& d) const { return x.glbAny(d); } - + template forceinline int CachedView::lubMin(const Delta& d) const { return x.lubMin(d); } - + template forceinline int CachedView::lubMax(const Delta& d) const { diff --git a/gecode/set/view/complement.hpp b/gecode/set/view/complement.hpp index 5186dc18d0..ff0998fc62 100644 --- a/gecode/set/view/complement.hpp +++ b/gecode/set/view/complement.hpp @@ -46,12 +46,12 @@ namespace Gecode { namespace Set { template forceinline ComplementView::ComplementView(void) {} - + template forceinline ComplementView::ComplementView(View& y) : DerivedView(y) {} - + template forceinline ModEvent ComplementView::me_negateset(ModEvent me) { @@ -63,7 +63,7 @@ namespace Gecode { namespace Set { default: return me; } } - + template forceinline PropCond ComplementView::pc_negateset(PropCond pc) { @@ -73,45 +73,45 @@ namespace Gecode { namespace Set { default: return pc; } } - + template forceinline unsigned int ComplementView::glbSize(void) const { return Limits::card - x.lubSize(); } - + template forceinline unsigned int ComplementView::lubSize(void) const { return Limits::card - x.glbSize(); } - + template forceinline unsigned int ComplementView::unknownSize(void) const { return lubSize() - glbSize(); } - + template forceinline bool ComplementView::contains(int n) const { return x.notContains(n); } - + template forceinline bool ComplementView::notContains(int n) const { return x.contains(n); } - + template forceinline unsigned int ComplementView::cardMin(void) const { return Limits::card - x.cardMax(); } - + template forceinline unsigned int ComplementView::cardMax(void) const { return Limits::card - x.cardMin(); } - + template forceinline int ComplementView::lubMin(void) const { @@ -123,7 +123,7 @@ namespace Gecode { namespace Set { return BndSet::MIN_OF_EMPTY; } } - + template forceinline int ComplementView::lubMax(void) const { @@ -136,7 +136,7 @@ namespace Gecode { namespace Set { return BndSet::MAX_OF_EMPTY; } } - + template forceinline int ComplementView::glbMin(void) const { @@ -148,7 +148,7 @@ namespace Gecode { namespace Set { return BndSet::MIN_OF_EMPTY; } } - + template forceinline int ComplementView::glbMax(void) const { @@ -161,7 +161,7 @@ namespace Gecode { namespace Set { return BndSet::MAX_OF_EMPTY; } } - + template forceinline ModEvent ComplementView::cardMin(Space& home, unsigned int c) { @@ -169,7 +169,7 @@ namespace Gecode { namespace Set { return me_negateset(x.cardMax(home, Limits::card - c)); return ME_SET_NONE; } - + template forceinline ModEvent ComplementView::cardMax(Space& home, unsigned int c) { @@ -183,13 +183,13 @@ namespace Gecode { namespace Set { ComplementView::include(Space& home, int c) { return me_negateset((x.exclude(home, c))); } - + template forceinline ModEvent ComplementView::exclude(Space& home, int c) { return me_negateset((x.include(home, c))); } - + template forceinline ModEvent ComplementView::intersect(Space& home, int c) { @@ -197,7 +197,7 @@ namespace Gecode { namespace Set { RangesCompl csi(si); return me_negateset((x.includeI(home, csi))); } - + template forceinline ModEvent ComplementView::intersect(Space& home, int i, int j) { @@ -205,19 +205,19 @@ namespace Gecode { namespace Set { RangesCompl csi(si); return me_negateset((x.includeI(home, csi))); } - + template forceinline ModEvent ComplementView::include(Space& home, int j, int k) { return me_negateset(x.exclude(home,j,k)); } - + template forceinline ModEvent ComplementView::exclude(Space& home, int j, int k) { return me_negateset(x.include(home,j,k)); } - + template template ModEvent ComplementView::excludeI(Space& home,I& iter) { @@ -229,39 +229,39 @@ namespace Gecode { namespace Set { ComplementView::includeI(Space& home,I& iter) { return me_negateset(x.excludeI(home,iter)); } - + template template ModEvent ComplementView::intersectI(Space& home,I& iter) { RangesCompl c(iter); return me_negateset(x.includeI(home,c)); } - + template forceinline void ComplementView::subscribe(Space& home, Propagator& p, PropCond pc, bool schedule) { x.subscribe(home,p, pc_negateset(pc),schedule); } - + template forceinline void ComplementView::cancel(Space& home, Propagator& p, PropCond pc) { x.cancel(home,p, pc_negateset(pc)); } - + template forceinline void ComplementView::subscribe(Space& home, Advisor& a) { x.subscribe(home,a); } - + template forceinline void ComplementView::cancel(Space& home, Advisor& a) { x.cancel(home,a); } - + template forceinline void ComplementView::schedule(Space& home, Propagator& p, ModEvent me) { @@ -272,48 +272,48 @@ namespace Gecode { namespace Set { ComplementView::me(const ModEventDelta& med) { return me_negateset(View::me(med)); } - + template forceinline ModEventDelta ComplementView::med(ModEvent me) { return me_negateset(View::med(me)); } - + /* * Delta information for advisors * */ - + template forceinline ModEvent ComplementView::modevent(const Delta& d) { return me_negateset(View::modevent(d)); } - + template forceinline int ComplementView::glbMin(const Delta& d) const { return x.lubMin(d); } - + template forceinline int ComplementView::glbMax(const Delta& d) const { return x.lubMax(d); } - + template forceinline bool ComplementView::glbAny(const Delta& d) const { return x.lubAny(d); } - + template forceinline int ComplementView::lubMin(const Delta& d) const { return x.glbMin(d); } - + template forceinline int ComplementView::lubMax(const Delta& d) const { diff --git a/gecode/set/view/set.hpp b/gecode/set/view/set.hpp index bfb2a65870..1e215ec512 100644 --- a/gecode/set/view/set.hpp +++ b/gecode/set/view/set.hpp @@ -63,52 +63,52 @@ namespace Gecode { namespace Set { */ forceinline unsigned int - SetView::glbSize(void) const { - return x->glbSize(); + SetView::glbSize(void) const { + return x->glbSize(); } forceinline unsigned int - SetView::lubSize(void) const { - return x->lubSize(); + SetView::lubSize(void) const { + return x->lubSize(); } forceinline unsigned int - SetView::unknownSize(void) const { - return x->lubSize() - x->glbSize(); + SetView::unknownSize(void) const { + return x->lubSize() - x->glbSize(); } forceinline bool - SetView::contains(int i) const { - return x->knownIn(i); + SetView::contains(int i) const { + return x->knownIn(i); } forceinline bool - SetView::notContains(int i) const { - return x->knownOut(i); + SetView::notContains(int i) const { + return x->knownOut(i); } forceinline unsigned int - SetView::cardMin(void) const { - return x->cardMin(); + SetView::cardMin(void) const { + return x->cardMin(); } forceinline unsigned int - SetView::cardMax(void) const { - return x->cardMax(); + SetView::cardMax(void) const { + return x->cardMax(); } forceinline int - SetView::lubMin(void) const { - return x->lubMin(); + SetView::lubMin(void) const { + return x->lubMin(); } forceinline int - SetView::lubMax(void) const { - return x->lubMax(); + SetView::lubMax(void) const { + return x->lubMax(); } forceinline int - SetView::lubMinN(unsigned int n) const { - return x->lubMinN(n); + SetView::lubMinN(unsigned int n) const { + return x->lubMinN(n); } forceinline int - SetView::glbMin(void) const { - return x->glbMin(); + SetView::glbMin(void) const { + return x->glbMin(); } forceinline int - SetView::glbMax(void) const { - return x->glbMax(); + SetView::glbMax(void) const { + return x->glbMax(); } /* @@ -157,8 +157,8 @@ namespace Gecode { namespace Set { } forceinline ModEvent - SetView::exclude (Space& home, int from, int to) { - return x->exclude(home,from,to); + SetView::exclude (Space& home, int from, int to) { + return x->exclude(home,from,to); } template ModEvent SetView::excludeI(Space& home, I& iter) { diff --git a/gecode/set/view/singleton.hpp b/gecode/set/view/singleton.hpp index 3bbc2262d0..e267d46a2d 100644 --- a/gecode/set/view/singleton.hpp +++ b/gecode/set/view/singleton.hpp @@ -95,8 +95,8 @@ namespace Gecode { namespace Set { } forceinline unsigned int - SingletonView::glbSize(void) const { - return x.assigned() ? 1U : 0U; + SingletonView::glbSize(void) const { + return x.assigned() ? 1U : 0U; } forceinline unsigned int @@ -235,6 +235,10 @@ namespace Gecode { namespace Set { SingletonView::cancel(Space& home, Propagator& p, PropCond pc) { x.cancel(home,p,pc_settoint(pc)); } + forceinline void + SingletonView::reschedule(Space& home, Propagator& p, PropCond pc) { + x.reschedule(home,p,pc_settoint(pc)); + } forceinline void SingletonView::subscribe(Space& home, Advisor& a) { diff --git a/gecode/support.hh b/gecode/support.hh index a2773e3e87..770d1bdc31 100755 --- a/gecode/support.hh +++ b/gecode/support.hh @@ -103,6 +103,7 @@ #include #include #include +#include #include #include #include diff --git a/gecode/support/allocator.cpp b/gecode/support/allocator.cpp new file mode 100755 index 0000000000..4becb5cebf --- /dev/null +++ b/gecode/support/allocator.cpp @@ -0,0 +1,46 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include + +namespace Gecode { namespace Support { + + Allocator allocator; + +}} + +// STATISTICS: support-any diff --git a/gecode/support/allocator.hpp b/gecode/support/allocator.hpp new file mode 100755 index 0000000000..34156bdce8 --- /dev/null +++ b/gecode/support/allocator.hpp @@ -0,0 +1,114 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2016 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +#ifdef GECODE_PEAKHEAP_MALLOC_H +#include +#endif + +#ifdef GECODE_PEAKHEAP_MALLOC_MALLOC_H +#include +#endif + +#ifdef GECODE_ALLOCATOR + +namespace Gecode { namespace Support { + + /** + * \brief Default memory allocator + * + * Acts as a wrapper around memory allocation functionality. + * + * Can be disabled by giving a "-disable-allocator" option to + * configure and the be re-implemented before including any other + * Gecode header. + * + * \ingroup FuncMem + */ + class Allocator { + public: + /// Default constructor + Allocator(void); + /// Allocate memory block of size \a n + void* alloc(size_t n); + /// Return address of reallocated memory block \a p of size \a n + void* realloc(void* p, size_t n); + /// Free memory block \a p + void free(void* p); + /// Copy \a n bytes from source \a s directly to \a d and returns \a d + void* memcpy(void *d, const void *s, size_t n); + }; + + + forceinline + Allocator::Allocator(void) { + } + forceinline void* + Allocator::alloc(size_t n) { + return ::malloc(n); + } + forceinline void* + Allocator::realloc(void* p, size_t n) { + return ::realloc(p,n); + } + forceinline void + Allocator::free(void* p) { + ::free(p); + } + forceinline void* + Allocator::memcpy(void *d, const void *s, size_t n) { + return ::memcpy(d,s,n); + } + +}} + +#endif + +namespace Gecode { namespace Support { + + /** + * \brief The single global default memory allocator + * \ingroup FuncMem + */ + extern GECODE_SUPPORT_EXPORT + Allocator allocator; + +}} + +// STATISTICS: support-any diff --git a/gecode/support/bitset-base.hpp b/gecode/support/bitset-base.hpp index bb52703d33..b23dee14ec 100644 --- a/gecode/support/bitset-base.hpp +++ b/gecode/support/bitset-base.hpp @@ -75,7 +75,7 @@ namespace Gecode { namespace Support { /// The bits Base bits; /// Bits per base - static const unsigned int bpb = + static const unsigned int bpb = static_cast(CHAR_BIT * sizeof(Base)); public: /// Initialize with all bits set if \a setbits @@ -381,7 +381,7 @@ namespace Gecode { namespace Support { forceinline RawBitSetBase::RawBitSetBase(A& a, unsigned int sz, bool setbits) : data(a.template alloc(BitSetData::data(sz+1))) { - for (unsigned int i = BitSetData::data(sz+1); i--; ) + for (unsigned int i = BitSetData::data(sz+1); i--; ) data[i].init(setbits); // Set a bit at position sz as sentinel (for efficient next) set(sz); @@ -391,7 +391,7 @@ namespace Gecode { namespace Support { forceinline RawBitSetBase::RawBitSetBase(A& a, unsigned int sz, const RawBitSetBase& bs) : data(a.template alloc(BitSetData::data(sz+1))) { - for (unsigned int i = BitSetData::data(sz+1); i--; ) + for (unsigned int i = BitSetData::data(sz+1); i--; ) data[i] = bs.data[i]; // Set a bit at position sz as sentinel (for efficient next) set(sz); @@ -434,8 +434,8 @@ namespace Gecode { namespace Support { if (data[pos](bit)) return pos * bpb + data[pos].next(bit); // The sentinel bit guarantees that this loop always terminates - do { - pos++; + do { + pos++; } while (!data[pos]()); return pos * bpb + data[pos].next(); } @@ -506,7 +506,7 @@ namespace Gecode { namespace Support { template forceinline void BitSetBase::init(A& a, unsigned int s, bool setbits) { - assert(sz == 0); + assert(sz == 0); RawBitSetBase::init(a,s,setbits); sz=s; } diff --git a/gecode/support/block-allocator.hpp b/gecode/support/block-allocator.hpp index e7969fcd5e..2357a5f10b 100755 --- a/gecode/support/block-allocator.hpp +++ b/gecode/support/block-allocator.hpp @@ -150,7 +150,7 @@ namespace Gecode { namespace Support { template forceinline void - BlockClient::operator + BlockClient::operator delete(void*,BlockAllocator&) { } template diff --git a/gecode/support/config.hpp.in b/gecode/support/config.hpp.in index 3c0625f387..ae98f4e5a1 100644 --- a/gecode/support/config.hpp.in +++ b/gecode/support/config.hpp.in @@ -88,6 +88,9 @@ /* Heap memory alignment */ #undef GECODE_MEMORY_ALIGNMENT +/* Whether to use default memory allocator */ +#undef GECODE_ALLOCATOR + /* How to check allocation size */ #undef GECODE_MSIZE diff --git a/gecode/support/dynamic-array.hpp b/gecode/support/dynamic-array.hpp index 378beb866d..1ef70e87aa 100644 --- a/gecode/support/dynamic-array.hpp +++ b/gecode/support/dynamic-array.hpp @@ -58,6 +58,8 @@ namespace Gecode { namespace Support { public: /// Initialize with size \a n DynamicArray(A& a0, int n = 32); + /// Initialize with size \a n + DynamicArray(A& a0, unsigned int n); /// Copy elements from array \a da DynamicArray(const DynamicArray& da); /// Release memory @@ -68,8 +70,12 @@ namespace Gecode { namespace Support { /// Return element at position \a i (possibly resize) T& operator [](int i); + /// Return element at position \a i (possibly resize) + T& operator [](unsigned int i); /// Return element at position \a i - const T& operator [](int) const; + const T& operator [](int i) const; + /// Return element at position \a i + const T& operator [](unsigned int i) const; /// Cast in to pointer of type \a T operator T*(void); @@ -81,6 +87,11 @@ namespace Gecode { namespace Support { DynamicArray::DynamicArray(A& a0, int n0) : a(a0), n(n0), x(a.template alloc(n)) {} + template + forceinline + DynamicArray::DynamicArray(A& a0, unsigned int n0) + : a(a0), n(static_cast(n0)), x(a.template alloc(n)) {} + template forceinline DynamicArray::DynamicArray(const DynamicArray& da) @@ -122,6 +133,12 @@ namespace Gecode { namespace Support { return x[i]; } + template + forceinline T& + DynamicArray::operator [](unsigned int i) { + return operator [](static_cast(i)); + } + template forceinline const T& DynamicArray::operator [](int i) const { @@ -129,6 +146,12 @@ namespace Gecode { namespace Support { return x[i]; } + template + forceinline const T& + DynamicArray::operator [](unsigned int i) const { + return operator [](static_cast(i)); + } + template forceinline DynamicArray::operator T*(void) { diff --git a/gecode/support/exception.cpp b/gecode/support/exception.cpp index f2770647bb..1727b5217a 100755 --- a/gecode/support/exception.cpp +++ b/gecode/support/exception.cpp @@ -60,6 +60,19 @@ namespace Gecode { return &li[0]; } + /* + * Classes for exceptions + * + */ + MemoryExhausted::MemoryExhausted(void) + : Exception("Memory","Heap memory exhausted") {} + + DynamicCastFailed::DynamicCastFailed(const char* l) + : Exception(l,"Attempt to perform dynamic_cast failed") {} + + OperatingSystemError::OperatingSystemError(const char* l) + : Exception(l,"Operating system error") {} + } // STATISTICS: support-any diff --git a/gecode/support/exception.hpp b/gecode/support/exception.hpp index b50b25f931..2490aa1bd5 100755 --- a/gecode/support/exception.hpp +++ b/gecode/support/exception.hpp @@ -45,7 +45,9 @@ namespace Gecode { */ class GECODE_SUPPORT_EXPORT Exception : public std::exception { private: + /// Maximal length of information string static const int li_max = 127; + /// Information string char li[li_max+1]; public: /// Initialize with location \a l and information \a i @@ -62,41 +64,25 @@ namespace Gecode { //@{ /// %Exception: %Memory exhausted - class GECODE_VTABLE_EXPORT MemoryExhausted : public Exception { + class GECODE_SUPPORT_EXPORT MemoryExhausted : public Exception { public: /// Initialize MemoryExhausted(void); }; /// %Exception: dynamic cast failed - class GECODE_VTABLE_EXPORT DynamicCastFailed : public Exception { + class GECODE_SUPPORT_EXPORT DynamicCastFailed : public Exception { public: /// Initialize with location \a l DynamicCastFailed(const char* l); }; /// %Exception: operating system error - class GECODE_VTABLE_EXPORT OperatingSystemError : public Exception { + class GECODE_SUPPORT_EXPORT OperatingSystemError : public Exception { public: /// Initialize with location \a l OperatingSystemError(const char* l); }; //@} - /* - * Classes for exceptions - * - */ - inline - MemoryExhausted::MemoryExhausted(void) - : Exception("Memory","Heap memory exhausted") {} - - inline - DynamicCastFailed::DynamicCastFailed(const char* l) - : Exception(l,"Attempt to perform dynamic_cast failed") {} - - inline - OperatingSystemError::OperatingSystemError(const char* l) - : Exception(l,"Operating system error") {} - } // STATISTICS: support-any diff --git a/gecode/support/heap.cpp b/gecode/support/heap.cpp index d6588b7481..c3a6a6db2f 100755 --- a/gecode/support/heap.cpp +++ b/gecode/support/heap.cpp @@ -39,7 +39,6 @@ namespace Gecode { - forceinline Heap::Heap(void) #ifdef GECODE_PEAKHEAP : _peak(0), _cur(0) diff --git a/gecode/support/heap.hpp b/gecode/support/heap.hpp index 741410d16b..bf3ee8caf3 100755 --- a/gecode/support/heap.hpp +++ b/gecode/support/heap.hpp @@ -330,8 +330,28 @@ namespace Gecode { #endif }; - /// The single global heap - extern GECODE_SUPPORT_EXPORT Heap heap; + /** + * \brief The single global heap + * \ingroup FuncMemHeap + */ + extern GECODE_SUPPORT_EXPORT + Heap heap; + + /** + * \brief Base class for heap allocated objects + * \ingroup FuncMemHeap + */ + class GECODE_SUPPORT_EXPORT HeapAllocated { + public: + /// Memory management + //@{ + /// Allocate memory from heap + static void* operator new(size_t s); + /// Free memory allocated from heap + static void operator delete(void* p); + //@} + }; + /* * Wrappers for raw allocation routines @@ -339,7 +359,7 @@ namespace Gecode { */ forceinline void* Heap::ralloc(size_t s) { - void* p = ::malloc(s); + void* p = Support::allocator.alloc(s); #ifdef GECODE_PEAKHEAP _m.acquire(); _cur += GECODE_MSIZE(p); @@ -358,7 +378,7 @@ namespace Gecode { _cur -= GECODE_MSIZE(p); _m.release(); #endif - ::free(p); + Support::allocator.free(p); } forceinline void @@ -368,7 +388,7 @@ namespace Gecode { _cur -= GECODE_MSIZE(p); _m.release(); #endif - ::free(p); + Support::allocator.free(p); } forceinline void* @@ -378,7 +398,7 @@ namespace Gecode { _cur -= GECODE_MSIZE(p); _m.release(); #endif - p = ::realloc(p,s); + p = Support::allocator.realloc(p,s); #ifdef GECODE_PEAKHEAP _m.acquire(); _cur += GECODE_MSIZE(p); @@ -391,6 +411,21 @@ namespace Gecode { } + /* + * Heap allocated objects + * + */ + forceinline void* + HeapAllocated::operator new(size_t s) { + return heap.ralloc(s); + } + forceinline void + HeapAllocated::operator delete(void* p) { + heap.rfree(p); + } + + + /* * Typed allocation routines * @@ -572,28 +607,28 @@ namespace Gecode { return copy(d,s,static_cast(n)); } -#define GECODE_SUPPORT_COPY(T) \ - template<> \ - forceinline T* \ - Heap::copy(T* d, const T* s, long unsigned int n) { \ - return static_cast(memcpy(d,s,n*sizeof(T))); \ - } \ - template<> \ - forceinline T* \ - Heap::copy(T* d, const T* s, long int n) { \ - assert(n >= 0); \ - return copy(d,s,static_cast(n)); \ - } \ - template<> \ - forceinline T* \ - Heap::copy(T* d, const T* s, unsigned int n) { \ - return copy(d,s,static_cast(n)); \ - } \ - template<> \ - forceinline T* \ - Heap::copy(T* d, const T* s, int n) { \ - assert(n >= 0); \ - return copy(d,s,static_cast(n)); \ +#define GECODE_SUPPORT_COPY(T) \ + template<> \ + forceinline T* \ + Heap::copy(T* d, const T* s, long unsigned int n) { \ + return static_cast(Support::allocator.memcpy(d,s,n*sizeof(T))); \ + } \ + template<> \ + forceinline T* \ + Heap::copy(T* d, const T* s, long int n) { \ + assert(n >= 0); \ + return copy(d,s,static_cast(n)); \ + } \ + template<> \ + forceinline T* \ + Heap::copy(T* d, const T* s, unsigned int n) { \ + return copy(d,s,static_cast(n)); \ + } \ + template<> \ + forceinline T* \ + Heap::copy(T* d, const T* s, int n) { \ + assert(n >= 0); \ + return copy(d,s,static_cast(n)); \ } GECODE_SUPPORT_COPY(bool) @@ -613,7 +648,7 @@ namespace Gecode { template forceinline T** Heap::copy(T** d, const T** s, long unsigned int n) { - return static_cast(memcpy(d,s,n*sizeof(T*))); + return static_cast(Support::allocator.memcpy(d,s,n*sizeof(T*))); } template forceinline T** diff --git a/gecode/support/thread.hpp b/gecode/support/thread.hpp index ff41cade0b..807abfdd51 100755 --- a/gecode/support/thread.hpp +++ b/gecode/support/thread.hpp @@ -76,20 +76,20 @@ * This is very simplistic, just enough for parallel search engines. Do * not mistake it for a full-fledged thread package. * - * If the platform supports threads, the macro GECODE_HAS_THREADS is + * If the platform supports threads, the macro GECODE_HAS_THREADS is * defined. If threads are not supported, all classes are * still available, but are noops with the exception of trying to * create a new thread which will throw an exception. * * * \ingroup FuncSupport - */ + */ namespace Gecode { namespace Support { /** * \brief A mutex for mutual exclausion among several threads - * + * * It is not specified whether the mutex is recursive or not. * Likewise, there is no guarantee of fairness among the * blocking threads. @@ -140,10 +140,10 @@ namespace Gecode { namespace Support { /** * \brief A fast mutex for mutual exclausion among several threads - * + * * This mutex is implemeneted using spin locks on some platforms * and is not guaranteed to be compatible with events. It should be used - * for low-contention locks that are only acquired for short periods of + * for low-contention locks that are only acquired for short periods of * time. * * It is not specified whether the mutex is recursive or not. @@ -214,7 +214,7 @@ namespace Gecode { namespace Support { /** * \brief An event for synchronization - * + * * An event can be waited on by a single thread until the event is * signalled. * @@ -224,7 +224,7 @@ namespace Gecode { namespace Support { private: #ifdef GECODE_THREADS_WINDOWS /// The Windows specific handle to an event - HANDLE w_h; + HANDLE w_h; #endif #ifdef GECODE_THREADS_PTHREADS /// The Pthread mutex @@ -256,7 +256,16 @@ namespace Gecode { namespace Support { * \ingroup FuncSupportThread */ class Runnable { + private: + /// Whether to delete the object when terminated + bool d; public: + /// Initialize, \a d defines whether object is deleted when terminated + Runnable(bool d=true); + /// Set whether to delete upon termination + void todelete(bool d); + /// Return whether to be deleted upon termination + bool todelete(void) const; /// The function that is executed when the thread starts virtual void run(void) = 0; /// Destructor @@ -311,7 +320,7 @@ namespace Gecode { namespace Support { * After \a r terminates, \a r is deleted. After that, the thread * terminates. * - * If the operatins system does not support any threads, throws an + * If the operating system does not support any threads, throws an * exception of type Support::OperatingSystemError. */ static void run(Runnable* r); diff --git a/gecode/support/thread/pthreads.cpp b/gecode/support/thread/pthreads.cpp index 83c60d79fe..9857f9ec3b 100755 --- a/gecode/support/thread/pthreads.cpp +++ b/gecode/support/thread/pthreads.cpp @@ -58,7 +58,7 @@ namespace Gecode { namespace Support { if (pthread_create(&p_t, NULL, bootstrap, this) != 0) throw OperatingSystemError("Thread::run[pthread_create]"); } - + }} #endif diff --git a/gecode/support/thread/pthreads.hpp b/gecode/support/thread/pthreads.hpp index 6b65d56e7d..d5cf271a5a 100755 --- a/gecode/support/thread/pthreads.hpp +++ b/gecode/support/thread/pthreads.hpp @@ -39,6 +39,8 @@ #include #endif +#include + namespace Gecode { namespace Support { /* @@ -65,8 +67,11 @@ namespace Gecode { namespace Support { } forceinline Mutex::~Mutex(void) { - if (pthread_mutex_destroy(&p_m) != 0) - throw OperatingSystemError("Mutex::~Mutex[pthread_mutex_destroy]"); + if (pthread_mutex_destroy(&p_m) != 0) { + std::cerr << "Operating system error: " + << "Mutex::~Mutex[pthread_mutex_destroy]"; + std::terminate(); + } } #ifdef GECODE_THREADS_OSX @@ -119,9 +124,11 @@ namespace Gecode { namespace Support { } forceinline FastMutex::~FastMutex(void) { - if (pthread_spin_destroy(&p_s) != 0) - throw OperatingSystemError( - "FastMutex::~FastMutex[pthread_spin_destroy]"); + if (pthread_spin_destroy(&p_s) != 0) { + std::cerr << "Operating system error: " + << "FastMutex::~FastMutex[pthread_spin_destroy]"; + std::terminate(); + } } #endif @@ -161,10 +168,16 @@ namespace Gecode { namespace Support { } forceinline Event::~Event(void) { - if (pthread_cond_destroy(&p_c) != 0) - throw OperatingSystemError("Event::~Event[pthread_cond_destroy]"); - if (pthread_mutex_destroy(&p_m) != 0) - throw OperatingSystemError("Event::~Event[pthread_mutex_destroy]"); + if (pthread_cond_destroy(&p_c) != 0) { + std::cerr << "Operating system error: " + << "Event::~Event[pthread_cond_destroy]"; + std::terminate(); + } + if (pthread_mutex_destroy(&p_m) != 0) { + std::cerr << "Operating system error: " + << "Event::~Event[pthread_mutex_destroy]"; + std::terminate(); + } } diff --git a/gecode/support/thread/thread.cpp b/gecode/support/thread/thread.cpp index 7bff3f0bc7..a0cfde1dab 100755 --- a/gecode/support/thread/thread.cpp +++ b/gecode/support/thread/thread.cpp @@ -42,12 +42,12 @@ namespace Gecode { namespace Support { /* * Threads */ - + Mutex* Thread::m(void) { static Mutex* m = new Mutex; return m; } - + Thread::Run* Thread::idle = NULL; void @@ -61,7 +61,8 @@ namespace Gecode { namespace Support { m.release(); assert(e != NULL); e->run(); - delete e; + if (e->todelete()) + delete e; } // Put into idle stack Thread::m()->acquire(); diff --git a/gecode/support/thread/thread.hpp b/gecode/support/thread/thread.hpp index db2adea0a3..c29708cda7 100755 --- a/gecode/support/thread/thread.hpp +++ b/gecode/support/thread/thread.hpp @@ -40,6 +40,17 @@ namespace Gecode { namespace Support { /* * Runnable objects */ + forceinline + Runnable::Runnable(bool d0) + : d(d0) {} + forceinline void + Runnable::todelete(bool d0) { + d=d0; + } + forceinline bool + Runnable::todelete(void) const { + return d; + } forceinline void Runnable::operator delete(void* p) { heap.rfree(p); diff --git a/gecode/support/thread/windows.cpp b/gecode/support/thread/windows.cpp index 5eb7e507eb..66f1928bcd 100755 --- a/gecode/support/thread/windows.cpp +++ b/gecode/support/thread/windows.cpp @@ -42,7 +42,7 @@ namespace Gecode { namespace Support { /// Function to start execution - DWORD WINAPI + DWORD WINAPI bootstrap(LPVOID p) { static_cast(p)->exec(); return 0; diff --git a/gecode/support/thread/windows.hpp b/gecode/support/thread/windows.hpp index 2278fdabe4..822cd6dafb 100755 --- a/gecode/support/thread/windows.hpp +++ b/gecode/support/thread/windows.hpp @@ -81,6 +81,7 @@ namespace Gecode { namespace Support { if (WaitForSingleObject(w_h,INFINITE) != 0) throw OperatingSystemError("Event::wait[Windows::WaitForSingleObject]"); } + forceinline Event::~Event(void) { if (CloseHandle(w_h) == 0) { diff --git a/gecode/support/timer.hpp b/gecode/support/timer.hpp index baf27da18f..30fd20f338 100644 --- a/gecode/support/timer.hpp +++ b/gecode/support/timer.hpp @@ -46,7 +46,7 @@ namespace Gecode { namespace Support { /** \brief %Timer - * + * * This class represents a best-effort at measuring wall-clock time * in milliseconds. * @@ -82,7 +82,7 @@ namespace Gecode { namespace Support { timeval t1, t; if (gettimeofday(&t1, NULL)) throw OperatingSystemError("Timer::stop[gettimeofday]"); - + // t = t1 - t2 t.tv_sec = t1.tv_sec - t0.tv_sec; t.tv_usec = t1.tv_usec - t0.tv_usec; @@ -90,8 +90,8 @@ namespace Gecode { namespace Support { t.tv_sec--; t.tv_usec += 1000000; } - - return (static_cast(t.tv_sec) * 1000.0) + + + return (static_cast(t.tv_sec) * 1000.0) + (static_cast(t.tv_usec)/1000.0); #elif defined(GECODE_USE_CLOCK) return (static_cast(clock()-t0) / CLOCKS_PER_SEC) * 1000.0; diff --git a/gecode/third-party/boost/config.hpp b/gecode/third-party/boost/config.hpp index b75b150596..517d2d440b 100644 --- a/gecode/third-party/boost/config.hpp +++ b/gecode/third-party/boost/config.hpp @@ -1,8 +1,8 @@ // Boost config.hpp configuration header file ------------------------------// -// (C) Copyright John Maddock 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file +// (C) Copyright John Maddock 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org/libs/config for most recent version. diff --git a/gecode/third-party/boost/config/abi_prefix.hpp b/gecode/third-party/boost/config/abi_prefix.hpp index b6701688c7..85303ef99f 100644 --- a/gecode/third-party/boost/config/abi_prefix.hpp +++ b/gecode/third-party/boost/config/abi_prefix.hpp @@ -1,7 +1,7 @@ // abi_prefix header -------------------------------------------------------// // (c) Copyright John Maddock 2003 - + // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). diff --git a/gecode/third-party/boost/config/abi_suffix.hpp b/gecode/third-party/boost/config/abi_suffix.hpp index 9578fe810c..f9d88a635a 100644 --- a/gecode/third-party/boost/config/abi_suffix.hpp +++ b/gecode/third-party/boost/config/abi_suffix.hpp @@ -1,7 +1,7 @@ // abi_sufffix header -------------------------------------------------------// // (c) Copyright John Maddock 2003 - + // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). diff --git a/gecode/third-party/boost/config/posix_features.hpp b/gecode/third-party/boost/config/posix_features.hpp index 03cda08dcf..c7e375b377 100644 --- a/gecode/third-party/boost/config/posix_features.hpp +++ b/gecode/third-party/boost/config/posix_features.hpp @@ -1,6 +1,6 @@ -// (C) Copyright John Maddock 2001 - 2003. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file +// (C) Copyright John Maddock 2001 - 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/gecode/third-party/boost/config/select_compiler_config.hpp b/gecode/third-party/boost/config/select_compiler_config.hpp index 9732ec84d4..8c4df95afe 100644 --- a/gecode/third-party/boost/config/select_compiler_config.hpp +++ b/gecode/third-party/boost/config/select_compiler_config.hpp @@ -1,6 +1,6 @@ // Boost compiler configuration selection header file -// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright John Maddock 2001 - 2003. // (C) Copyright Martin Wille 2003. // (C) Copyright Guillaume Melquiond 2003. // @@ -11,7 +11,7 @@ // See http://www.boost.org/ for most recent version. // locate which compiler we are using and define -// GECODE_BOOST_COMPILER_CONFIG as needed: +// GECODE_BOOST_COMPILER_CONFIG as needed: #if defined(__GCCXML__) // GCC-XML emulates other compilers, it has to appear first here! diff --git a/gecode/third-party/boost/config/select_platform_config.hpp b/gecode/third-party/boost/config/select_platform_config.hpp index a7940c58a5..eda6e1a7c5 100644 --- a/gecode/third-party/boost/config/select_platform_config.hpp +++ b/gecode/third-party/boost/config/select_platform_config.hpp @@ -1,9 +1,9 @@ // Boost compiler configuration selection header file -// (C) Copyright John Maddock 2001 - 2002. -// (C) Copyright Jens Maurer 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file +// (C) Copyright John Maddock 2001 - 2002. +// (C) Copyright Jens Maurer 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // See http://www.boost.org for most recent version. @@ -13,7 +13,7 @@ // in order to prevent macro expansion within the header // name (for example "linux" is a macro on linux systems). -#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) +#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__) // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though? # define GECODE_BOOST_PLATFORM_CONFIG "gecode/third-party/boost/config/platform/linux.hpp" @@ -65,13 +65,13 @@ // vxWorks: # define GECODE_BOOST_PLATFORM_CONFIG "gecode/third-party/boost/config/platform/vxworks.hpp" -#elif defined(__SYMBIAN32__) -// Symbian: -# define GECODE_BOOST_PLATFORM_CONFIG "gecode/third-party/boost/config/platform/symbian.hpp" +#elif defined(__SYMBIAN32__) +// Symbian: +# define GECODE_BOOST_PLATFORM_CONFIG "gecode/third-party/boost/config/platform/symbian.hpp" -#elif defined(__VMS) +#elif defined(__VMS) // VMS: -# define GECODE_BOOST_PLATFORM_CONFIG "gecode/third-party/boost/config/platform/vms.hpp" +# define GECODE_BOOST_PLATFORM_CONFIG "gecode/third-party/boost/config/platform/vms.hpp" #else # if defined(unix) \ diff --git a/gecode/third-party/boost/config/select_stdlib_config.hpp b/gecode/third-party/boost/config/select_stdlib_config.hpp index 847c0226ee..098e38691c 100644 --- a/gecode/third-party/boost/config/select_stdlib_config.hpp +++ b/gecode/third-party/boost/config/select_stdlib_config.hpp @@ -1,9 +1,9 @@ // Boost compiler configuration selection header file -// (C) Copyright John Maddock 2001 - 2003. -// (C) Copyright Jens Maurer 2001 - 2002. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file +// (C) Copyright John Maddock 2001 - 2003. +// (C) Copyright Jens Maurer 2001 - 2002. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -12,7 +12,7 @@ // locate which std lib we are using and define GECODE_BOOST_STDLIB_CONFIG as needed: // First include to determine if some version of STLport is in use as the std lib -// (do not rely on this header being included since users can short-circuit this header +// (do not rely on this header being included since users can short-circuit this header // if they know whose std lib they are using.) #ifdef __cplusplus # include @@ -28,11 +28,11 @@ #else -// If our std lib was not some version of STLport, then include as it is about +// If our std lib was not some version of STLport, then include as it is about // the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not // include their C++-related macros in so this additional include makes sure // we get those definitions) -// (again do not rely on this header being included since users can short-circuit this +// (again do not rely on this header being included since users can short-circuit this // header if they know whose std lib they are using.) #include diff --git a/gecode/third-party/boost/config/suffix.hpp b/gecode/third-party/boost/config/suffix.hpp index d097a431f3..ce15c73ae1 100644 --- a/gecode/third-party/boost/config/suffix.hpp +++ b/gecode/third-party/boost/config/suffix.hpp @@ -3,7 +3,7 @@ // Copyright (c) 2001-2003 John Maddock // Copyright (c) 2001 Darin Adler // Copyright (c) 2001 Peter Dimov -// Copyright (c) 2002 Bill Kempf +// Copyright (c) 2002 Bill Kempf // Copyright (c) 2002 Jens Maurer // Copyright (c) 2002-2003 David Abrahams // Copyright (c) 2003 Gennaro Prota @@ -152,7 +152,7 @@ # endif // -// Without partial specialization, partial +// Without partial specialization, partial // specialization with default args won't work either: // # if defined(GECODE_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ @@ -651,12 +651,12 @@ namespace std{ using ::type_info; } // Set some default values GPU support // # ifndef GECODE_BOOST_GPU_ENABLED -# define GECODE_BOOST_GPU_ENABLED +# define GECODE_BOOST_GPU_ENABLED # endif // // constexpr workarounds -// +// #if defined(GECODE_BOOST_NO_CONSTEXPR) #define GECODE_BOOST_CONSTEXPR #define GECODE_BOOST_CONSTEXPR_OR_CONST const diff --git a/gecode/third-party/boost/config/user.hpp b/gecode/third-party/boost/config/user.hpp index 747c99d24e..d771c38ea3 100644 --- a/gecode/third-party/boost/config/user.hpp +++ b/gecode/third-party/boost/config/user.hpp @@ -1,8 +1,8 @@ // boost/config/user.hpp ---------------------------------------------------// -// (C) Copyright John Maddock 2001. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file +// (C) Copyright John Maddock 2001. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // Do not check in modified versions of this file, @@ -65,60 +65,60 @@ // even when available: // #define GECODE_BOOST_DISABLE_WIN32 -// GECODE_BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any -// prefix/suffix headers that normally control things like struct -// packing and alignment. +// GECODE_BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any +// prefix/suffix headers that normally control things like struct +// packing and alignment. // #define GECODE_BOOST_DISABLE_ABI_HEADERS // GECODE_BOOST_ABI_PREFIX: A prefix header to include in place of whatever -// boost.config would normally select, any replacement should set up -// struct packing and alignment options as required. +// boost.config would normally select, any replacement should set up +// struct packing and alignment options as required. // #define GECODE_BOOST_ABI_PREFIX my-header-name -// GECODE_BOOST_ABI_SUFFIX: A suffix header to include in place of whatever -// boost.config would normally select, any replacement should undo -// the effects of the prefix header. +// GECODE_BOOST_ABI_SUFFIX: A suffix header to include in place of whatever +// boost.config would normally select, any replacement should undo +// the effects of the prefix header. // #define GECODE_BOOST_ABI_SUFFIX my-header-name -// GECODE_BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, -// to be linked as dll's rather than static libraries on Microsoft Windows -// (this macro is used to turn on __declspec(dllimport) modifiers, so that -// the compiler knows which symbols to look for in a dll rather than in a -// static library). Note that there may be some libraries that can only -// be statically linked (Boost.Test for example) and others which may only -// be dynamically linked (Boost.Threads for example), in these cases this +// GECODE_BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, +// to be linked as dll's rather than static libraries on Microsoft Windows +// (this macro is used to turn on __declspec(dllimport) modifiers, so that +// the compiler knows which symbols to look for in a dll rather than in a +// static library). Note that there may be some libraries that can only +// be statically linked (Boost.Test for example) and others which may only +// be dynamically linked (Boost.Threads for example), in these cases this // macro has no effect. // #define GECODE_BOOST_ALL_DYN_LINK - -// GECODE_BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll -// rather than a static library on Microsoft Windows: replace the WHATEVER -// part of the macro name with the name of the library that you want to -// dynamically link to, for example use GECODE_BOOST_DATE_TIME_DYN_LINK or -// GECODE_BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) -// modifiers, so that the compiler knows which symbols to look for in a dll -// rather than in a static library). -// Note that there may be some libraries that can only be statically linked -// (Boost.Test for example) and others which may only be dynamically linked + +// GECODE_BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll +// rather than a static library on Microsoft Windows: replace the WHATEVER +// part of the macro name with the name of the library that you want to +// dynamically link to, for example use GECODE_BOOST_DATE_TIME_DYN_LINK or +// GECODE_BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) +// modifiers, so that the compiler knows which symbols to look for in a dll +// rather than in a static library). +// Note that there may be some libraries that can only be statically linked +// (Boost.Test for example) and others which may only be dynamically linked // (Boost.Threads for example), in these cases this macro is unsupported. // #define GECODE_BOOST_WHATEVER_DYN_LINK - -// GECODE_BOOST_ALL_NO_LIB: Tells the config system not to automatically select -// which libraries to link against. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, -// simply by the act of including one of that library's headers. + +// GECODE_BOOST_ALL_NO_LIB: Tells the config system not to automatically select +// which libraries to link against. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, +// simply by the act of including one of that library's headers. // This macro turns that feature off. // #define GECODE_BOOST_ALL_NO_LIB - -// GECODE_BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically -// select which library to link against for library "whatever", -// replace WHATEVER in the macro name with the name of the library; -// for example GECODE_BOOST_DATE_TIME_NO_LIB or GECODE_BOOST_REGEX_NO_LIB. -// Normally if a compiler supports #pragma lib, then the correct library -// build variant will be automatically selected and linked against, simply -// by the act of including one of that library's headers. This macro turns + +// GECODE_BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically +// select which library to link against for library "whatever", +// replace WHATEVER in the macro name with the name of the library; +// for example GECODE_BOOST_DATE_TIME_NO_LIB or GECODE_BOOST_REGEX_NO_LIB. +// Normally if a compiler supports #pragma lib, then the correct library +// build variant will be automatically selected and linked against, simply +// by the act of including one of that library's headers. This macro turns // that feature off. // #define GECODE_BOOST_WHATEVER_NO_LIB - + diff --git a/gecode/third-party/boost/detail/limits.hpp b/gecode/third-party/boost/detail/limits.hpp index addb5a75b5..55b8d96cde 100644 --- a/gecode/third-party/boost/detail/limits.hpp +++ b/gecode/third-party/boost/detail/limits.hpp @@ -145,7 +145,7 @@ template -class _Integer_limits : public _Numeric_limits_base<_Int> +class _Integer_limits : public _Numeric_limits_base<_Int> { public: GECODE_BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_specialized, true); @@ -156,9 +156,9 @@ class _Integer_limits : public _Numeric_limits_base<_Int> GECODE_BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits, (__idigits < 0) ? (int)(sizeof(_Int) * CHAR_BIT) - - (__imin == 0 ? 0 : 1) + - (__imin == 0 ? 0 : 1) : __idigits); - GECODE_BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); + GECODE_BOOST_STL_DECLARE_LIMITS_MEMBER(int, digits10, (digits * 301) / 1000); // log 2 = 0.301029995664... GECODE_BOOST_STL_DECLARE_LIMITS_MEMBER(bool, is_signed, __imin != 0); @@ -178,7 +178,7 @@ class _Integer_limits : public _Numeric_limits_base<_Int> // sizeof(long double) == 16 const unsigned int _S_word[4] = { Word, 0, 0, 0 }; return *reinterpret_cast(&_S_word); - } + } }; #else @@ -191,7 +191,7 @@ class _Integer_limits : public _Numeric_limits_base<_Int> return *reinterpret_cast( reinterpret_cast(&_S_word)+16- (sizeof(Number) == 12 ? 10 : sizeof(Number))); - } + } }; #endif @@ -230,7 +230,7 @@ class _Floating_limits : public _Numeric_limits_base<__number> denorm_indeterminate); GECODE_BOOST_STL_DECLARE_LIMITS_MEMBER(bool, has_denorm_loss, false); - + static __number infinity() throw() { return float_helper<__number, __InfinityWord>::get_word(); } @@ -253,7 +253,7 @@ class _Floating_limits : public _Numeric_limits_base<__number> // The unspecialized class. -template +template class numeric_limits : public _Numeric_limits_base {}; // Specializations for all built-in integral types. @@ -342,19 +342,19 @@ class numeric_limits #if !defined(LONGLONG_MIN) # define LONGLONG_MIN (-LONGLONG_MAX - 1) -#endif +#endif #if !defined(ULONGLONG_MIN) # define ULONGLONG_MIN 0 -#endif +#endif #endif /* __GNUC__ */ // Specializations for all built-in floating-point type. template<> class numeric_limits - : public _Floating_limits class numeric_limits }; template<> class numeric_limits - : public _Floating_limits class numeric_limits }; template<> class numeric_limits - : public _Floating_limits - class numeric_limits + class numeric_limits { public: @@ -84,11 +84,11 @@ namespace std GECODE_BOOST_STATIC_CONSTANT(bool, traps = false); GECODE_BOOST_STATIC_CONSTANT(bool, tinyness_before = false); GECODE_BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - + }; template<> - class numeric_limits + class numeric_limits { public: @@ -137,10 +137,10 @@ namespace std GECODE_BOOST_STATIC_CONSTANT(bool, traps = false); GECODE_BOOST_STATIC_CONSTANT(bool, tinyness_before = false); GECODE_BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero); - + }; } -#endif +#endif #endif diff --git a/gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp b/gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp index 1ff1715760..5420b6b242 100644 --- a/gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp +++ b/gecode/third-party/boost/numeric/interval/detail/ppc_rounding_control.hpp @@ -28,10 +28,18 @@ typedef union { double dmode; } rounding_mode_struct; -static const rounding_mode_struct mode_upward = { 0xFFF8000000000002LL }; -static const rounding_mode_struct mode_downward = { 0xFFF8000000000003LL }; -static const rounding_mode_struct mode_to_nearest = { 0xFFF8000000000000LL }; -static const rounding_mode_struct mode_toward_zero = { 0xFFF8000000000001LL }; +static const rounding_mode_struct mode_upward = { + static_cast< ::gecode_boost::long_long_type >(0xFFF8000000000002LL) +}; +static const rounding_mode_struct mode_downward = { + static_cast< ::gecode_boost::long_long_type >(0xFFF8000000000003LL) +}; +static const rounding_mode_struct mode_to_nearest = { + static_cast< ::gecode_boost::long_long_type >(0xFFF8000000000000LL) +}; +static const rounding_mode_struct mode_toward_zero = { + static_cast< ::gecode_boost::long_long_type >(0xFFF8000000000001LL) +}; struct ppc_rounding_control { diff --git a/gecode/third-party/boost/patch.txt b/gecode/third-party/boost/patch.txt index 3755d3f08d..2f4ba9dd2f 100644 --- a/gecode/third-party/boost/patch.txt +++ b/gecode/third-party/boost/patch.txt @@ -12,5 +12,5 @@ diff -u -r boost/numeric/interval/detail/msvc_rounding_control.hpp /cygdrive/c/U +#endif static double to_int(const double& x) { return rint(x); } }; - + diff --git a/misc/doxygen/back.png b/misc/doxygen/back.png index 52003f7e85..bd972117aa 100755 Binary files a/misc/doxygen/back.png and b/misc/doxygen/back.png differ diff --git a/misc/doxygen/gecode-logo-100.png b/misc/doxygen/gecode-logo-100.png index 07efa25c10..fdd67b0b6a 100755 Binary files a/misc/doxygen/gecode-logo-100.png and b/misc/doxygen/gecode-logo-100.png differ diff --git a/misc/doxygen/header.html b/misc/doxygen/header.html index 10839f862b..bc56a88ad1 100644 --- a/misc/doxygen/header.html +++ b/misc/doxygen/header.html @@ -54,9 +54,9 @@ document.getElementById(morelink).style.display=linkstyle; document.getElementById(moreinfo).style.display=infostyle; } else { - document.getElementById(lesslink).style.display=linkstyle; - document.getElementById(morelink).style.display="none"; - document.getElementById(moreinfo).style.display="none"; + document.getElementById(lesslink).style.display=linkstyle; + document.getElementById(morelink).style.display="none"; + document.getElementById(moreinfo).style.display="none"; } } diff --git a/misc/doxygen/stylesheet.css b/misc/doxygen/stylesheet.css index 6ca57ecf09..64dcd835a9 100644 --- a/misc/doxygen/stylesheet.css +++ b/misc/doxygen/stylesheet.css @@ -310,7 +310,7 @@ TD.indexvalue { border: 1px solid #CCCCCC; } TR.memlist { - background-color: #f0f0f0; + background-color: #f0f0f0; } P.formulaDsp { text-align: center; } IMG.formulaDsp { } diff --git a/misc/fixmanifest.perl b/misc/fixmanifest.perl index e73e2b3699..af220ff52a 100755 --- a/misc/fixmanifest.perl +++ b/misc/fixmanifest.perl @@ -67,7 +67,7 @@ while ($l = ) { print OUTMANIFEST $l; if ($l =~ /\) && + + while (($l = <>) && !(($l =~ /\[ENTRY\]/) || ($l =~ /\[RELEASE\]/) || ($l =~ /\[MORE\]/))) { $desc = $desc . " " . $l; } @@ -175,7 +175,7 @@ $desc =~ s/&/\\&/g; $desc =~ s/\n([ \t]*)\n/\n\1
\n/g; if ($l =~ /^\[MORE\]/) { - while (($l = <>) && + while (($l = <>) && !(($l =~ /\[ENTRY\]/) || ($l =~ /\[RELEASE\]/))) { $more = $more . " " . $l; } @@ -197,17 +197,17 @@ if (!($more eq "")) { $more =~ s/^ //; $more =~ s/[ \t\n\r]*$//; - $more = + $more = " \n" . - "
Details\n" . + " Details\n" . " \n" . - " Hide details\n" . + " Hide details\n" . "

\n" . " ". $more . "\n
\n"; $moreinfocnt = $moreinfocnt + 1; } - - $text{"$mod-$what"} = + + $text{"$mod-$what"} = ($text{"$mod-$what"} . " - $desc (" . $rb . ")\n" . $more); goto LINE; @@ -229,7 +229,7 @@ %Gecode version numbers x.y.z change according to the following rules (of thumb): - - when \\e z changes, the programming interfaces for + - when \\e z changes, the programming interfaces for \\ref TaskModel, and \\ref TaskSearch remain stable and only minor additions or improvements are included. - when \\e y changes, the above mentioned interfaces might have changed diff --git a/misc/gencurrentchangelog.perl b/misc/gencurrentchangelog.perl index 22593dfd5a..57d9320790 100644 --- a/misc/gencurrentchangelog.perl +++ b/misc/gencurrentchangelog.perl @@ -37,7 +37,7 @@ # # -# +# # Compile changelog # @@ -152,8 +152,8 @@ $thanks = $1; } } - - while (($l = ) && + + while (($l = ) && !(($l =~ /\[ENTRY\]/) || ($l =~ /\[RELEASE\]/))) { $l =~ s/%Gecode/Gecode/g; # chop $l; @@ -176,7 +176,7 @@ if (!($thanks eq "")) { $rb = $rb . ", thanks to $thanks"; } - $text{"$mod-$what"} = + $text{"$mod-$what"} = ($text{"$mod-$what"} . "
  • $desc(" . $rb . ")
  • \n"); goto LINE; } diff --git a/misc/genlicense.perl b/misc/genlicense.perl index dbd3fbd765..22bbb19235 100755 --- a/misc/genlicense.perl +++ b/misc/genlicense.perl @@ -35,7 +35,7 @@ # # -# +# # Get authors of all files # @@ -59,7 +59,7 @@ \\page PageLic %Gecode license and authors \\section SectLicLic GECODE LICENSE AGREEMENT - + This software and its documentation are copyrighted by the individual authors as listed in each file. All files, unless explicitly disclaimed in individual files, may be used according to the terms of the @@ -112,7 +112,7 @@ print <) && + + while (($l = <>) && !(($l =~ /\[ENTRY\]/) || ($l =~ /\[RELEASE\]/))) { $l =~ s/%Gecode/Gecode/g; # chop $l; @@ -183,7 +183,7 @@ if (!($thanks eq "")) { $rb = $rb . ", thanks to $thanks"; } - $text{"$mod-$what"} = + $text{"$mod-$what"} = ($text{"$mod-$what"} . " - $desc(" . $rb . ")\n"); goto LINE; } diff --git a/misc/genvarimp.perl b/misc/genvarimp.perl index d872dc7e48..e1383ace44 100755 --- a/misc/genvarimp.perl +++ b/misc/genvarimp.perl @@ -187,7 +187,7 @@ $me_assigned[$f] = "ME_$vti[$f]_$lhs"; } elsif ($rhs eq "FAILED") { $me_failed[$f] = "ME_$vti[$f]_$lhs"; - } els + } } $n = $lhs; } elsif ($l =~ /^Name:\s*(\w+)/io) { @@ -280,6 +280,7 @@ $hdr[$f] = "$hdr[$f]namespace $ns { "; $ftr[$f] = "$ftr[$f]}"; } + $hdr[$f] =~ s| $||g; $hdr[$f] = "$hdr[$f]\n"; $ftr[$f] = "$ftr[$f]\n"; @@ -288,6 +289,10 @@ $me_subscribe[$f] = $me_assigned[$f]; } + if (!$me_subscribe[$f]) { + die "Missing special event specification = SUBSCRIBE"; + } + $o = 2; for ($i=0; $i<$me_n[$f]; $i++) { $n = $men[$f][$i]; @@ -682,6 +687,17 @@ void subscribe(Gecode::Space& home, Gecode::Advisor& a, bool assigned); /// Notify that variable implementation has been modified with modification event \\a me and delta information \\a d Gecode::ModEvent notify(Gecode::Space& home, Gecode::ModEvent me, Gecode::Delta& d); + /// \\brief Schedule propagator \\a p + static void schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me); + /** \\brief Re-schedule propagator \\a p + * + * In case the variable is assigned (that is, \\a assigned is + * true), the propagator is scheduled for execution. + * Otherwise, the propagator is scheduled for execution + * with modification event \\a me provided that \\a pc is different + * from \\a $pc_assigned[$f]. + */ + void reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned); //\@} EOF ; @@ -761,6 +777,15 @@ $base[$f]::subscribe(home,a,assigned); } + forceinline void + $class[$f]::schedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::ModEvent me) { + $base[$f]::schedule(home,p,me); + } + forceinline void + $class[$f]::reschedule(Gecode::Space& home, Gecode::Propagator& p, Gecode::PropCond pc, bool assigned) { + $base[$f]::reschedule(home,p,pc,assigned,$me_subscribe[$f]); + } + EOF ; @@ -768,7 +793,7 @@ print <{$d}) { @@ -137,7 +137,7 @@ sub printGroup { print " sourceTree = \"\";\n };\n"; foreach my $k (keys %{$treeP}) { if (exists $treeP->{$k}[0]) { - printGroup($k, $treeP->{$k}[0], $treeP->{$k}[1], + printGroup($k, $treeP->{$k}[0], $treeP->{$k}[1], $path.$k."/"); } } diff --git a/misc/getrevision.perl b/misc/getrevision.perl index 2c073ebd6e..9650592428 100755 --- a/misc/getrevision.perl +++ b/misc/getrevision.perl @@ -35,7 +35,7 @@ # # -# +# # Print revision of file # diff --git a/misc/makedepend.perl b/misc/makedepend.perl index f72fdbd1a5..1a156bff56 100755 --- a/misc/makedepend.perl +++ b/misc/makedepend.perl @@ -34,7 +34,7 @@ # # -# +# # Ultra-simplistic makedepend: Just find existing files # Relies on: # - all filenames are relative to root directory, which is the first argument @@ -52,7 +52,7 @@ while ($f = pop @todo) { open FILE, "$root/$f" or open FILE, "$f" or die "File missing: $root/$f\n"; - + while ($l = ) { if ($l =~ /^\#include <(gecode\/.*)>/ || $l =~ /^\#include "(.*)"/) { $g = $1; diff --git a/test/afc.cpp b/test/afc.cpp index 57c787cf19..a2582382c3 100755 --- a/test/afc.cpp +++ b/test/afc.cpp @@ -91,7 +91,7 @@ namespace Test { TestSpace* s[n]; // How many spaces exist in s int n_s = 1; - + for (int i=n; i--; ) s[i] = NULL; s[0] = new TestSpace; @@ -111,7 +111,7 @@ namespace Test { } int j = space(s); (void) s[j]->status(); - s[i] = static_cast(s[j]->clone()); + s[i] = static_cast(s[j]->clone(true,rand(5) != 0)); n_s++; } break; diff --git a/test/array.cpp b/test/array.cpp index d453cf83bb..395b89e8a0 100755 --- a/test/array.cpp +++ b/test/array.cpp @@ -56,7 +56,7 @@ if (!(T)) { \ } \ test = (T); -namespace Test { +namespace Test { /// Tests for arrays namespace Array { diff --git a/test/assign.cpp b/test/assign.cpp index c8f023bda6..dccdd7c5d0 100755 --- a/test/assign.cpp +++ b/test/assign.cpp @@ -310,7 +310,7 @@ namespace Test { namespace Assign { case 7: sa = SET_ASSIGN_RND_EXC(r); break; case 8: sa = SET_ASSIGN(&set_val); break; } - + assign(*clone, clone->x, sa); Gecode::DFS e_s(clone, o); delete clone; @@ -352,7 +352,7 @@ namespace Test { namespace Assign { const int n_float_assign = sizeof(float_assign_name)/sizeof(const char*); /// Test function for branch value function - Gecode::FloatNumBranch float_val(const Gecode::Space&, + Gecode::FloatNumBranch float_val(const Gecode::Space&, Gecode::FloatVar x, int) { Gecode::FloatNumBranch nl; nl.n=x.med(); nl.l=true; return nl; @@ -385,7 +385,7 @@ namespace Test { namespace Assign { case 2: fa = FLOAT_ASSIGN_RND(r); break; case 3: fa = FLOAT_ASSIGN(&float_val); break; } - + assign(*clone, clone->x, fa); Gecode::DFS e_s(clone, o); delete clone; diff --git a/test/assign/set.cpp b/test/assign/set.cpp index 8d2e82e6cf..1cf3dfb651 100644 --- a/test/assign/set.cpp +++ b/test/assign/set.cpp @@ -55,7 +55,7 @@ namespace Test { namespace Assign { Gecode::rel(home, Gecode::SOT_UNION, y, x[x.size()-1]); } }; - + namespace { Gecode::IntArgs s(5, -100,-10,0,10,100); Set d_3("Dense::3",Gecode::IntSet(-2,2),3); diff --git a/test/branch.cpp b/test/branch.cpp index 9929c4d999..8bfe3151f7 100644 --- a/test/branch.cpp +++ b/test/branch.cpp @@ -77,7 +77,7 @@ namespace Test { namespace Branch { Gecode::IntValBranch val; /// Initialize test space IntTestSpace(int n, Gecode::IntSet& d) - : x(*this, n, d), + : x(*this, n, d), vara(Gecode::INT_VAR_NONE()), varb(Gecode::INT_VAR_NONE()), val(Gecode::INT_VAL_MIN()) {} /// Constructor for cloning \a s @@ -341,7 +341,7 @@ namespace Test { namespace Branch { const int n_float_val_branch = sizeof(float_val_branch_name)/sizeof(const char*); /// Test function for branch value function - Gecode::FloatNumBranch float_val(const Gecode::Space&, + Gecode::FloatNumBranch float_val(const Gecode::Space&, Gecode::FloatVar x, int) { Gecode::FloatNumBranch nl; nl.n=x.med(); nl.l=true; return nl; @@ -440,7 +440,7 @@ namespace Test { namespace Branch { case 13: ivb = INT_VAL_NEAR_INC(d); break; case 14: ivb = INT_VAL_NEAR_DEC(d); break; } - + IntTestSpace* c = static_cast(root->clone(false)); if ((vara == 0) && (val < 11)) { @@ -609,7 +609,7 @@ namespace Test { namespace Branch { case 13: ivb = INT_VAL_NEAR_INC(d); break; case 14: ivb = INT_VAL_NEAR_DEC(d); break; } - + BoolTestSpace* c = static_cast(root->clone(false)); if ((vara == 0) && (val < 11)) { @@ -771,7 +771,7 @@ namespace Test { namespace Branch { case 7: svb = SET_VAL_RND_EXC(r); break; case 8: svb = SET_VAL(&set_val); break; } - + SetTestSpace* c = static_cast(root->clone(false)); if (vara == 0) { @@ -782,7 +782,7 @@ namespace Test { namespace Branch { SetVarBranch svba; SetActivity saa(*c, c->x, 0.9); switch (vara) { - case 0: break; + case 0: break; case 1: svba = SET_VAR_NONE(); break; case 2: svba = SET_VAR_RND(ra); break; case 3: svba = SET_VAR_MERIT_MIN(&set_merit); break; @@ -811,7 +811,7 @@ namespace Test { namespace Branch { SetVarBranch svbb; SetActivity sab(*c, c->x, 0.9, &set_merit); switch (varb) { - case 0: break; + case 0: break; case 1: svbb = SET_VAR_NONE(); break; case 2: svbb = SET_VAR_RND(rb); break; case 3: svbb = SET_VAR_MERIT_MIN(&set_merit,&tbl); break; @@ -919,7 +919,7 @@ namespace Test { namespace Branch { case 2: fvb = FLOAT_VAL_SPLIT_RND(r); break; case 3: fvb = FLOAT_VAL(&float_val); break; } - + FloatTestSpace* c = static_cast(root->clone(false)); if (vara == 0) { for (int i=0; ix.size(); i++) @@ -929,7 +929,7 @@ namespace Test { namespace Branch { FloatVarBranch fvba; FloatActivity faa(*c, c->x, 0.9); switch (vara) { - case 0: break; + case 0: break; case 1: fvba = FLOAT_VAR_NONE(); break; case 2: fvba = FLOAT_VAR_RND(ra); break; case 3: fvba = FLOAT_VAR_MERIT_MIN(&float_merit); break; @@ -958,7 +958,7 @@ namespace Test { namespace Branch { FloatVarBranch fvbb; FloatActivity fab(*c, c->x, 0.9, &float_merit); switch (varb) { - case 0: break; + case 0: break; case 1: fvbb = FLOAT_VAR_NONE(); break; case 2: fvbb = FLOAT_VAR_RND(rb); break; case 3: fvbb = FLOAT_VAR_MERIT_MIN(&float_merit,&tbl); break; diff --git a/test/brancher-handle.cpp b/test/brancher-handle.cpp deleted file mode 100755 index 91d58aa0bd..0000000000 --- a/test/brancher-handle.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ -/* - * Main authors: - * Christian Schulte - * - * Copyright: - * Christian Schulte, 2013 - * - * Last modified: - * $Date$ by $Author$ - * $Revision$ - * - * This file is part of Gecode, the generic constraint - * development environment: - * http://www.gecode.org - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - -#include -#include - -#include "test/test.hh" - -namespace Test { - - /// %Test for brancher handles - class BrancherHandle : public Test::Base { - protected: - /// Test space - class TestSpace : public Gecode::Space { - protected: - /// An array of integer variables - Gecode::IntVarArray x; - public: - /// Constructor for creation - TestSpace(void) : x(*this,2,0,10) {} - /// Constructor for cloning \a s - TestSpace(bool share, TestSpace& s) : Space(share,s) { - x.update(*this,share,s.x); - } - /// Post arbitrary brancher and return its handle - Gecode::BrancherHandle post(void) { - using namespace Gecode; - return Gecode::branch(*this, x, INT_VAR_NONE(), INT_VAL_MIN()); - } - /// Copy during cloning - virtual Space* copy(bool share) { - return new TestSpace(share,*this); - } - }; - /// How many branchers to create - static const int n_b = 1024; - /// Return random index - int index(void) { - // return rand(n); - return 4; - } - public: - /// Initialize test - BrancherHandle(void) : Test::Base("BrancherHandle") {} - /// Perform actual tests - bool run(void) { - using namespace Gecode; - TestSpace* s = new TestSpace; - - // Create and immediately delete - for (int i=0; ipost()); - if (!b(*s)) return false; - b.kill(*s); - if (b(*s)) return false; - } - - if (s->status() != SS_SOLVED) - return false; - - // Array of handles for tests - Gecode::BrancherHandle bs[n_b]; - - // Create and delete - for (int i=0; ipost()); - if (!b(*s)) return false; - bs[i] = b; - } - for (int i=0; istatus() != SS_SOLVED) - return false; - - // Create and delete in inverse order - for (int i=0; ipost()); - if (!b(*s)) return false; - bs[i] = b; - } - for (int i=n_b; i--; ) { - bs[i].kill(*s); - if (bs[i](*s)) return false; - } - if (s->status() != SS_SOLVED) - return false; - - // Create and delete randomly - for (int i=0; ipost()); - if (!b(*s)) return false; - bs[i] = b; - } - int a = n_b; - while (a > 0) { - int i = rand(n_b); - if (bs[i](*s)) { - bs[i].kill(*s); a--; - } - } - if (s->status() != SS_SOLVED) - return false; - - return true; - } - }; - - BrancherHandle bh; - -} - -// STATISTICS: test-core diff --git a/test/flatzinc.cpp b/test/flatzinc.cpp index 8f06c75387..20a421908c 100644 --- a/test/flatzinc.cpp +++ b/test/flatzinc.cpp @@ -58,22 +58,22 @@ namespace Test { namespace FlatZinc { fg = Gecode::FlatZinc::parse(ss, p, olog); if (fg) { - fg->createBranchers(fg->solveAnnotations(), fznopt.seed(), fznopt.decay(), + fg->createBranchers(p, fg->solveAnnotations(), fznopt.seed(), fznopt.decay(), false, olog); fg->shrinkArrays(p); std::ostringstream os; fg->run(os, p, fznopt, t_total); - + if (_expected == os.str()) { return true; } else { if (opt.log) - olog << "FlatZinc produced the following output:\n" << os.str() << "\n"; + olog << "FlatZinc produced the following output:\n" << os.str() << "\n"; return false; } } else { if (opt.log) - olog << "Could not parse input\n"; + olog << "Could not parse input\n"; return false; } delete fg; @@ -82,7 +82,7 @@ namespace Test { namespace FlatZinc { olog << ind(2) << "FlatZinc error : " << e.toString() << std::endl; return false; } - + } }} diff --git a/test/float.cpp b/test/float.cpp index 36cf021dd4..6506d3b14d 100644 --- a/test/float.cpp +++ b/test/float.cpp @@ -83,8 +83,8 @@ namespace Test { namespace Float { dsv[i--] = FloatVal(d.min(),nextafter(d.min(),d.max())); } } - - + + /* * Random assignments * @@ -113,7 +113,7 @@ namespace Test { namespace Float { using namespace Gecode; using namespace Gecode::Float; Rounding r; - return + return r.add_down( l, r.mul_down( @@ -130,7 +130,7 @@ namespace Test { namespace Float { using namespace Gecode; using namespace Gecode::Float; Rounding r; - return + return r.sub_up( u, r.mul_down( @@ -144,10 +144,10 @@ namespace Test { namespace Float { } - TestSpace::TestSpace(int n, Gecode::FloatVal& d0, Gecode::FloatNum s, + TestSpace::TestSpace(int n, Gecode::FloatVal& d0, Gecode::FloatNum s, Test* t) - : d(d0), step(s), - x(*this,n,Gecode::Float::Limits::min,Gecode::Float::Limits::max), + : d(d0), step(s), + x(*this,n,Gecode::Float::Limits::min,Gecode::Float::Limits::max), test(t), reified(false) { Gecode::FloatVarArgs _x(*this,n,d.min(),d.max()); if (x.size() == 1) @@ -161,14 +161,14 @@ namespace Test { namespace Float { << std::endl; } - TestSpace::TestSpace(int n, Gecode::FloatVal& d0, Gecode::FloatNum s, + TestSpace::TestSpace(int n, Gecode::FloatVal& d0, Gecode::FloatNum s, Test* t, Gecode::ReifyMode rm) : d(d0), step(s), x(*this,n,d.min(),d.max()), test(t), reified(true) { Gecode::BoolVar b(*this,0,1); r = Gecode::Reify(b,rm); if (opt.log) olog << ind(2) << "Initial: x[]=" << x - << " b=" << r.var() + << " b=" << r.var() << std::endl; } @@ -181,34 +181,45 @@ namespace Test { namespace Float { r.var(b); r.mode(s.r.mode()); } - Gecode::Space* + Gecode::Space* TestSpace::copy(bool share) { return new TestSpace(share,*this); } - void + void + TestSpace::enable(void) { + Gecode::PropagatorGroup::all.enable(*this); + } + + void + TestSpace::disable(void) { + Gecode::PropagatorGroup::all.disable(*this); + (void) status(); + } + + void TestSpace::dropUntil(const Assignment& a) { for (int i = x.size(); i--; ) Gecode::rel(*this, x[i], Gecode::FRT_GQ, a[i].min()); } - - bool + + bool TestSpace::assigned(void) const { for (int i=x.size(); i--; ) if (!x[i].assigned()) return false; return true; } - - bool + + bool TestSpace::matchAssignment(const Assignment& a) const { for (int i=x.size(); i--; ) if ((x[i].min() < a[i].min()) && (x[i].max() > a[i].max())) return false; return true; } - - void + + void TestSpace::post(void) { if (reified){ test->post(*this,x,r); @@ -221,7 +232,7 @@ namespace Test { namespace Float { } } - bool + bool TestSpace::failed(void) { if (opt.log) { olog << ind(3) << "Fixpoint: " << x; @@ -233,7 +244,7 @@ namespace Test { namespace Float { } } - void + void TestSpace::rel(int i, Gecode::FloatRelType frt, Gecode::FloatVal n) { if (opt.log) { olog << ind(4) << "x[" << i << "] "; @@ -250,7 +261,7 @@ namespace Test { namespace Float { Gecode::rel(*this, x[i], frt, n); } - void + void TestSpace::rel(bool sol) { int n = sol ? 1 : 0; assert(reified); @@ -259,7 +270,7 @@ namespace Test { namespace Float { Gecode::rel(*this, r.var(), Gecode::IRT_EQ, n); } - void + void TestSpace::assign(const Assignment& a, MaybeType& sol, bool skip) { using namespace Gecode; int i = skip ? static_cast(Base::rand(a.size())) : -1; @@ -277,7 +288,7 @@ namespace Test { namespace Float { } } - void + void TestSpace::bound(void) { using namespace Gecode; // Select variable to be assigned @@ -320,8 +331,8 @@ namespace Test { namespace Float { } return x[i].size(); } - - void + + void TestSpace::prune(int i) { using namespace Gecode; // Prune values @@ -337,7 +348,7 @@ namespace Test { namespace Float { } } - void + void TestSpace::prune(void) { using namespace Gecode; // Select variable to be pruned @@ -348,7 +359,7 @@ namespace Test { namespace Float { prune(i); } - bool + bool TestSpace::prune(const Assignment& a, bool testfix) { // Select variable to be pruned int i = Base::rand(x.size()); @@ -399,6 +410,11 @@ namespace Test { namespace Float { return true; } + unsigned int + TestSpace::propagators(void) { + return Gecode::PropagatorGroup::all.size(*this); + } + const Gecode::FloatRelType FloatRelTypes::frts[] = {Gecode::FRT_EQ,Gecode::FRT_NQ,Gecode::FRT_LQ,Gecode::FRT_LE, @@ -424,15 +440,15 @@ namespace Test { namespace Float { GECODE_NEVER; return false; } - + bool Test::subsumed(const TestSpace& ts) const { if (!testsubsumed) return true; - if (ts.propagators()==0) return true; + if (const_cast(ts).propagators() == 0) return true; if (assigmentType == EXTEND_ASSIGNMENT) return true; return false; } - + /// Check the test result and handle failed test #define CHECK_TEST(T,M) \ if (opt.log) \ @@ -467,7 +483,7 @@ if (!(T)) { \ // Set up assignments Assignment* ap = assignment(); Assignment& a = *ap; - + // Set up space for all solution search TestSpace* search_s = new TestSpace(arity,dom,step,this); post(*search_s,search_s->x); @@ -542,6 +558,38 @@ if (!(T)) { \ } delete s; } + START_TEST("Assignment (after posting, disable)"); + { + TestSpace* s = new TestSpace(arity,dom,step,this); + s->post(); + s->disable(); + s->enable(); + s->assign(a,sol); + if (sol == MT_TRUE) { + CHECK_TEST(!s->failed(), "Failed on solution"); + CHECK_TEST(subsumed(*s), "No subsumption"); + } else if (sol == MT_FALSE) { + CHECK_TEST(s->failed(), "Solved on non-solution"); + } + delete s; + } + START_TEST("Partial assignment (after posting, disable)"); + { + TestSpace* s = new TestSpace(arity,dom,step,this); + s->post(); + s->disable(); + s->enable(); + s->assign(a,sol,true); + (void) s->failed(); + s->assign(a,sol); + if (sol == MT_TRUE) { + CHECK_TEST(!s->failed(), "Failed on solution"); + CHECK_TEST(subsumed(*s), "No subsumption"); + } else if (sol == MT_FALSE) { + CHECK_TEST(s->failed(), "Solved on non-solution"); + } + delete s; + } START_TEST("Assignment (before posting)"); { TestSpace* s = new TestSpace(arity,dom,step,this); @@ -589,7 +637,6 @@ if (!(T)) { \ } delete s; } - if (reified && !ignore(a) && (sol != MT_MAYBE)) { if (eqv()) { START_TEST("Assignment reified (rewrite after post, <=>)"); @@ -691,7 +738,7 @@ if (!(T)) { \ if (sol == MT_TRUE) { if (s->r.var().assigned()) { CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } + } } else if (sol == MT_FALSE) { CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); } @@ -737,7 +784,7 @@ if (!(T)) { \ if (sol == MT_TRUE) { if (s->r.var().assigned()) { CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } + } } else if (sol == MT_FALSE) { CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); } @@ -770,7 +817,7 @@ if (!(T)) { \ TestSpace* s = new TestSpace(arity,dom,step,this,RM_IMP); s->post(); while (!s->failed() && !s->matchAssignment(a) && - (!s->assigned() || ((sol == MT_FALSE) && + (!s->assigned() || ((sol == MT_FALSE) && !s->r.var().assigned()))) if (!s->prune(a,testfix)) { problem = "No fixpoint"; @@ -791,7 +838,7 @@ if (!(T)) { \ TestSpace* s = new TestSpace(arity,dom,step,this,RM_PMI); s->post(); while (!s->failed() && !s->matchAssignment(a) && - (!s->assigned() || ((sol == MT_TRUE) && + (!s->assigned() || ((sol == MT_TRUE) && !s->r.var().assigned()))) if (!s->prune(a,testfix)) { problem = "No fixpoint"; diff --git a/test/float.hh b/test/float.hh index 2ddf76a68c..b9a75eb9d1 100644 --- a/test/float.hh +++ b/test/float.hh @@ -57,7 +57,7 @@ namespace Test { MT_TRUE, //< Does not hold MT_MAYBE //< Might or might not hold }; - + /// Three-valued conjunction of MaybeType MaybeType operator &(MaybeType a, MaybeType b); @@ -67,9 +67,9 @@ namespace Test { RANDOM_ASSIGNMENT, EXTEND_ASSIGNMENT }; - + class Test; - + /** * \defgroup TaskTestFloat Testing domain floats * \ingroup TaskTest @@ -142,8 +142,8 @@ namespace Test { /// Destructor virtual ~ExtAssignment(void); }; - - + + /// Generate random selection of assignments class RandomAssignment : public Assignment { protected: @@ -185,7 +185,7 @@ namespace Test { /** * \brief Create test space * - * Creates \a n variables with domain \a d and step \a s for + * Creates \a n variables with domain \a d and step \a s for * test \a t. * */ @@ -197,7 +197,7 @@ namespace Test { * test \a t annd reification mode \a rm. * */ - TestSpace(int n, Gecode::FloatVal& d, Gecode::FloatNum s, Test* t, + TestSpace(int n, Gecode::FloatVal& d, Gecode::FloatNum s, Test* t, Gecode::ReifyMode rm); /// Constructor for cloning \a s TestSpace(bool share, TestSpace& s); @@ -233,6 +233,12 @@ namespace Test { void prune(void); /// Prune values but not those in assignment \a a bool prune(const Assignment& a, bool testfix); + /// Disable propagators in space and compute fixpoint (make all idle) + void disable(void); + /// Enable propagators in space + void enable(void); + /// Return the number of propagators + unsigned int propagators(void); }; /** @@ -276,7 +282,7 @@ namespace Test { * domain \a d and step \a st and assignment type \a at. Also * tests for a reified constraint, if \a r is true. */ - Test(const std::string& s, int a, const Gecode::FloatVal& d, + Test(const std::string& s, int a, const Gecode::FloatVal& d, Gecode::FloatNum st, AssignmentType at, bool r); /** @@ -286,8 +292,8 @@ namespace Test { * domain \a min ... \a max and step \a st and assignment type \a at. Also * tests for a reified constraint, if \a r is true. */ - Test(const std::string& s, int a, - Gecode::FloatNum min, Gecode::FloatNum max, + Test(const std::string& s, int a, + Gecode::FloatNum min, Gecode::FloatNum max, Gecode::FloatNum st, AssignmentType at, bool r); /// Create assignment @@ -323,7 +329,7 @@ namespace Test { /// \name General support //@{ /// Compare \a x and \a y with respect to \a r - static MaybeType cmp(Gecode::FloatVal x, Gecode::FloatRelType r, + static MaybeType cmp(Gecode::FloatVal x, Gecode::FloatRelType r, Gecode::FloatVal y); /// Whether \a x and \a y are equal static MaybeType eq(Gecode::FloatVal x, Gecode::FloatVal y); diff --git a/test/float.hpp b/test/float.hpp index 8f8a298a34..72da663288 100644 --- a/test/float.hpp +++ b/test/float.hpp @@ -111,13 +111,13 @@ namespace Test { namespace Float { ExtAssignment::~ExtAssignment(void) { delete [] dsv; } - + forceinline Gecode::FloatNum RandomAssignment::randval(void) { using namespace Gecode; using namespace Gecode::Float; Rounding r; - return + return r.add_down( d.min(), r.mul_down( @@ -173,23 +173,23 @@ namespace Test { namespace Float { return reified && ((rms & (1 << Gecode::RM_PMI)) != 0); } inline - Test::Test(const std::string& s, int a, const Gecode::FloatVal& d, + Test::Test(const std::string& s, int a, const Gecode::FloatVal& d, Gecode::FloatNum st, AssignmentType at, bool r) - : Base("Float::"+s), arity(a), dom(d), step(st), assigmentType(at), - reified(r), rms((1 << Gecode::RM_EQV) || - (1 << Gecode::RM_IMP) || + : Base("Float::"+s), arity(a), dom(d), step(st), assigmentType(at), + reified(r), rms((1 << Gecode::RM_EQV) || + (1 << Gecode::RM_IMP) || (1 << Gecode::RM_PMI)), testsearch(true), testfix(true), testsubsumed(true) {} inline - Test::Test(const std::string& s, int a, Gecode::FloatNum min, + Test::Test(const std::string& s, int a, Gecode::FloatNum min, Gecode::FloatNum max, Gecode::FloatNum st, AssignmentType at, bool r) - : Base("Float::"+s), arity(a), dom(min,max), step(st), + : Base("Float::"+s), arity(a), dom(min,max), step(st), assigmentType(at), reified(r), - rms((1 << Gecode::RM_EQV) || - (1 << Gecode::RM_IMP) || + rms((1 << Gecode::RM_EQV) || + (1 << Gecode::RM_IMP) || (1 << Gecode::RM_PMI)), testsearch(true), testfix(true), testsubsumed(true) {} @@ -278,7 +278,7 @@ namespace Test { namespace Float { return Base::rand(2U) == 0U; } - inline MaybeType + inline MaybeType operator &(MaybeType a, MaybeType b) { switch (a) { case MT_TRUE: return b; diff --git a/test/float/arithmetic.cpp b/test/float/arithmetic.cpp index 0eeb0a6fd2..16cccac374 100644 --- a/test/float/arithmetic.cpp +++ b/test/float/arithmetic.cpp @@ -98,7 +98,7 @@ namespace Test { namespace Float { Gecode::mult(home, x[0], x[1], x[2]); } }; - + /// %Test for multiplication constraint with shared variables class MultXXY : public Test { public: @@ -140,7 +140,7 @@ namespace Test { namespace Float { Gecode::mult(home, x[0], x[0], x[1]); } }; - + /// %Test for multiplication constraint with shared variables class MultXYX : public Test { public: @@ -188,7 +188,7 @@ namespace Test { namespace Float { Gecode::mult(home, x[0], x[0], x[0]); } }; - + /// %Test for division constraint class Div : public Test { public: @@ -207,7 +207,7 @@ namespace Test { namespace Float { Gecode::rel(home, x[0] / x[1] == x[2]); } }; - + /// %Test for division constraint when solution is ensured class DivSol : public Test { public: @@ -233,7 +233,7 @@ namespace Test { namespace Float { Gecode::div(home, x[0], x[1], x[2]); } }; - + /// %Test for squaring constraint class SqrXY : public Test { public: @@ -278,7 +278,7 @@ namespace Test { namespace Float { Gecode::sqr(home, x[0], x[1]); } }; - + /// %Test for squaring constraint with shared variables class SqrXX : public Test { public: @@ -349,7 +349,7 @@ namespace Test { namespace Float { Gecode::sqrt(home, x[0], x[1]); } }; - + /// %Test for square root constraint with shared variables class SqrtXX : public Test { public: @@ -390,7 +390,7 @@ namespace Test { namespace Float { Gecode::rel(home, pow(x[0],n) == x[1]); } }; - + /// %Test for pow constraint where solution is ensured class PowXYSol : public Test { unsigned int n; @@ -417,7 +417,7 @@ namespace Test { namespace Float { Gecode::pow(home, x[0], n, x[1]); } }; - + /// %Test for pow constraint with shared variables class PowXX : public Test { unsigned int n; @@ -434,7 +434,7 @@ namespace Test { namespace Float { Gecode::pow(home, x[0], n, x[0]); } }; - + /// %Test for nroot constraint class NRootXY : public Test { unsigned int n; @@ -456,7 +456,7 @@ namespace Test { namespace Float { Gecode::rel(home, nroot(x[0],n) == x[1]); } }; - + /// %Test for nroot constraint where solution is ensured class NRootXYSol : public Test { unsigned int n; @@ -472,7 +472,7 @@ namespace Test { namespace Float { } /// Extend assignment \a x virtual bool extendAssignement(Assignment& x) const { - if ((n == 0) || (x[0].max() < 0)) + if ((n == 0) || (x[0].max() < 0)) return false; Gecode::FloatVal d = nroot(x[0],n); if (Gecode::Float::subset(d, dom)) { @@ -487,7 +487,7 @@ namespace Test { namespace Float { Gecode::nroot(home, x[0], n, x[1]); } }; - + /// %Test for nroot constraint with shared variables class NRootXX : public Test { unsigned int n; @@ -497,7 +497,7 @@ namespace Test { namespace Float { : Test("Arithmetic::NRoot::N::"+str(_n)+"::XX::"+s,1,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((n == 0) || (x[0].max() < 0)) + if ((n == 0) || (x[0].max() < 0)) return MT_FALSE; return eq(nroot(x[0],n), x[0]); } @@ -506,7 +506,7 @@ namespace Test { namespace Float { Gecode::nroot(home, x[0], n, x[0]); } }; - + /// %Test for absolute value constraint class AbsXY : public Test { public: @@ -799,7 +799,7 @@ namespace Test { namespace Float { MultXXYSol mult_xxy_sol_a("A",a,step); MultXXYSol mult_xxy_sol_b("B",b,step); MultXXYSol mult_xxy_sol_c("C",c,step); - + MultXYX mult_xyx_a("A",a,step); MultXYX mult_xyx_b("B",b,step); MultXYX mult_xyx_c("C",c,step); @@ -819,15 +819,15 @@ namespace Test { namespace Float { MultXYZSol mult_xyz_sol_a("A",a,step); MultXYZSol mult_xyz_sol_b("B",b,step); MultXYZSol mult_xyz_sol_c("C",c,step); - + Div div_a("A",a,step); Div div_b("B",b,step); Div div_c("C",c,step); - + DivSol div_sol_a("A",a,step); DivSol div_sol_b("B",b,step); DivSol div_sol_c("C",c,step); - + SqrXY sqr_xy_a("A",a,step); SqrXY sqr_xy_b("B",b,step); SqrXY sqr_xy_c("C",c,step); @@ -835,7 +835,7 @@ namespace Test { namespace Float { SqrXYSol sqr_xy_sol_a("A",a,step); SqrXYSol sqr_xy_sol_b("B",b,step); SqrXYSol sqr_xy_sol_c("C",c,step); - + SqrXX sqr_xx_a("A",a,step); SqrXX sqr_xx_b("B",b,step); SqrXX sqr_xx_c("C",c,step); @@ -847,7 +847,7 @@ namespace Test { namespace Float { SqrtXYSol sqrt_xy_sol_a("A",a,step); SqrtXYSol sqrt_xy_sol_b("B",b,step); SqrtXYSol sqrt_xy_sol_c("C",c,step); - + SqrtXX sqrt_xx_a("A",a,step); SqrtXX sqrt_xx_b("B",b,step); SqrtXX sqrt_xx_c("C",c,step); @@ -855,75 +855,75 @@ namespace Test { namespace Float { PowXY pow_xy_a_1("A",a,2,step); PowXY pow_xy_b_1("B",b,2,step); PowXY pow_xy_c_1("C",c,2,step); - + PowXYSol pow_xy_sol_a_1("A",a,2,step); PowXYSol pow_xy_sol_b_1("B",b,2,step); PowXYSol pow_xy_sol_c_1("C",c,2,step); - + PowXX pow_xx_a_1("A",a,2,step); PowXX pow_xx_b_1("B",b,2,step); PowXX pow_xx_c_1("C",c,2,step); - + PowXY pow_xy_a_2("A",a,3,step); PowXY pow_xy_b_2("B",b,3,step); PowXY pow_xy_c_2("C",c,3,step); - + PowXYSol pow_xy_sol_a_2("A",a,3,step); PowXYSol pow_xy_sol_b_2("B",b,3,step); PowXYSol pow_xy_sol_c_2("C",c,3,step); - + PowXX pow_xx_a_2("A",a,3,step); PowXX pow_xx_b_2("B",b,3,step); PowXX pow_xx_c_2("C",c,3,step); - + PowXY pow_xy_a_3("A",a,0,step); PowXY pow_xy_b_3("B",b,0,step); PowXY pow_xy_c_3("C",c,0,step); - + PowXYSol pow_xy_sol_a_3("A",a,0,step); PowXYSol pow_xy_sol_b_3("B",b,0,step); PowXYSol pow_xy_sol_c_3("C",c,0,step); - + PowXX pow_xx_a_3("A",a,0,step); PowXX pow_xx_b_3("B",b,0,step); PowXX pow_xx_c_3("C",c,0,step); - + NRootXY nroot_xy_a_1("A",a,2,step); NRootXY nroot_xy_b_1("B",b,2,step); NRootXY nroot_xy_c_1("C",c,2,step); - + NRootXYSol nroot_xy_sol_a_1("A",a,2,step); NRootXYSol nroot_xy_sol_b_1("B",b,2,step); NRootXYSol nroot_xy_sol_c_1("C",c,2,step); - + NRootXX nroot_xx_a_1("A",a,2,step); NRootXX nroot_xx_b_1("B",b,2,step); NRootXX nroot_xx_c_1("C",c,2,step); - + NRootXY nroot_xy_a_2("A",a,3,step); NRootXY nroot_xy_b_2("B",b,3,step); NRootXY nroot_xy_c_2("C",c,3,step); - + NRootXYSol nroot_xy_sol_a_2("A",a,3,step); NRootXYSol nroot_xy_sol_b_2("B",b,3,step); NRootXYSol nroot_xy_sol_c_2("C",c,3,step); - + NRootXX nroot_xx_a_2("A",a,3,step); NRootXX nroot_xx_b_2("B",b,3,step); NRootXX nroot_xx_c_2("C",c,3,step); - + NRootXY nroot_xy_a_3("A",a,0,step); NRootXY nroot_xy_b_3("B",b,0,step); NRootXY nroot_xy_c_3("C",c,0,step); - + NRootXYSol nroot_xy_sol_a_3("A",a,0,step); NRootXYSol nroot_xy_sol_b_3("B",b,0,step); NRootXYSol nroot_xy_sol_c_3("C",c,0,step); - + NRootXX nroot_xx_a_3("A",a,0,step); NRootXX nroot_xx_b_3("B",b,0,step); NRootXX nroot_xx_c_3("C",c,0,step); - + AbsXY abs_xy_a("A",a,step); AbsXY abs_xy_b("B",b,step); AbsXY abs_xy_c("C",c,step); diff --git a/test/float/channel.cpp b/test/float/channel.cpp index 32eaa07603..04c0f718ab 100644 --- a/test/float/channel.cpp +++ b/test/float/channel.cpp @@ -46,31 +46,55 @@ namespace Test { namespace Float { /// %Tests for channel constraints namespace Channel { - /// %Test channel between float and integer - class ChannelLinkSingle : public Test { + /// %Test channel between float and integer + class Int : public Test { public: /// Construct and register test - ChannelLinkSingle(Gecode::FloatNum st) - : Test("Channel",2,-1,2,st,CPLT_ASSIGNMENT,false) {} + Int(Gecode::FloatNum st) + : Test("Channel::Int",2,-1,2,st,CPLT_ASSIGNMENT,false) {} /// Check whether \a x is solution virtual MaybeType solution(const Assignment& x) const { Gecode::FloatNum tmp; - return (((modf(x[0].min(),&tmp)==0) || - (modf(x[0].max(),&tmp)==0)) + return (((modf(x[0].min(),&tmp)==0) || + (modf(x[0].max(),&tmp)==0)) && (x[0]==x[1])) ? MT_TRUE : MT_FALSE; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::FloatVarArray& x) { using namespace Gecode; - Gecode::IntVar iv(home,-1000,1000); + IntVar iv(home,-1000,1000); channel(home, x[0], iv); - channel(home, x[1], iv); + channel(home, iv, x[1]); } }; - Gecode::FloatNum step = 0.7; + /// %Test channel between float and Boolean + class Bool : public Test { + public: + /// Construct and register test + Bool(Gecode::FloatNum st) + : Test("Channel::Bool",2,0,1,st,CPLT_ASSIGNMENT,false) {} + /// Check whether \a x is solution + virtual MaybeType solution(const Assignment& x) const { + Gecode::FloatNum tmp; + return (((modf(x[0].min(),&tmp)==0) || + (modf(x[0].max(),&tmp)==0)) + && (x[0]==x[1])) ? MT_TRUE : MT_FALSE; + } + /// Post constraint on \a x + virtual void post(Gecode::Space& home, Gecode::FloatVarArray& x) { + using namespace Gecode; + BoolVar bv(home,0,1); + channel(home, x[0], bv); + channel(home, bv, x[1]); + } + }; + + Gecode::FloatNum step1 = 0.7; + Gecode::FloatNum step2 = 0.1; - ChannelLinkSingle cls(step); + Int ci(step1); + Bool cb(step2); //@} } diff --git a/test/float/linear.cpp b/test/float/linear.cpp index f4cbb5b3d5..6604eaa962 100644 --- a/test/float/linear.cpp +++ b/test/float/linear.cpp @@ -203,7 +203,8 @@ namespace Test { namespace Float { FloatVal f2(-3,-1); FloatVal f3(3,8); - FloatValArgs a1(1, 0.0); + FloatValArgs a1(1); + a1[0] = 0.0; for (FloatRelTypes frts; frts(); ++frts) { (void) new FloatFloat("11",f1,a1,frts.frt(),0.0,step); diff --git a/test/float/mm-lin.cpp b/test/float/mm-lin.cpp index ce74f03d7f..e2e3098d23 100755 --- a/test/float/mm-lin.cpp +++ b/test/float/mm-lin.cpp @@ -103,7 +103,7 @@ namespace Test { namespace Float { public: /// Create and register test LinExpr(const LinInstr* lis0, const std::string& s) - : Test("Float::","MiniModel::LinExpr::"+s,4,-3,3), + : Test("Float::","MiniModel::LinExpr::"+s,4,-3,3), lis(lis0) { testfix = false; } @@ -151,12 +151,12 @@ namespace Test { namespace Float { int r_reg[3] = {x[0],x[1],x[2]}; int r = eval(r_lis,r_reg); switch (frt) { - case FRT_EQ: return l == r; - case FRT_NQ: return l != r; - case FRT_LE: return l < r; - case FRT_GR: return l > r; - case FRT_LQ: return l <= r; - case FRT_GQ: return l >= r; + case FRT_EQ: return l == r; + case FRT_NQ: return l != r; + case FRT_LE: return l < r; + case FRT_GR: return l > r; + case FRT_LQ: return l <= r; + case FRT_GQ: return l >= r; default: GECODE_NEVER; } return false; diff --git a/test/float/rel.cpp b/test/float/rel.cpp index 098f464a7b..5c9383d4b9 100644 --- a/test/float/rel.cpp +++ b/test/float/rel.cpp @@ -105,7 +105,7 @@ namespace Test { namespace Float { FloatVarXX(Gecode::FloatRelType frt0, Gecode::FloatNum st) : Test("Rel::Float::Var::XX::"+str(frt0), 1,-3,3,st,CPLT_ASSIGNMENT,true), - frt(frt0) { + frt(frt0) { testsubsumed = false; } /// %Test whether \a x is solution @@ -132,7 +132,7 @@ namespace Test { namespace Float { Gecode::FloatVal c; public: /// Create and register test - FloatFloat(Gecode::FloatRelType frt0, int n, Gecode::FloatNum c0, + FloatFloat(Gecode::FloatRelType frt0, int n, Gecode::FloatNum c0, Gecode::FloatNum st) : Test("Rel::Float::Float::"+str(frt0)+"::"+str(n)+"::"+str(c0), n,-3,3,st,CPLT_ASSIGNMENT,n==1), diff --git a/test/float/transcendental.cpp b/test/float/transcendental.cpp index 7504347073..a3e387d9ce 100644 --- a/test/float/transcendental.cpp +++ b/test/float/transcendental.cpp @@ -49,7 +49,7 @@ namespace Test { namespace Float { /// %Tests for transcendental constraints namespace Transcendental { - + /// %Test for exponent constraint class ExpXY : public Test { public: @@ -94,7 +94,7 @@ namespace Test { namespace Float { Gecode::exp(home, x[0], x[1]); } }; - + /// %Test for exponent constraint with shared variables class ExpXX : public Test { public: @@ -110,7 +110,7 @@ namespace Test { namespace Float { Gecode::exp(home, x[0], x[0]); } }; - + /// %Test for logarithm constraint class LogXY : public Test { public: @@ -119,7 +119,7 @@ namespace Test { namespace Float { : Test("Transcendental::Log::XY::"+s,2,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if (x[0].max() < 0.0) + if (x[0].max() < 0.0) return MT_FALSE; return eq(log(x[0]), x[1]); } @@ -131,7 +131,7 @@ namespace Test { namespace Float { Gecode::rel(home, log(x[0]) == x[1]); } }; - + /// %Test for logarithm constraint where solution is ensured class LogXYSol : public Test { public: @@ -140,7 +140,7 @@ namespace Test { namespace Float { : Test("Transcendental::Log::XY::Sol::"+s,2,d,st,EXTEND_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if (x[0].max() < 0.0) + if (x[0].max() < 0.0) return MT_FALSE; return eq(log(x[0]), x[1]); } @@ -160,7 +160,7 @@ namespace Test { namespace Float { Gecode::log(home, x[0], x[1]); } }; - + /// %Test for logarithm constraint with shared variables class LogXX : public Test { public: @@ -169,7 +169,7 @@ namespace Test { namespace Float { : Test("Transcendental::Log::XX::"+s,1,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if (x[0].max() < 0.0) + if (x[0].max() < 0.0) return MT_FALSE; return eq(log(x[0]), x[0]); } @@ -178,7 +178,7 @@ namespace Test { namespace Float { Gecode::log(home, x[0], x[0]); } }; - + /// %Test for logarithm base n constraint class LogNXY : public Test { Gecode::FloatNum base; @@ -188,7 +188,7 @@ namespace Test { namespace Float { : Test("Transcendental::Log::N::"+str(_base)+"::XY::"+s,2,d,st,CPLT_ASSIGNMENT,false), base(_base) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].max() <= 0.0) || (base <= 0.0)) + if ((x[0].max() <= 0.0) || (base <= 0.0)) return MT_FALSE; return eq(log(x[0]) / log(base), x[1]); } @@ -197,7 +197,7 @@ namespace Test { namespace Float { Gecode::log(home, base, x[0], x[1]); } }; - + /// %Test for logarithm base n constraint where solution is ensured class LogNXYSol : public Test { Gecode::FloatNum base; @@ -207,7 +207,7 @@ namespace Test { namespace Float { : Test("Transcendental::Log::N::"+str(_base)+"::XY::Sol::"+s,2,d,st,EXTEND_ASSIGNMENT,false), base(_base) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].max() <= 0.0) || (base <= 0.0)) + if ((x[0].max() <= 0.0) || (base <= 0.0)) return MT_FALSE; return eq(log(x[0]) / log(base), x[1]); } @@ -228,7 +228,7 @@ namespace Test { namespace Float { Gecode::log(home, base, x[0], x[1]); } }; - + /// %Test for logarithm base n constraint with shared variables class LogNXX : public Test { Gecode::FloatNum base; @@ -247,7 +247,7 @@ namespace Test { namespace Float { Gecode::log(home, base, x[0], x[0]); } }; - + /// %Test for pow exponent n constraint class PowXY : public Test { Gecode::FloatNum base; @@ -257,7 +257,7 @@ namespace Test { namespace Float { : Test("Transcendental::Pow::N::"+str(_base)+"::XY::"+s,2,d,st,CPLT_ASSIGNMENT,false), base(_base) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if (base <= 0.0) + if (base <= 0.0) return MT_FALSE; return eq(exp(x[0] * log(base)), x[1]); } @@ -266,7 +266,7 @@ namespace Test { namespace Float { Gecode::pow(home, base, x[0], x[1]); } }; - + /// %Test for pow exponent n constraint where solution is ensured class PowXYSol : public Test { Gecode::FloatNum base; @@ -276,7 +276,7 @@ namespace Test { namespace Float { : Test("Transcendental::Pow::N::"+str(_base)+"::XY::Sol::"+s,2,d,st,EXTEND_ASSIGNMENT,false), base(_base) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if (base <= 0.0) + if (base <= 0.0) return MT_FALSE; return eq(exp(x[0] * log(base)), x[1]); } @@ -296,7 +296,7 @@ namespace Test { namespace Float { Gecode::pow(home, base, x[0], x[1]); } }; - + /// %Test for pow exponent n constraint with shared variables class PowXX : public Test { Gecode::FloatNum base; @@ -315,13 +315,13 @@ namespace Test { namespace Float { Gecode::pow(home, base, x[0], x[0]); } }; - + const Gecode::FloatNum step = 0.15; const Gecode::FloatNum step2 = 2*step; Gecode::FloatVal a(-8,5); Gecode::FloatVal b(9,12); Gecode::FloatVal c(-8,8); - + ExpXY exp_xy_a("A",a,step); ExpXY exp_xy_b("B",b,step); ExpXY exp_xy_c("C",c,step); @@ -329,7 +329,7 @@ namespace Test { namespace Float { ExpXYSol exp_xy_sol_a("A",a,step); ExpXYSol exp_xy_sol_b("B",b,step); ExpXYSol exp_xy_sol_c("C",c,step); - + ExpXX exp_xx_a("A",a,step); ExpXX exp_xx_b("B",b,step); ExpXX exp_xx_c("C",c,step); @@ -337,87 +337,87 @@ namespace Test { namespace Float { LogXY log_xy_a("A",a,step); LogXY log_xy_b("B",b,step); LogXY log_xy_c("C",c,step); - + LogXYSol log_xy_sol_a("A",a,step); LogXYSol log_xy_sol_b("B",b,step); LogXYSol log_xy_sol_c("C",c,step); - + LogXX log_xx_a("A",a,step); LogXX log_xx_b("B",b,step); LogXX log_xx_c("C",c,step); - + LogNXY logn_xy_a_1("A",a,-1.5,step); LogNXY logn_xy_b_1("B",b,-1.5,step); LogNXY logn_xy_c_1("C",c,-1.5,step); - + LogNXYSol logn_xy_sol_a_1("A",a,-1.5,step); LogNXYSol logn_xy_sol_b_1("B",b,-1.5,step); LogNXYSol logn_xy_sol_c_1("C",c,-1.5,step); - + LogNXX logn_xx_a_1("A",a,-1.5,step); LogNXX logn_xx_b_1("B",b,-1.5,step); LogNXX logn_xx_c_1("C",c,-1.5,step); - + LogNXY logn_xy_a_2("A",a,1.5,step); LogNXY logn_xy_b_2("B",b,1.5,step); LogNXY logn_xy_c_2("C",c,1.5,step); - + LogNXYSol logn_xy_sol_a_2("A",a,1.5,step); LogNXYSol logn_xy_sol_b_2("B",b,1.5,step); LogNXYSol logn_xy_sol_c_2("C",c,1.5,step); - + LogNXX logn_xx_a_2("A",a,1.5,step); LogNXX logn_xx_b_2("B",b,1.5,step); LogNXX logn_xx_c_2("C",c,1.5,step); - + LogNXY logn_xy_a_3("A",a,0,step); LogNXY logn_xy_b_3("B",b,0,step); LogNXY logn_xy_c_3("C",c,0,step); - + LogNXYSol logn_xy_sol_a_3("A",a,0,step); LogNXYSol logn_xy_sol_b_3("B",b,0,step); LogNXYSol logn_xy_sol_c_3("C",c,0,step); - + LogNXX logn_xx_a_3("A",a,0,step); LogNXX logn_xx_b_3("B",b,0,step); LogNXX logn_xx_c_3("C",c,0,step); - + PowXY pow_xy_a_1("A",a,-1.5,step); PowXY pow_xy_b_1("B",b,-1.5,step); PowXY pow_xy_c_1("C",c,-1.5,step); - + PowXYSol pow_xy_sol_a_1("A",a,-1.5,step); PowXYSol pow_xy_sol_b_1("B",b,-1.5,step); PowXYSol pow_xy_sol_c_1("C",c,-1.5,step); - + PowXX pow_xx_a_1("A",a,-1.5,step); PowXX pow_xx_b_1("B",b,-1.5,step); PowXX pow_xx_c_1("C",c,-1.5,step); - + PowXY pow_xy_a_2("A",a,1.5,step); PowXY pow_xy_b_2("B",b,1.5,step); PowXY pow_xy_c_2("C",c,1.5,step); - + PowXYSol pow_xy_sol_a_2("A",a,1.5,step); PowXYSol pow_xy_sol_b_2("B",b,1.5,step); PowXYSol pow_xy_sol_c_2("C",c,1.5,step); - + PowXX pow_xx_a_2("A",a,1.5,step); PowXX pow_xx_b_2("B",b,1.5,step); PowXX pow_xx_c_2("C",c,1.5,step); - + PowXY pow_xy_a_3("A",a,0,step); PowXY pow_xy_b_3("B",b,0,step); PowXY pow_xy_c_3("C",c,0,step); - + PowXYSol pow_xy_sol_a_3("A",a,0,step); PowXYSol pow_xy_sol_b_3("B",b,0,step); PowXYSol pow_xy_sol_c_3("C",c,0,step); - + PowXX pow_xx_a_3("A",a,0,step); PowXX pow_xx_b_3("B",b,0,step); PowXX pow_xx_c_3("C",c,0,step); - + //@} } diff --git a/test/float/trigonometric.cpp b/test/float/trigonometric.cpp index 4ed7f79411..debe97903f 100644 --- a/test/float/trigonometric.cpp +++ b/test/float/trigonometric.cpp @@ -49,7 +49,7 @@ namespace Test { namespace Float { /// %Tests for trigonometric constraints namespace Trigonometric { - + /// %Test for sinus constraint class SinXY : public Test { public: @@ -94,7 +94,7 @@ namespace Test { namespace Float { Gecode::sin(home, x[0], x[1]); } }; - + /// %Test for sinus constraint with shared variables class SinXX : public Test { public: @@ -129,7 +129,7 @@ namespace Test { namespace Float { Gecode::rel(home, cos(x[0]) == x[1]); } }; - + /// %Test for cosinus constraint where solution is ensured class CosXYSol : public Test { public: @@ -155,7 +155,7 @@ namespace Test { namespace Float { Gecode::cos(home, x[0], x[1]); } }; - + /// %Test for cosinus constraint with shared variables class CosXX : public Test { public: @@ -171,7 +171,7 @@ namespace Test { namespace Float { Gecode::cos(home, x[0], x[0]); } }; - + /// %Test for tangent constraint class TanXY : public Test { public: @@ -190,7 +190,7 @@ namespace Test { namespace Float { Gecode::rel(home, tan(x[0]) == x[1]); } }; - + /// %Test for tangent constraint where solution is ensured class TanXYSol : public Test { public: @@ -216,7 +216,7 @@ namespace Test { namespace Float { Gecode::tan(home, x[0], x[1]); } }; - + /// %Test for tangent constraint with shared variables class TanXX : public Test { public: @@ -232,7 +232,7 @@ namespace Test { namespace Float { Gecode::tan(home, x[0], x[0]); } }; - + /// %Test for asinus constraint class ASinXY : public Test { public: @@ -241,7 +241,7 @@ namespace Test { namespace Float { : Test("Trigonometric::ASin::XY::"+s,2,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return MT_FALSE; return eq(asin(x[0]), x[1]); } @@ -253,7 +253,7 @@ namespace Test { namespace Float { Gecode::rel(home, asin(x[0]) == x[1]); } }; - + /// %Test for asinus constraint where solution is ensured class ASinXYSol : public Test { public: @@ -262,13 +262,13 @@ namespace Test { namespace Float { : Test("Trigonometric::ASin::XY::Sol::"+s,2,d,st,EXTEND_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return MT_FALSE; return eq(asin(x[0]), x[1]); } /// Extend assignment \a x virtual bool extendAssignement(Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return false; Gecode::FloatVal d = asin(x[0]); if (Gecode::Float::subset(d, dom)) { @@ -283,7 +283,7 @@ namespace Test { namespace Float { Gecode::asin(home, x[0], x[1]); } }; - + /// %Test for asinus constraint with shared variables class ASinXX : public Test { public: @@ -292,7 +292,7 @@ namespace Test { namespace Float { : Test("Trigonometric::ASin::XX::"+s,1,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return MT_FALSE; return eq(asin(x[0]), x[0]); } @@ -310,7 +310,7 @@ namespace Test { namespace Float { : Test("Trigonometric::ACos::XY::"+s,2,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return MT_FALSE; return eq(acos(x[0]), x[1]); } @@ -322,7 +322,7 @@ namespace Test { namespace Float { Gecode::rel(home, acos(x[0]) == x[1]); } }; - + /// %Test for acosinus constraint where solution is ensured class ACosXYSol : public Test { public: @@ -331,13 +331,13 @@ namespace Test { namespace Float { : Test("Trigonometric::ACos::XY::Sol::"+s,2,d,st,EXTEND_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return MT_FALSE; return eq(acos(x[0]), x[1]); } /// Extend assignment \a x virtual bool extendAssignement(Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return false; Gecode::FloatVal d = acos(x[0]); if (Gecode::Float::subset(d, dom)) { @@ -352,7 +352,7 @@ namespace Test { namespace Float { Gecode::acos(home, x[0], x[1]); } }; - + /// %Test for acosinus constraint with shared variables class ACosXX : public Test { public: @@ -361,7 +361,7 @@ namespace Test { namespace Float { : Test("Trigonometric::ACos::XX::"+s,1,d,st,CPLT_ASSIGNMENT,false) {} /// %Test whether \a x is solution virtual MaybeType solution(const Assignment& x) const { - if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) + if ((x[0].min() > 1.0) || (x[0].max() < -1.0)) return MT_FALSE; return eq(acos(x[0]), x[0]); } @@ -370,7 +370,7 @@ namespace Test { namespace Float { Gecode::acos(home, x[0], x[0]); } }; - + /// %Test for atangent constraint class ATanXY : public Test { public: @@ -389,7 +389,7 @@ namespace Test { namespace Float { Gecode::rel(home, atan(x[0]) == x[1]); } }; - + /// %Test for atangent constraint where solution is ensured class ATanXYSol : public Test { public: @@ -415,7 +415,7 @@ namespace Test { namespace Float { Gecode::atan(home, x[0], x[1]); } }; - + /// %Test for atangent constraint with shared variables class ATanXX : public Test { public: @@ -437,7 +437,7 @@ namespace Test { namespace Float { Gecode::FloatVal a(-8,5); Gecode::FloatVal b(9,12); Gecode::FloatVal c(-8,8); - + SinXY sin_xy_a("A",a,step); SinXY sin_xy_b("B",b,step); SinXY sin_xy_c("C",c,step); @@ -445,7 +445,7 @@ namespace Test { namespace Float { SinXYSol sin_xy_sol_a("A",a,step); SinXYSol sin_xy_sol_b("B",b,step); SinXYSol sin_xy_sol_c("C",c,step); - + SinXX sin_xx_a("A",a,step); SinXX sin_xx_b("B",b,step); SinXX sin_xx_c("C",c,step); @@ -453,63 +453,63 @@ namespace Test { namespace Float { CosXY cos_xy_a("A",a,step); CosXY cos_xy_b("B",b,step); CosXY cos_xy_c("C",c,step); - + CosXYSol cos_xy_sol_a("A",a,step); CosXYSol cos_xy_sol_b("B",b,step); CosXYSol cos_xy_sol_c("C",c,step); - + CosXX cos_xx_a("A",a,step); CosXX cos_xx_b("B",b,step); CosXX cos_xx_c("C",c,step); - + TanXY tan_xy_a("A",a,step); TanXY tan_xy_b("B",b,step); TanXY tan_xy_c("C",c,step); - + TanXYSol tan_xy_sol_a("A",a,step); TanXYSol tan_xy_sol_b("B",b,step); TanXYSol tan_xy_sol_c("C",c,step); - + TanXX tan_xx_a("A",a,step); TanXX tan_xx_b("B",b,step); TanXX tan_xx_c("C",c,step); - + ASinXY asin_xy_a("A",a,step); ASinXY asin_xy_b("B",b,step); ASinXY asin_xy_c("C",c,step); - + ASinXYSol asin_xy_sol_a("A",a,step); ASinXYSol asin_xy_sol_b("B",b,step); ASinXYSol asin_xy_sol_c("C",c,step); - + ASinXX asin_xx_a("A",a,step); ASinXX asin_xx_b("B",b,step); ASinXX asin_xx_c("C",c,step); - + ACosXY acos_xy_a("A",a,step); ACosXY acos_xy_b("B",b,step); ACosXY acos_xy_c("C",c,step); - + ACosXYSol acos_xy_sol_a("A",a,step); ACosXYSol acos_xy_sol_b("B",b,step); ACosXYSol acos_xy_sol_c("C",c,step); - + ACosXX acos_xx_a("A",a,step); ACosXX acos_xx_b("B",b,step); ACosXX acos_xx_c("C",c,step); - + ATanXY atan_xy_a("A",a,step); ATanXY atan_xy_b("B",b,step); ATanXY atan_xy_c("C",c,step); - + ATanXYSol atan_xy_sol_a("A",a,step); ATanXYSol atan_xy_sol_b("B",b,step); ATanXYSol atan_xy_sol_c("C",c,step); - + ATanXX atan_xx_a("A",a,step); ATanXX atan_xx_b("B",b,step); ATanXX atan_xx_c("C",c,step); - + //@} } diff --git a/test/int.cpp b/test/int.cpp index 8fa86dc6e0..780e06ecd5 100755 --- a/test/int.cpp +++ b/test/int.cpp @@ -93,7 +93,7 @@ operator<<(std::ostream& os, const Test::Int::Assignment& a) { namespace Test { namespace Int { TestSpace::TestSpace(int n, Gecode::IntSet& d0, Test* t) - : d(d0), x(*this,n,Gecode::Int::Limits::min,Gecode::Int::Limits::max), + : d(d0), x(*this,n,Gecode::Int::Limits::min,Gecode::Int::Limits::max), test(t), reified(false) { Gecode::IntVarArgs _x(*this,n,d); if (x.size() == 1) @@ -109,13 +109,13 @@ namespace Test { namespace Int { TestSpace::TestSpace(int n, Gecode::IntSet& d0, Test* t, Gecode::ReifyMode rm) - : d(d0), x(*this,n,Gecode::Int::Limits::min,Gecode::Int::Limits::max), + : d(d0), x(*this,n,Gecode::Int::Limits::min,Gecode::Int::Limits::max), test(t), reified(true) { Gecode::IntVarArgs _x(*this,n,d); if (x.size() == 1) Gecode::dom(*this,x[0],_x[0]); else - Gecode::dom(*this,x,_x); + Gecode::dom(*this,x,_x); Gecode::BoolVar b(*this,0,1); r = Gecode::Reify(b,rm); if (opt.log) @@ -132,12 +132,12 @@ namespace Test { namespace Int { r.var(b); r.mode(s.r.mode()); } - Gecode::Space* + Gecode::Space* TestSpace::copy(bool share) { return new TestSpace(share,*this); } - bool + bool TestSpace::assigned(void) const { for (int i=x.size(); i--; ) if (!x[i].assigned()) @@ -145,7 +145,7 @@ namespace Test { namespace Int { return true; } - void + void TestSpace::post(void) { if (reified){ test->post(*this,x,r); @@ -158,7 +158,7 @@ namespace Test { namespace Int { } } - bool + bool TestSpace::failed(void) { if (opt.log) { olog << ind(3) << "Fixpoint: " << x; @@ -170,7 +170,67 @@ namespace Test { namespace Int { } } - void + int + TestSpace::rndvar(void) { + assert(!assigned()); + // Select variable to be pruned + int i = Base::rand(x.size()); + while (x[i].assigned()) { + i = (i+1) % x.size(); + } + return i; + } + + void + TestSpace::rndrel(const Assignment& a, int i, + Gecode::IntRelType& irt, int& v) { + using namespace Gecode; + // Select mode for pruning + irt = IRT_EQ; // Means do nothing! + switch (Base::rand(3)) { + case 0: + if (a[i] < x[i].max()) { + v=a[i]+1+Base::rand(static_cast + (x[i].max()-a[i])); + assert((v > a[i]) && (v <= x[i].max())); + irt = IRT_LE; + } + break; + case 1: + if (a[i] > x[i].min()) { + v=x[i].min()+Base::rand(static_cast + (a[i]-x[i].min())); + assert((v < a[i]) && (v >= x[i].min())); + irt = IRT_GR; + } + break; + default: + { + Gecode::Int::ViewRanges it(x[i]); + unsigned int skip = Base::rand(x[i].size()-1); + while (true) { + if (it.width() > skip) { + v = it.min() + skip; + if (v == a[i]) { + if (it.width() == 1) { + ++it; v = it.min(); + } else if (v < it.max()) { + ++v; + } else { + --v; + } + } + break; + } + skip -= it.width(); ++it; + } + irt = IRT_NQ; + break; + } + } + } + + void TestSpace::rel(int i, Gecode::IntRelType irt, int n) { if (opt.log) { olog << ind(4) << "x[" << i << "] "; @@ -187,7 +247,7 @@ namespace Test { namespace Int { Gecode::rel(*this, x[i], irt, n); } - void + void TestSpace::rel(bool sol) { int n = sol ? 1 : 0; assert(reified); @@ -196,7 +256,7 @@ namespace Test { namespace Int { Gecode::rel(*this, r.var(), Gecode::IRT_EQ, n); } - void + void TestSpace::assign(const Assignment& a, bool skip) { using namespace Gecode; int i = skip ? static_cast(Base::rand(a.size())) : -1; @@ -208,19 +268,15 @@ namespace Test { namespace Int { } } - void + void TestSpace::bound(void) { using namespace Gecode; - // Select variable to be assigned - int i = Base::rand(x.size()); - while (x[i].assigned()) { - i = (i+1) % x.size(); - } + int i = rndvar(); bool min = Base::rand(2); rel(i, IRT_EQ, min ? x[i].min() : x[i].max()); } - void + void TestSpace::prune(int i, bool bounds_only) { using namespace Gecode; // Prune values @@ -253,66 +309,22 @@ namespace Test { namespace Int { } } - void + void TestSpace::prune(void) { - using namespace Gecode; - // Select variable to be pruned - int i = Base::rand(x.size()); - while (x[i].assigned()) { - i = (i+1) % x.size(); - } - prune(i, false); + prune(rndvar(), false); } - bool + bool TestSpace::prune(const Assignment& a, bool testfix) { + using namespace Gecode; // Select variable to be pruned - int i = Base::rand(x.size()); - while (x[i].assigned()) - i = (i+1) % x.size(); + int i = rndvar(); // Select mode for pruning - switch (Base::rand(3)) { - case 0: - if (a[i] < x[i].max()) { - int v=a[i]+1+Base::rand(static_cast - (x[i].max()-a[i])); - assert((v > a[i]) && (v <= x[i].max())); - rel(i, Gecode::IRT_LE, v); - } - break; - case 1: - if (a[i] > x[i].min()) { - int v=x[i].min()+Base::rand(static_cast - (a[i]-x[i].min())); - assert((v < a[i]) && (v >= x[i].min())); - rel(i, Gecode::IRT_GR, v); - } - break; - default: - { - int v; - Gecode::Int::ViewRanges it(x[i]); - unsigned int skip = Base::rand(x[i].size()-1); - while (true) { - if (it.width() > skip) { - v = it.min() + skip; - if (v == a[i]) { - if (it.width() == 1) { - ++it; v = it.min(); - } else if (v < it.max()) { - ++v; - } else { - --v; - } - } - break; - } - skip -= it.width(); ++it; - } - rel(i, Gecode::IRT_NQ, v); - break; - } - } + IntRelType irt; + int v; + rndrel(a,i,irt,v); + if (irt != IRT_EQ) + rel(i, irt, v); if (Base::fixpoint()) { if (failed() || !testfix) return true; @@ -343,9 +355,75 @@ namespace Test { namespace Int { return true; } + void + TestSpace::enable(void) { + Gecode::PropagatorGroup::all.enable(*this); + } + + void + TestSpace::disable(void) { + Gecode::PropagatorGroup::all.disable(*this); + (void) status(); + } + + bool + TestSpace::disabled(const Assignment& a, TestSpace& c, + bool testfix) { + using namespace Gecode; + // Disable propagators + c.disable(); + // Select variable to be pruned + int i = rndvar(); + // Select mode for pruning + IntRelType irt; + int v; + rndrel(a,i,irt,v); + if (irt != IRT_EQ) { + rel(i, irt, v); + c.rel(i, irt, v); + } + // Enable propagators + c.enable(); + if (!testfix) + return true; + if (failed()) { + if (!c.failed()) { + if (opt.log) + olog << ind(3) << "No failure on disabled copy" << std::endl; + return false; + } + return true; + } + if (c.failed()) { + if (opt.log) + olog << ind(3) << "Failure on disabled copy" << std::endl; + return false; + } + for (int i=x.size(); i--; ) { + if (x[i].size() != c.x[i].size()) { + if (opt.log) + olog << ind(4) << "Different domain size" << std::endl; + return false; + } + if (reified && (r.var().size() != c.r.var().size())) { + if (opt.log) + olog << ind(4) << "Different control variable" << std::endl; + return false; + } + } + return true; + } + + unsigned int + TestSpace::propagators(void) { + return Gecode::PropagatorGroup::all.size(*this); + } - const Gecode::IntConLevel IntConLevels::icls[] = - {Gecode::ICL_DOM,Gecode::ICL_BND,Gecode::ICL_VAL}; + const Gecode::IntPropLevel IntPropLevels::ipls[] = + {Gecode::IPL_DOM,Gecode::IPL_BND,Gecode::IPL_VAL}; + + const Gecode::IntPropLevel IntPropBasicAdvanced::ipls[] = + {Gecode::IPL_BASIC_ADVANCED,Gecode::IPL_ADVANCED,Gecode::IPL_BASIC}; const Gecode::IntRelType IntRelTypes::irts[] = {Gecode::IRT_EQ,Gecode::IRT_NQ,Gecode::IRT_LQ, @@ -469,6 +547,38 @@ if (!(T)) { \ } delete s; } + START_TEST("Assignment (after posting, disable)"); + { + TestSpace* s = new TestSpace(arity,dom,this); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + if (sol) { + CHECK_TEST(!s->failed(), "Failed on solution"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + } else { + CHECK_TEST(s->failed(), "Solved on non-solution"); + } + delete s; + } + START_TEST("Partial assignment (after posting, disable)"); + { + TestSpace* s = new TestSpace(arity,dom,this); + s->post(); + s->assign(a,true); + s->disable(); + (void) s->failed(); + s->assign(a); + s->enable(); + if (sol) { + CHECK_TEST(!s->failed(), "Failed on solution"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + } else { + CHECK_TEST(s->failed(), "Solved on non-solution"); + } + delete s; + } START_TEST("Assignment (before posting)"); { TestSpace* s = new TestSpace(arity,dom,this); @@ -516,294 +626,442 @@ if (!(T)) { \ } delete s; } - - if (!ignore(a)) { - if (eqv()) { - START_TEST("Assignment reified (rewrite after post, <=>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->post(); - s->rel(sol); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - delete s; - } - if (imp()) { - START_TEST("Assignment reified (rewrite after post, =>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->post(); - s->rel(sol); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - delete s; - } - if (pmi()) { - START_TEST("Assignment reified (rewrite after post, <=)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->post(); - s->rel(sol); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - delete s; + START_TEST("Prune (disable)"); + { + TestSpace* s = new TestSpace(arity,dom,this); + TestSpace* c = static_cast(s->clone()); + s->post(); c->post(); + while (!s->failed() && !s->assigned()) + if (!s->disabled(a,*c,testfix)) { + problem = "Different result after re-enable"; + delete s; delete c; + goto failed; + } + if (testfix && (s->failed() != c->failed())) { + problem = "Different failure after re-enable"; + delete s; delete c; + goto failed; } + delete s; delete c; + } + if (!ignore(a)) { if (eqv()) { - START_TEST("Assignment reified (rewrite failure, <=>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->post(); - s->rel(!sol); - s->assign(a); - CHECK_TEST(s->failed(), "Not failed"); - delete s; - } - if (imp()) { - START_TEST("Assignment reified (rewrite failure, =>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->post(); - s->rel(!sol); - s->assign(a); - if (sol) { + { + START_TEST("Assignment reified (rewrite after post, <=>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->post(); + s->rel(sol); + s->assign(a); CHECK_TEST(!s->failed(), "Failed"); CHECK_TEST(s->propagators()==0, "No subsumption"); - } else { - CHECK_TEST(s->failed(), "Not failed"); + delete s; } - delete s; - } - if (pmi()) { - START_TEST("Assignment reified (rewrite failure, <=)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->post(); - s->rel(!sol); - s->assign(a); - if (sol) { + { + START_TEST("Assignment reified (rewrite failure, <=>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->post(); + s->rel(!sol); + s->assign(a); CHECK_TEST(s->failed(), "Not failed"); - } else { - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); + delete s; } - delete s; - } - if (eqv()) { - START_TEST("Assignment reified (immediate rewrite, <=>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->rel(sol); - s->post(); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - delete s; - } - if (imp()) { - START_TEST("Assignment reified (immediate rewrite, =>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->rel(sol); - s->post(); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - delete s; - } - if (pmi()) { - START_TEST("Assignment reified (immediate rewrite, <=)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->rel(sol); - s->post(); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - delete s; - } - if (eqv()) { - START_TEST("Assignment reified (immediate failure, <=>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->rel(!sol); - s->post(); - s->assign(a); - CHECK_TEST(s->failed(), "Not failed"); - delete s; - } - if (imp()) { - START_TEST("Assignment reified (immediate failure, =>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->rel(!sol); - s->post(); - s->assign(a); - if (sol) { + { + START_TEST("Assignment reified (immediate rewrite, <=>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->rel(sol); + s->post(); + s->assign(a); CHECK_TEST(!s->failed(), "Failed"); CHECK_TEST(s->propagators()==0, "No subsumption"); - } else { - CHECK_TEST(s->failed(), "Not failed"); + delete s; } - delete s; - } - if (pmi()) { - START_TEST("Assignment reified (immediate failure, <=)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->rel(!sol); - s->post(); - s->assign(a); - if (sol) { + { + START_TEST("Assignment reified (immediate failure, <=>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->rel(!sol); + s->post(); + s->assign(a); CHECK_TEST(s->failed(), "Not failed"); - } else { + delete s; + } + { + START_TEST("Assignment reified (before posting, <=>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->assign(a); + s->post(); CHECK_TEST(!s->failed(), "Failed"); CHECK_TEST(s->propagators()==0, "No subsumption"); + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + if (sol) { + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; } - delete s; - } - if (eqv()) { - START_TEST("Assignment reified (before posting, <=>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->assign(a); - s->post(); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - if (sol) { - CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } else { - CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + { + START_TEST("Assignment reified (after posting, <=>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->post(); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + if (sol) { + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; } - delete s; - } - if (imp()) { - START_TEST("Assignment reified (before posting, =>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->assign(a); - s->post(); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - if (sol) { - CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); - } else { + { + START_TEST("Assignment reified (after posting, <=>, disable)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + if (sol) { + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; } - delete s; - } - if (pmi()) { - START_TEST("Assignment reified (before posting, <=)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->assign(a); - s->post(); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - if (sol) { + { + START_TEST("Prune reified, <=>"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + s->post(); + while (!s->failed() && + (!s->assigned() || !s->r.var().assigned())) + if (!s->prune(a,testfix)) { + problem = "No fixpoint"; + delete s; + goto failed; + } + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } else { - CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + if (sol) { + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; } - delete s; - } - if (eqv()) { - START_TEST("Assignment reified (after posting, <=>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->post(); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - if (sol) { - CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } else { - CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + { + START_TEST("Prune reified, <=>, disable"); + TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); + TestSpace* c = static_cast(s->clone()); + s->post(); c->post(); + while (!s->failed() && + (!s->assigned() || !s->r.var().assigned())) + if (!s->disabled(a,*c,testfix)) { + problem = "No fixpoint"; + delete s; + delete c; + goto failed; + } + CHECK_TEST(!c->failed(), "Failed"); + CHECK_TEST(c->propagators()==0, "No subsumption"); + CHECK_TEST(c->r.var().assigned(), "Control variable unassigned"); + if (sol) { + CHECK_TEST(c->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(c->r.var().val()==0, "One on non-solution"); + } + delete s; + delete c; } - delete s; } + if (imp()) { - START_TEST("Assignment reified (after posting, =>)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->post(); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - if (sol) { - CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); - } else { - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + { + START_TEST("Assignment reified (rewrite after post, =>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->post(); + s->rel(sol); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + delete s; } - delete s; - } - if (pmi()) { - START_TEST("Assignment reified (after posting, <=)"); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->post(); - s->assign(a); - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - if (sol) { - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } else { - CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + { + START_TEST("Assignment reified (rewrite failure, =>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->post(); + s->rel(!sol); + s->assign(a); + if (sol) { + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + } else { + CHECK_TEST(s->failed(), "Not failed"); + } + delete s; } - delete s; - } - if (eqv()) { - START_TEST("Prune reified, <=>"); - TestSpace* s = new TestSpace(arity,dom,this,RM_EQV); - s->post(); - while (!s->failed() && - (!s->assigned() || !s->r.var().assigned())) - if (!s->prune(a,testfix)) { - problem = "No fixpoint"; - delete s; - goto failed; + { + START_TEST("Assignment reified (immediate rewrite, =>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->rel(sol); + s->post(); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + delete s; + } + { + START_TEST("Assignment reified (immediate failure, =>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->rel(!sol); + s->post(); + s->assign(a); + if (sol) { + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + } else { + CHECK_TEST(s->failed(), "Not failed"); } - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - if (sol) { - CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } else { - CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + delete s; } - delete s; - } - if (imp()) { - START_TEST("Prune reified, =>"); - TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); - s->post(); - while (!s->failed() && - (!s->assigned() || (!sol && !s->r.var().assigned()))) - if (!s->prune(a,testfix)) { - problem = "No fixpoint"; - delete s; - goto failed; + { + START_TEST("Assignment reified (before posting, =>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->assign(a); + s->post(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } else { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); } - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - if (sol) { - CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); - } else { - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + delete s; + } + { + START_TEST("Assignment reified (after posting, =>)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->post(); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } else { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; + } + { + START_TEST("Assignment reified (after posting, =>, disable)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } else { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; + } + { + START_TEST("Prune reified, =>"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + s->post(); + while (!s->failed() && + (!s->assigned() || (!sol && !s->r.var().assigned()))) + if (!s->prune(a,testfix)) { + problem = "No fixpoint"; + delete s; + goto failed; + } + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } else { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; + } + { + START_TEST("Prune reified, =>, disable"); + TestSpace* s = new TestSpace(arity,dom,this,RM_IMP); + TestSpace* c = static_cast(s->clone()); + s->post(); c->post(); + while (!s->failed() && + (!s->assigned() || (!sol && !s->r.var().assigned()))) + if (!s->disabled(a,*c,testfix)) { + problem = "No fixpoint"; + delete s; + delete c; + goto failed; + } + CHECK_TEST(!c->failed(), "Failed"); + CHECK_TEST(c->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(!c->r.var().assigned(), "Control variable assigned"); + } else { + CHECK_TEST(c->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(c->r.var().val()==0, "One on non-solution"); + } + delete s; + delete c; } - delete s; } + if (pmi()) { - START_TEST("Prune reified, <="); - TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); - s->post(); - while (!s->failed() && - (!s->assigned() || (sol && !s->r.var().assigned()))) - if (!s->prune(a,testfix)) { - problem = "No fixpoint"; - delete s; - goto failed; + { + START_TEST("Assignment reified (rewrite after post, <=)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->post(); + s->rel(sol); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + delete s; + } + { + START_TEST("Assignment reified (rewrite failure, <=)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->post(); + s->rel(!sol); + s->assign(a); + if (sol) { + CHECK_TEST(s->failed(), "Not failed"); + } else { + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); } - CHECK_TEST(!s->failed(), "Failed"); - CHECK_TEST(s->propagators()==0, "No subsumption"); - if (sol) { - CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); - CHECK_TEST(s->r.var().val()==1, "Zero on solution"); - } else { - CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + delete s; + } + { + START_TEST("Assignment reified (immediate rewrite, <=)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->rel(sol); + s->post(); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + delete s; + } + { + START_TEST("Assignment reified (immediate failure, <=)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->rel(!sol); + s->post(); + s->assign(a); + if (sol) { + CHECK_TEST(s->failed(), "Not failed"); + } else { + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + } + delete s; + } + { + START_TEST("Assignment reified (before posting, <=)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->assign(a); + s->post(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } + delete s; + } + { + START_TEST("Assignment reified (after posting, <=)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->post(); + s->assign(a); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } + delete s; + } + { + START_TEST("Assignment reified (after posting, <=, disable)"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } + delete s; + } + { + START_TEST("Prune reified, <="); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + s->post(); + while (!s->failed() && + (!s->assigned() || (sol && !s->r.var().assigned()))) + if (!s->prune(a,testfix)) { + problem = "No fixpoint"; + delete s; + goto failed; + } + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } + delete s; + } + { + START_TEST("Prune reified, <=, disable"); + TestSpace* s = new TestSpace(arity,dom,this,RM_PMI); + TestSpace* c = static_cast(s->clone()); + s->post(); c->post(); + while (!s->failed() && + (!s->assigned() || (sol && !s->r.var().assigned()))) + if (!s->disabled(a,*c,testfix)) { + problem = "No fixpoint"; + delete s; + delete c; + goto failed; + } + CHECK_TEST(!c->failed(), "Failed"); + CHECK_TEST(c->propagators()==0, "No subsumption"); + if (sol) { + CHECK_TEST(c->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(c->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(!c->r.var().assigned(), "Control variable assigned"); + } + delete s; + delete c; } - delete s; } } diff --git a/test/int.hh b/test/int.hh index 2950fcd50f..37d561c0e6 100755 --- a/test/int.hh +++ b/test/int.hh @@ -169,7 +169,7 @@ namespace Test { * Creates \a n variables with domain \a d for test \a t. * */ - TestSpace(int n, Gecode::IntSet& d, Test* t); + TestSpace(int n, Gecode::IntSet& d, Test* t); /** * \brief Create test space with reification * @@ -188,6 +188,10 @@ namespace Test { void post(void); /// Compute a fixpoint and check for failure bool failed(void); + /// Randomly select an unassigned variable + int rndvar(void); + /// Randomly select a pruning rel for variable \a i + void rndrel(const Assignment& a, int i, Gecode::IntRelType& irt, int& v); /// Perform integer tell operation on \a x[i] void rel(int i, Gecode::IntRelType irt, int n); /// Perform Boolean tell on \a b @@ -206,6 +210,14 @@ namespace Test { void prune(void); /// Prune values but not those in assignment \a a bool prune(const Assignment& a, bool testfix); + /// Disable propagators in space and compute fixpoint (make all idle) + void disable(void); + /// Enable propagators in space + void enable(void); + /// Prune values also in a space \a c with disabled propagators, but not those in assignment \a a + bool disabled(const Assignment& a, TestSpace& c, bool testfix); + /// Return the number of propagators + unsigned int propagators(void); }; /** @@ -222,8 +234,8 @@ namespace Test { bool reified; /// Which reification modes are supported int rms; - /// Consistency level - Gecode::IntConLevel icl; + /// Propagation level + Gecode::IntPropLevel ipl; /// Whether to test for certain consistency ConTestLevel contest; /// Whether to perform search test @@ -245,45 +257,45 @@ namespace Test { * * Constructs a test with prefix \a p, name \a s, arity \a a, * and variable domain \a d. Also tests for a reified - * constraint, if \a r is true. The consistency level is + * constraint, if \a r is true. The propagation level is * maintained for convenience. */ Test(const std::string& p, const std::string& s, int a, const Gecode::IntSet& d, bool r=false, - Gecode::IntConLevel i=Gecode::ICL_DEF); + Gecode::IntPropLevel i=Gecode::IPL_DEF); /** * \brief Constructor * * Constructs a test with name \a s, arity \a a, and variable * domain \a d. Also tests for a reified constraint, - * if \a r is true. The consistency level is + * if \a r is true. The propagation level is * maintained for convenience. */ Test(const std::string& s, int a, const Gecode::IntSet& d, bool r=false, - Gecode::IntConLevel i=Gecode::ICL_DEF); + Gecode::IntPropLevel i=Gecode::IPL_DEF); /** * \brief Constructor * * Constructs a test with prefix \a p, name \a s, arity \a a, * and variable domain \a min ... \a max. Also tests for - * a reified constraint, if \a r is true. The consistency + * a reified constraint, if \a r is true. The propagation * level is maintained for convenience. */ - Test(const std::string& p, const std::string& s, + Test(const std::string& p, const std::string& s, int a, int min, int max, bool r=false, - Gecode::IntConLevel i=Gecode::ICL_DEF); + Gecode::IntPropLevel i=Gecode::IPL_DEF); /** * \brief Constructor * * Constructs a test with name \a s, arity \a a, variable * domain \a min ... \a max. Also tests for a reified constraint, - * if \a r is true. The consistency level is + * if \a r is true. The propagation level is * maintained for convenience. */ - Test(const std::string& s, + Test(const std::string& s, int a, int min, int max, bool r=false, - Gecode::IntConLevel i=Gecode::ICL_DEF); + Gecode::IntPropLevel i=Gecode::IPL_DEF); /// Create assignment virtual Assignment* assignment(void) const; /// Check for solution @@ -299,10 +311,8 @@ namespace Test { virtual bool run(void); /// \name Mapping scalar values to strings //@{ - /// Map extensional propagation kind to string - static std::string str(Gecode::ExtensionalPropKind epk); - /// Map integer consistency level to string - static std::string str(Gecode::IntConLevel icl); + /// Map integer propagation level to string + static std::string str(Gecode::IntPropLevel ipl); /// Map integer relation to string static std::string str(Gecode::IntRelType irl); /// Map Boolean operation to string @@ -320,22 +330,40 @@ namespace Test { }; //@} - /// Iterator for integer consistency levels - class IntConLevels { + /// Iterator for simple integer propagation levels + class IntPropLevels { + private: + /// Array of propagation levels + static const Gecode::IntPropLevel ipls[3]; + /// Current position in level array + int i; + public: + /// Initialize iterator + IntPropLevels(void); + /// Test whether iterator is done + bool operator()(void) const; + /// Increment to next level + void operator++(void); + /// Return current level + Gecode::IntPropLevel ipl(void) const; + }; + + /// Iterator for basic and advanced integer propagation levels + class IntPropBasicAdvanced { private: - /// Array of consistency levels - static const Gecode::IntConLevel icls[3]; + /// Array of propagation levels + static const Gecode::IntPropLevel ipls[3]; /// Current position in level array int i; public: /// Initialize iterator - IntConLevels(void); + IntPropBasicAdvanced(void); /// Test whether iterator is done bool operator()(void) const; /// Increment to next level void operator++(void); /// Return current level - Gecode::IntConLevel icl(void) const; + Gecode::IntPropLevel ipl(void) const; }; /// Iterator for integer relation types diff --git a/test/int.hpp b/test/int.hpp index 83280bbd57..6e30b38efe 100755 --- a/test/int.hpp +++ b/test/int.hpp @@ -123,7 +123,7 @@ namespace Test { namespace Int { inline RandomMixAssignment::RandomMixAssignment(int n0, const Gecode::IntSet& d0, - int n1, const Gecode::IntSet& d1, + int n1, const Gecode::IntSet& d1, int a0) : Assignment(n0+n1,d0),vals(new int[n0+n1]),a(a0),_n1(n1),_d1(d1) { for (int i=n0; i--; ) @@ -165,69 +165,64 @@ namespace Test { namespace Int { return reified && ((rms & (1 << Gecode::RM_PMI)) != 0); } inline - Test::Test(const std::string& p, const std::string& s, - int a, const Gecode::IntSet& d, bool r, - Gecode::IntConLevel i) - : Base(p+s), arity(a), dom(d), - reified(r), rms((1 << Gecode::RM_EQV) || - (1 << Gecode::RM_IMP) || + Test::Test(const std::string& p, const std::string& s, + int a, const Gecode::IntSet& d, bool r, + Gecode::IntPropLevel i) + : Base(p+s), arity(a), dom(d), + reified(r), rms((1 << Gecode::RM_EQV) || + (1 << Gecode::RM_IMP) || (1 << Gecode::RM_PMI)), - icl(i), contest(icl == Gecode::ICL_DOM ? CTL_DOMAIN : CTL_NONE), + ipl(i), contest(ipl == Gecode::IPL_DOM ? CTL_DOMAIN : CTL_NONE), testsearch(true), testfix(true) {} inline - Test::Test(const std::string& s, - int a, const Gecode::IntSet& d, bool r, - Gecode::IntConLevel i) - : Base("Int::"+s), arity(a), dom(d), - reified(r), rms((1 << Gecode::RM_EQV) || - (1 << Gecode::RM_IMP) || + Test::Test(const std::string& s, + int a, const Gecode::IntSet& d, bool r, + Gecode::IntPropLevel i) + : Base("Int::"+s), arity(a), dom(d), + reified(r), rms((1 << Gecode::RM_EQV) || + (1 << Gecode::RM_IMP) || (1 << Gecode::RM_PMI)), - icl(i), contest(icl == Gecode::ICL_DOM ? CTL_DOMAIN : CTL_NONE), + ipl(i), contest(ipl == Gecode::IPL_DOM ? CTL_DOMAIN : CTL_NONE), testsearch(true), testfix(true) {} inline Test::Test(const std::string& p, const std::string& s, - int a, int min, int max, bool r, - Gecode::IntConLevel i) + int a, int min, int max, bool r, + Gecode::IntPropLevel i) : Base(p+s), arity(a), dom(min,max), - reified(r), rms((1 << Gecode::RM_EQV) || - (1 << Gecode::RM_IMP) || + reified(r), rms((1 << Gecode::RM_EQV) || + (1 << Gecode::RM_IMP) || (1 << Gecode::RM_PMI)), - icl(i), contest(icl == Gecode::ICL_DOM ? CTL_DOMAIN : CTL_NONE), + ipl(i), contest(ipl == Gecode::IPL_DOM ? CTL_DOMAIN : CTL_NONE), testsearch(true), testfix(true) {} inline - Test::Test(const std::string& s, - int a, int min, int max, bool r, Gecode::IntConLevel i) + Test::Test(const std::string& s, + int a, int min, int max, bool r, Gecode::IntPropLevel i) : Base("Int::"+s), arity(a), dom(min,max), - reified(r), rms((1 << Gecode::RM_EQV) || - (1 << Gecode::RM_IMP) || + reified(r), rms((1 << Gecode::RM_EQV) || + (1 << Gecode::RM_IMP) || (1 << Gecode::RM_PMI)), - icl(i), contest(icl == Gecode::ICL_DOM ? CTL_DOMAIN : CTL_NONE), + ipl(i), contest(ipl == Gecode::IPL_DOM ? CTL_DOMAIN : CTL_NONE), testsearch(true), testfix(true) {} inline std::string - Test::str(Gecode::ExtensionalPropKind epk) { - using namespace Gecode; - switch (epk) { - case EPK_MEMORY: return "Memory"; - case EPK_SPEED: return "Speed"; - default: return "Def"; - } - } - - inline - std::string - Test::str(Gecode::IntConLevel icl) { + Test::str(Gecode::IntPropLevel ipl) { using namespace Gecode; - switch (icl) { - case ICL_VAL: return "Val"; - case ICL_BND: return "Bnd"; - case ICL_DOM: return "Dom"; - default: return "Def"; + std::stringstream s; + switch (vbd(ipl)) { + case IPL_VAL: s << "Val"; break; + case IPL_BND: s << "Bnd"; break; + case IPL_DOM: s << "Dom"; break; + default: s << "Def"; break; } + if (ipl & IPL_SPEED) s << "+S"; + if (ipl & IPL_MEMORY) s << "+M"; + if (ipl & IPL_BASIC) s << "+B"; + if (ipl & IPL_ADVANCED) s << "+A"; + return s.str(); } inline @@ -298,19 +293,36 @@ namespace Test { namespace Int { inline - IntConLevels::IntConLevels(void) - : i(sizeof(icls)/sizeof(Gecode::IntConLevel)-1) {} + IntPropLevels::IntPropLevels(void) + : i(sizeof(ipls)/sizeof(Gecode::IntPropLevel)-1) {} + inline bool + IntPropLevels::operator()(void) const { + return i>=0; + } + inline void + IntPropLevels::operator++(void) { + i--; + } + inline Gecode::IntPropLevel + IntPropLevels::ipl(void) const { + return ipls[i]; + } + + + inline + IntPropBasicAdvanced::IntPropBasicAdvanced(void) + : i(sizeof(ipls)/sizeof(Gecode::IntPropLevel)-1) {} inline bool - IntConLevels::operator()(void) const { + IntPropBasicAdvanced::operator()(void) const { return i>=0; } inline void - IntConLevels::operator++(void) { + IntPropBasicAdvanced::operator++(void) { i--; } - inline Gecode::IntConLevel - IntConLevels::icl(void) const { - return icls[i]; + inline Gecode::IntPropLevel + IntPropBasicAdvanced::ipl(void) const { + return ipls[i]; } diff --git a/test/int/arithmetic.cpp b/test/int/arithmetic.cpp index 4526b6675c..2bc7ca3905 100755 --- a/test/int/arithmetic.cpp +++ b/test/int/arithmetic.cpp @@ -57,8 +57,8 @@ namespace Test { namespace Int { public: /// Create and register test MultXYZ(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Mult::XYZ::"+str(icl)+"::"+s,3,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Mult::XYZ::"+str(ipl)+"::"+s,3,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -68,7 +68,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::mult(home, x[0], x[1], x[2], icl); + Gecode::mult(home, x[0], x[1], x[2], ipl); } }; @@ -77,8 +77,8 @@ namespace Test { namespace Int { public: /// Create and register test MultXXY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Mult::XXY::"+str(icl)+"::"+s,2,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Mult::XXY::"+str(ipl)+"::"+s,2,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -88,7 +88,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::mult(home, x[0], x[0], x[1], icl); + Gecode::mult(home, x[0], x[0], x[1], ipl); } }; @@ -97,8 +97,8 @@ namespace Test { namespace Int { public: /// Create and register test MultXYX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Mult::XYX::"+str(icl)+"::"+s,2,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Mult::XYX::"+str(ipl)+"::"+s,2,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -108,7 +108,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::mult(home, x[0], x[1], x[0], icl); + Gecode::mult(home, x[0], x[1], x[0], ipl); } }; @@ -117,8 +117,8 @@ namespace Test { namespace Int { public: /// Create and register test MultXYY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Mult::XYY::"+str(icl)+"::"+s,2,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Mult::XYY::"+str(ipl)+"::"+s,2,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -128,7 +128,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::mult(home, x[0], x[1], x[1], icl); + Gecode::mult(home, x[0], x[1], x[1], ipl); } }; @@ -137,8 +137,8 @@ namespace Test { namespace Int { public: /// Create and register test MultXXX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Mult::XXX::"+str(icl)+"::"+s,1,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Mult::XXX::"+str(ipl)+"::"+s,1,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -148,7 +148,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::mult(home, x[0], x[0], x[0], icl); + Gecode::mult(home, x[0], x[0], x[0], ipl); } }; @@ -157,8 +157,8 @@ namespace Test { namespace Int { public: /// Create and register test SqrXY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Sqr::XY::"+str(icl)+"::"+s,2,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Sqr::XY::"+str(ipl)+"::"+s,2,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -167,17 +167,17 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::sqr(home, x[0], x[1], icl); + Gecode::sqr(home, x[0], x[1], ipl); } }; - + /// %Test for squaring constraint with shared variables class SqrXX : public Test { public: /// Create and register test SqrXX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Sqr::XX::"+str(icl)+"::"+s,1,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Sqr::XX::"+str(ipl)+"::"+s,1,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -185,7 +185,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::sqr(home, x[0], x[0], icl); + Gecode::sqr(home, x[0], x[0], ipl); } }; @@ -194,8 +194,8 @@ namespace Test { namespace Int { public: /// Create and register test SqrtXY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Sqrt::XY::"+str(icl)+"::"+s,2,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Sqrt::XY::"+str(ipl)+"::"+s,2,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -204,7 +204,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::sqrt(home, x[0], x[1], icl); + Gecode::sqrt(home, x[0], x[1], ipl); } }; @@ -213,8 +213,8 @@ namespace Test { namespace Int { public: /// Create and register test SqrtXX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Sqrt::XX::"+str(icl)+"::"+s,1,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Sqrt::XX::"+str(ipl)+"::"+s,1,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -222,7 +222,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::sqrt(home, x[0], x[0], icl); + Gecode::sqrt(home, x[0], x[0], ipl); } }; @@ -234,15 +234,15 @@ namespace Test { namespace Int { public: /// Create and register test PowXY(const std::string& s, int n0, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Pow::XY::"+str(n0)+"::"+str(icl)+"::"+s, - 2,d,false,icl), n(n0) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Pow::XY::"+str(n0)+"::"+str(ipl)+"::"+s, + 2,d,false,ipl), n(n0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { long long int p = 1; for (int i=0; i Gecode::Int::Limits::max)) return false; } @@ -252,9 +252,9 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; if (n > 4) - pow(home, x[0], n, x[1], icl); + pow(home, x[0], n, x[1], ipl); else - rel(home, expr(home, pow(x[0],n), icl), IRT_EQ, x[1], icl); + rel(home, expr(home, pow(x[0],n), ipl), IRT_EQ, x[1], ipl); } }; @@ -266,15 +266,15 @@ namespace Test { namespace Int { public: /// Create and register test PowXX(const std::string& s, int n0, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Pow::XX::"+str(n0)+"::"+str(icl)+"::"+s, - 1,d,false,icl), n(n0) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Pow::XX::"+str(n0)+"::"+str(ipl)+"::"+s, + 1,d,false,ipl), n(n0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { long long int p = 1; for (int i=0; i Gecode::Int::Limits::max)) return false; } @@ -282,7 +282,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::pow(home, x[0], n, x[0], icl); + Gecode::pow(home, x[0], n, x[0], ipl); } }; @@ -346,13 +346,13 @@ namespace Test { namespace Int { protected: /// The root index int n; - /// Floor + /// Floor public: /// Create and register test NrootXY(const std::string& s, int n0, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Nroot::XY::"+str(n0)+"::"+str(icl)+"::"+s, - 2,d,false,icl), n(n0) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Nroot::XY::"+str(n0)+"::"+str(ipl)+"::"+s, + 2,d,false,ipl), n(n0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { if (n == 1) @@ -360,15 +360,15 @@ namespace Test { namespace Int { if ((n % 2 == 0) && ((x[0] < 0) || (x[1] < 0))) return false; int r = (x[0] < 0) ? -cnroot(n,-x[0]) : fnroot(n,x[0]); - return r == x[1]; + return r == x[1]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; if (n > 4) - nroot(home, x[0], n, x[1], icl); + nroot(home, x[0], n, x[1], ipl); else - rel(home, expr(home, nroot(x[0],n), icl), IRT_EQ, x[1], icl); + rel(home, expr(home, nroot(x[0],n), ipl), IRT_EQ, x[1], ipl); } }; @@ -380,9 +380,9 @@ namespace Test { namespace Int { public: /// Create and register test NrootXX(const std::string& s, int n0, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Nroot::XX::"+str(n0)+"::"+str(icl)+"::"+s, - 1,d,false,icl), n(n0) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Nroot::XX::"+str(n0)+"::"+str(ipl)+"::"+s, + 1,d,false,ipl), n(n0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { if (n == 1) @@ -395,7 +395,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::nroot(home, x[0], n, x[0], icl); + Gecode::nroot(home, x[0], n, x[0], ipl); } }; @@ -473,8 +473,8 @@ namespace Test { namespace Int { public: /// Create and register test AbsXY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Abs::XY::"+str(icl)+"::"+s,2,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Abs::XY::"+str(ipl)+"::"+s,2,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -483,7 +483,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::abs(home, x[0], x[1], icl); + Gecode::abs(home, x[0], x[1], ipl); } }; @@ -492,8 +492,8 @@ namespace Test { namespace Int { public: /// Create and register test AbsXX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Abs::XX::"+str(icl)+"::"+s,1,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Abs::XX::"+str(ipl)+"::"+s,1,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { double d0 = static_cast(x[0]); @@ -502,7 +502,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::abs(home, x[0], x[0], icl); + Gecode::abs(home, x[0], x[0], ipl); } }; @@ -511,15 +511,15 @@ namespace Test { namespace Int { public: /// Create and register test MinXYZ(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Bin::XYZ::"+str(icl)+"::"+s,3,d,false,icl) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Bin::XYZ::"+str(ipl)+"::"+s,3,d,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(x[0],x[1]) == x[2]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::min(home, x[0], x[1], x[2], icl); + Gecode::min(home, x[0], x[1], x[2], ipl); } }; @@ -528,15 +528,15 @@ namespace Test { namespace Int { public: /// Create and register test MinXXY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Bin::XYX::"+str(icl)+"::"+s,2,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Bin::XYX::"+str(ipl)+"::"+s,2,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(x[0],x[0]) == x[1]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::min(home, x[0], x[0], x[1], icl); + Gecode::min(home, x[0], x[0], x[1], ipl); } }; @@ -545,15 +545,15 @@ namespace Test { namespace Int { public: /// Create and register test MinXYX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Bin::XYX::"+str(icl)+"::"+s,2,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Bin::XYX::"+str(ipl)+"::"+s,2,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(x[0],x[1]) == x[0]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::min(home, x[0], x[1], x[0], icl); + Gecode::min(home, x[0], x[1], x[0], ipl); } }; @@ -562,15 +562,15 @@ namespace Test { namespace Int { public: /// Create and register test MinXYY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Bin::XYY::"+str(icl)+"::"+s,2,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Bin::XYY::"+str(ipl)+"::"+s,2,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(x[0],x[1]) == x[1]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::min(home, x[0], x[1], x[1], icl); + Gecode::min(home, x[0], x[1], x[1], ipl); } }; @@ -579,15 +579,15 @@ namespace Test { namespace Int { public: /// Create and register test MinXXX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Bin::XXX::"+str(icl)+"::"+s,1,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Bin::XXX::"+str(ipl)+"::"+s,1,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(x[0],x[0]) == x[0]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::min(home, x[0], x[0], x[0], icl); + Gecode::min(home, x[0], x[0], x[0], ipl); } }; @@ -596,8 +596,8 @@ namespace Test { namespace Int { public: /// Create and register test MaxXYZ(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Bin::XYZ::"+str(icl)+"::"+s,3,d) { + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Bin::XYZ::"+str(ipl)+"::"+s,3,d) { contest = CTL_BOUNDS_Z; } /// %Test whether \a x is solution @@ -606,7 +606,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::max(home, x[0], x[1], x[2], icl); + Gecode::max(home, x[0], x[1], x[2], ipl); } }; @@ -615,15 +615,15 @@ namespace Test { namespace Int { public: /// Create and register test MaxXXY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Bin::XXY::"+str(icl)+"::"+s,2,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Bin::XXY::"+str(ipl)+"::"+s,2,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::max(x[0],x[0]) == x[1]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::max(home, x[0], x[0], x[1], icl); + Gecode::max(home, x[0], x[0], x[1], ipl); } }; @@ -632,15 +632,15 @@ namespace Test { namespace Int { public: /// Create and register test MaxXYX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Bin::XYX::"+str(icl)+"::"+s,2,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Bin::XYX::"+str(ipl)+"::"+s,2,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::max(x[0],x[1]) == x[0]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::max(home, x[0], x[1], x[0], icl); + Gecode::max(home, x[0], x[1], x[0], ipl); } }; @@ -649,15 +649,15 @@ namespace Test { namespace Int { public: /// Create and register test MaxXYY(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Bin::XYY::"+str(icl)+"::"+s,2,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Bin::XYY::"+str(ipl)+"::"+s,2,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::max(x[0],x[1]) == x[1]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::max(home, x[0], x[1], x[1], icl); + Gecode::max(home, x[0], x[1], x[1], ipl); } }; @@ -666,15 +666,15 @@ namespace Test { namespace Int { public: /// Create and register test MaxXXX(const std::string& s, const Gecode::IntSet& d, - Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Bin::XXX::"+str(icl)+"::"+s,1,d) {} + Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Bin::XXX::"+str(ipl)+"::"+s,1,d) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::max(x[0],x[0]) == x[0]; } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::max(home, x[0], x[0], x[0], icl); + Gecode::max(home, x[0], x[0], x[0], ipl); } }; @@ -682,8 +682,8 @@ namespace Test { namespace Int { class MinNary : public Test { public: /// Create and register test - MinNary(Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Nary::"+str(icl),4,-4,4,false,icl) {} + MinNary(Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Nary::"+str(ipl),4,-4,4,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(std::min(x[0],x[1]), x[2]) == x[3]; @@ -692,7 +692,7 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { Gecode::IntVarArgs m(3); m[0]=x[0]; m[1]=x[1]; m[2]=x[2]; - Gecode::min(home, m, x[3], icl); + Gecode::min(home, m, x[3], ipl); } }; @@ -700,8 +700,8 @@ namespace Test { namespace Int { class MinNaryShared : public Test { public: /// Create and register test - MinNaryShared(Gecode::IntConLevel icl) - : Test("Arithmetic::Min::Nary::Shared::"+str(icl),3,-4,4,false,icl) {} + MinNaryShared(Gecode::IntPropLevel ipl) + : Test("Arithmetic::Min::Nary::Shared::"+str(ipl),3,-4,4,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::min(std::min(x[0],x[1]), x[2]) == x[1]; @@ -710,7 +710,7 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { Gecode::IntVarArgs m(3); m[0]=x[0]; m[1]=x[1]; m[2]=x[2]; - Gecode::min(home, m, x[1], icl); + Gecode::min(home, m, x[1], ipl); } }; @@ -718,8 +718,8 @@ namespace Test { namespace Int { class MaxNary : public Test { public: /// Create and register test - MaxNary(Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Nary::"+str(icl),4,-4,4,false,icl) {} + MaxNary(Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Nary::"+str(ipl),4,-4,4,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::max(std::max(x[0],x[1]), x[2]) == x[3]; @@ -728,7 +728,7 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { Gecode::IntVarArgs m(3); m[0]=x[0]; m[1]=x[1]; m[2]=x[2]; - Gecode::max(home, m, x[3], icl); + Gecode::max(home, m, x[3], ipl); } }; @@ -736,8 +736,8 @@ namespace Test { namespace Int { class MaxNaryShared : public Test { public: /// Create and register test - MaxNaryShared(Gecode::IntConLevel icl) - : Test("Arithmetic::Max::Nary::Shared::"+str(icl),3,-4,4,false,icl) {} + MaxNaryShared(Gecode::IntPropLevel ipl) + : Test("Arithmetic::Max::Nary::Shared::"+str(ipl),3,-4,4,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return std::max(std::max(x[0],x[1]), x[2]) == x[1]; @@ -746,32 +746,35 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { Gecode::IntVarArgs m(3); m[0]=x[0]; m[1]=x[1]; m[2]=x[2]; - Gecode::max(home, m, x[1], icl); + Gecode::max(home, m, x[1], ipl); } }; /// %Test for argument maximum constraint class ArgMax : public Test { protected: + /// Offset to be used + int offset; /// Whether to use tie-breaking bool tiebreak; public: /// Create and register test - ArgMax(int n, bool tb) - : Test("Arithmetic::ArgMax::"+str(tb)+"::"+str(n),n+1,0,n+1, - false,tb ? Gecode::ICL_DEF : Gecode::ICL_DOM), - tiebreak(tb) {} + ArgMax(int n, int o, bool tb) + : Test("Arithmetic::ArgMax::"+str(o)+"::"+str(tb)+"::"+str(n), + n+1,0,n+1, + false,tb ? Gecode::IPL_DEF : Gecode::IPL_DOM), + offset(o), tiebreak(tb) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { int n=x.size()-1; - if ((x[n] < 0) || (x[n] >= n)) + if ((x[n] < offset) || (x[n] >= n + offset)) return false; int m=x[0]; int p=0; for (int i=1; i m) { p=i; m=x[i]; } - return tiebreak ? (p == x[n]) : (m == x[x[n]]); + return tiebreak ? (p + offset == x[n]) : (m == x[x[n]-offset]); } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { @@ -779,7 +782,7 @@ namespace Test { namespace Int { Gecode::IntVarArgs m(n); for (int i=0; i= n)) + if ((x[n] < offset) || (x[n] >= n + offset)) return false; int m=x[0]; int p=0; for (int i=1; i(sqrt(static_cast (Gecode::Int::Limits::max))) }; - + Gecode::IntSet a(va,7); Gecode::IntSet b(vb,9); Gecode::IntSet c(-8,8); @@ -917,146 +923,151 @@ namespace Test { namespace Int { (void) new DivMod("A",a); (void) new DivMod("B",b); (void) new DivMod("C",c); - + (void) new Div("A",a); (void) new Div("B",b); (void) new Div("C",c); - + (void) new Mod("A",a); (void) new Mod("B",b); (void) new Mod("C",c); - for (IntConLevels icls; icls(); ++icls) - if (icls.icl() != Gecode::ICL_VAL) { - (void) new MultXYZ("A",a,icls.icl()); - (void) new MultXYZ("B",b,icls.icl()); - (void) new MultXYZ("C",c,icls.icl()); + for (IntPropLevels ipls; ipls(); ++ipls) { + (void) new AbsXY("A",a,ipls.ipl()); + (void) new AbsXY("B",b,ipls.ipl()); + (void) new AbsXY("C",c,ipls.ipl()); + + (void) new AbsXX("A",a,ipls.ipl()); + (void) new AbsXX("B",b,ipls.ipl()); + (void) new AbsXX("C",c,ipls.ipl()); + if (ipls.ipl() != Gecode::IPL_VAL) { + (void) new MultXYZ("A",a,ipls.ipl()); + (void) new MultXYZ("B",b,ipls.ipl()); + (void) new MultXYZ("C",c,ipls.ipl()); - (void) new MultXXY("A",a,icls.icl()); - (void) new MultXXY("B",b,icls.icl()); - (void) new MultXXY("C",c,icls.icl()); + (void) new MultXXY("A",a,ipls.ipl()); + (void) new MultXXY("B",b,ipls.ipl()); + (void) new MultXXY("C",c,ipls.ipl()); - (void) new MultXYX("A",a,icls.icl()); - (void) new MultXYX("B",b,icls.icl()); - (void) new MultXYX("C",c,icls.icl()); + (void) new MultXYX("A",a,ipls.ipl()); + (void) new MultXYX("B",b,ipls.ipl()); + (void) new MultXYX("C",c,ipls.ipl()); - (void) new MultXYY("A",a,icls.icl()); - (void) new MultXYY("B",b,icls.icl()); - (void) new MultXYY("C",c,icls.icl()); + (void) new MultXYY("A",a,ipls.ipl()); + (void) new MultXYY("B",b,ipls.ipl()); + (void) new MultXYY("C",c,ipls.ipl()); - (void) new MultXXX("A",a,icls.icl()); - (void) new MultXXX("B",b,icls.icl()); - (void) new MultXXX("C",c,icls.icl()); + (void) new MultXXX("A",a,ipls.ipl()); + (void) new MultXXX("B",b,ipls.ipl()); + (void) new MultXXX("C",c,ipls.ipl()); - (void) new SqrXY("A",a,icls.icl()); - (void) new SqrXY("B",b,icls.icl()); - (void) new SqrXY("C",c,icls.icl()); + (void) new SqrXY("A",a,ipls.ipl()); + (void) new SqrXY("B",b,ipls.ipl()); + (void) new SqrXY("C",c,ipls.ipl()); - (void) new SqrXX("A",a,icls.icl()); - (void) new SqrXX("B",b,icls.icl()); - (void) new SqrXX("C",c,icls.icl()); + (void) new SqrXX("A",a,ipls.ipl()); + (void) new SqrXX("B",b,ipls.ipl()); + (void) new SqrXX("C",c,ipls.ipl()); for (int n=0; n<=6; n++) { - (void) new PowXY("A",n,a,icls.icl()); - (void) new PowXY("B",n,b,icls.icl()); - (void) new PowXY("C",n,c,icls.icl()); - (void) new PowXY("D",n,d,icls.icl()); - - (void) new PowXX("A",n,a,icls.icl()); - (void) new PowXX("B",n,b,icls.icl()); - (void) new PowXX("C",n,c,icls.icl()); - (void) new PowXX("D",n,d,icls.icl()); + (void) new PowXY("A",n,a,ipls.ipl()); + (void) new PowXY("B",n,b,ipls.ipl()); + (void) new PowXY("C",n,c,ipls.ipl()); + (void) new PowXY("D",n,d,ipls.ipl()); + + (void) new PowXX("A",n,a,ipls.ipl()); + (void) new PowXX("B",n,b,ipls.ipl()); + (void) new PowXX("C",n,c,ipls.ipl()); + (void) new PowXX("D",n,d,ipls.ipl()); } for (int n=1; n<=6; n++) { - (void) new NrootXY("A",n,a,icls.icl()); - (void) new NrootXY("B",n,b,icls.icl()); - (void) new NrootXY("C",n,c,icls.icl()); - (void) new NrootXY("D",n,d,icls.icl()); - - (void) new NrootXX("A",n,a,icls.icl()); - (void) new NrootXX("B",n,b,icls.icl()); - (void) new NrootXX("C",n,c,icls.icl()); - (void) new NrootXX("D",n,d,icls.icl()); + (void) new NrootXY("A",n,a,ipls.ipl()); + (void) new NrootXY("B",n,b,ipls.ipl()); + (void) new NrootXY("C",n,c,ipls.ipl()); + (void) new NrootXY("D",n,d,ipls.ipl()); + + (void) new NrootXX("A",n,a,ipls.ipl()); + (void) new NrootXX("B",n,b,ipls.ipl()); + (void) new NrootXX("C",n,c,ipls.ipl()); + (void) new NrootXX("D",n,d,ipls.ipl()); } for (int n=30; n<=34; n++) { - (void) new PowXY("C",n,c,icls.icl()); - (void) new PowXX("C",n,c,icls.icl()); - (void) new NrootXY("C",n,c,icls.icl()); - (void) new NrootXX("C",n,c,icls.icl()); + (void) new PowXY("C",n,c,ipls.ipl()); + (void) new PowXX("C",n,c,ipls.ipl()); + (void) new NrootXY("C",n,c,ipls.ipl()); + (void) new NrootXX("C",n,c,ipls.ipl()); } - (void) new SqrtXY("A",a,icls.icl()); - (void) new SqrtXY("B",b,icls.icl()); - (void) new SqrtXY("C",c,icls.icl()); - - (void) new SqrtXX("A",a,icls.icl()); - (void) new SqrtXX("B",b,icls.icl()); - (void) new SqrtXX("C",c,icls.icl()); + (void) new SqrtXY("A",a,ipls.ipl()); + (void) new SqrtXY("B",b,ipls.ipl()); + (void) new SqrtXY("C",c,ipls.ipl()); - (void) new AbsXY("A",a,icls.icl()); - (void) new AbsXY("B",b,icls.icl()); - (void) new AbsXY("C",c,icls.icl()); + (void) new SqrtXX("A",a,ipls.ipl()); + (void) new SqrtXX("B",b,ipls.ipl()); + (void) new SqrtXX("C",c,ipls.ipl()); - (void) new AbsXX("A",a,icls.icl()); - (void) new AbsXX("B",b,icls.icl()); - (void) new AbsXX("C",c,icls.icl()); + (void) new MinXYZ("A",a,ipls.ipl()); + (void) new MinXYZ("B",b,ipls.ipl()); + (void) new MinXYZ("C",c,ipls.ipl()); - (void) new MinXYZ("A",a,icls.icl()); - (void) new MinXYZ("B",b,icls.icl()); - (void) new MinXYZ("C",c,icls.icl()); + (void) new MinXXY("A",a,ipls.ipl()); + (void) new MinXXY("B",b,ipls.ipl()); + (void) new MinXXY("C",c,ipls.ipl()); - (void) new MinXXY("A",a,icls.icl()); - (void) new MinXXY("B",b,icls.icl()); - (void) new MinXXY("C",c,icls.icl()); + (void) new MinXYX("A",a,ipls.ipl()); + (void) new MinXYX("B",b,ipls.ipl()); + (void) new MinXYX("C",c,ipls.ipl()); - (void) new MinXYX("A",a,icls.icl()); - (void) new MinXYX("B",b,icls.icl()); - (void) new MinXYX("C",c,icls.icl()); + (void) new MinXYY("A",a,ipls.ipl()); + (void) new MinXYY("B",b,ipls.ipl()); + (void) new MinXYY("C",c,ipls.ipl()); - (void) new MinXYY("A",a,icls.icl()); - (void) new MinXYY("B",b,icls.icl()); - (void) new MinXYY("C",c,icls.icl()); + (void) new MinXXX("A",a,ipls.ipl()); + (void) new MinXXX("B",b,ipls.ipl()); + (void) new MinXXX("C",c,ipls.ipl()); - (void) new MinXXX("A",a,icls.icl()); - (void) new MinXXX("B",b,icls.icl()); - (void) new MinXXX("C",c,icls.icl()); + (void) new MaxXYZ("A",a,ipls.ipl()); + (void) new MaxXYZ("B",b,ipls.ipl()); + (void) new MaxXYZ("C",c,ipls.ipl()); - (void) new MaxXYZ("A",a,icls.icl()); - (void) new MaxXYZ("B",b,icls.icl()); - (void) new MaxXYZ("C",c,icls.icl()); + (void) new MaxXXY("A",a,ipls.ipl()); + (void) new MaxXXY("B",b,ipls.ipl()); + (void) new MaxXXY("C",c,ipls.ipl()); - (void) new MaxXXY("A",a,icls.icl()); - (void) new MaxXXY("B",b,icls.icl()); - (void) new MaxXXY("C",c,icls.icl()); + (void) new MaxXYX("A",a,ipls.ipl()); + (void) new MaxXYX("B",b,ipls.ipl()); + (void) new MaxXYX("C",c,ipls.ipl()); - (void) new MaxXYX("A",a,icls.icl()); - (void) new MaxXYX("B",b,icls.icl()); - (void) new MaxXYX("C",c,icls.icl()); + (void) new MaxXYY("A",a,ipls.ipl()); + (void) new MaxXYY("B",b,ipls.ipl()); + (void) new MaxXYY("C",c,ipls.ipl()); - (void) new MaxXYY("A",a,icls.icl()); - (void) new MaxXYY("B",b,icls.icl()); - (void) new MaxXYY("C",c,icls.icl()); + (void) new MaxXXX("A",a,ipls.ipl()); + (void) new MaxXXX("B",b,ipls.ipl()); + (void) new MaxXXX("C",c,ipls.ipl()); - (void) new MaxXXX("A",a,icls.icl()); - (void) new MaxXXX("B",b,icls.icl()); - (void) new MaxXXX("C",c,icls.icl()); - - (void) new MinNary(icls.icl()); - (void) new MinNaryShared(icls.icl()); - (void) new MaxNary(icls.icl()); - (void) new MaxNaryShared(icls.icl()); + (void) new MinNary(ipls.ipl()); + (void) new MinNaryShared(ipls.ipl()); + (void) new MaxNary(ipls.ipl()); + (void) new MaxNaryShared(ipls.ipl()); } + } + for (int i=1; i<5; i++) { - (void) new ArgMax(i,true); + (void) new ArgMax(i,0,true); + (void) new ArgMax(i,1,true); (void) new ArgMaxShared(i,true); - (void) new ArgMin(i,true); + (void) new ArgMin(i,0,true); + (void) new ArgMin(i,1,true); (void) new ArgMinShared(i,true); - (void) new ArgMax(i,false); + (void) new ArgMax(i,0,false); + (void) new ArgMax(i,1,false); (void) new ArgMaxShared(i,false); - (void) new ArgMin(i,false); + (void) new ArgMin(i,0,false); + (void) new ArgMin(i,1,false); (void) new ArgMinShared(i,false); } } diff --git a/test/int/bin-packing.cpp b/test/int/bin-packing.cpp index e052eba8ca..95ebe6f3ac 100644 --- a/test/int/bin-packing.cpp +++ b/test/int/bin-packing.cpp @@ -41,7 +41,7 @@ #include namespace Test { namespace Int { - + /// %Tests for bin-packing constraint namespace BinPacking { @@ -64,7 +64,7 @@ namespace Test { namespace Int { /// Load to generate (unless -1) int load; /// Iterator for each variable - Gecode::IntSetValues* dsv; + Gecode::IntSetValues* dsv; public: /// Initialize assignments for load and bin variables LoadBinAssignment(int m, const Gecode::IntSet& d_m, @@ -147,9 +147,9 @@ namespace Test { namespace Int { } public: /// Create and register test for \a m bins and item sizes \a s - BPT(int m0, const Gecode::IntArgs& s0, bool v=true) + BPT(int m0, const Gecode::IntArgs& s0, bool v=true) : Test("BinPacking::"+str(m0)+"::"+str(s0)+"::"+(v ? "+" : "-"), - m0+s0.size(), 0, 100), + m0+s0.size(), 0, 100), m(m0), s(s0), valid(v), t(total(s)) { testsearch = false; } @@ -170,6 +170,10 @@ namespace Test { namespace Int { l += x[j]; if (l != t) return false; + // Check whether items are at possible bins + for (int j=m; j--; ) + if ((x[m+j] < 0) || (x[m+j] >= m)) + return false; // Compute whether items add up for (int j=m; j--; ) il[j] = 0; @@ -192,7 +196,7 @@ namespace Test { namespace Int { binpacking(home, l, b, s); } }; - + /// %Test with different bin loads and items class MBPT : public Test { protected: @@ -208,10 +212,10 @@ namespace Test { namespace Int { mutable int il[4][8]; public: /// Create and register test for \a d0 dimensions, \a m0 bins, item sizes \a s0, and capacities \a c0 - MBPT(int d0, int m0, - const Gecode::IntArgs& s0, const Gecode::IntArgs& c0) + MBPT(int d0, int m0, + const Gecode::IntArgs& s0, const Gecode::IntArgs& c0) : Test("MultiBinPacking::"+str(d0)+"::"+str(m0)+"::"+ - str(s0)+"::"+str(c0), s0.size() / d0, 0, m0-1), + str(s0)+"::"+str(c0), s0.size() / d0, 0, m0-1), d(d0), m(m0), s(s0), c(c0) { testsearch = false; testfix = false; @@ -240,7 +244,7 @@ namespace Test { namespace Int { binpacking(home, d, l, x, s, c); } }; - + /// Test for testing the max-clique finding for multi bin-packing class CliqueMBPT : public Base { protected: @@ -254,7 +258,7 @@ namespace Test { namespace Int { // Constructor TestSpace(void) {} // Copy function - virtual Gecode::Space* copy(bool share) { + virtual Gecode::Space* copy(bool) { return NULL; } }; @@ -266,11 +270,11 @@ namespace Test { namespace Int { virtual bool run(void) { using namespace Gecode; TestSpace* home = new TestSpace; - /* + /* * Set up a multi-dimensional bin packing problems of dimension 2 * where the item sizes in one dimension are all one but for some - * random items and two in the other dimension if the item is - * included in the clique and where the capacity in both dimensions + * random items and two in the other dimension if the item is + * included in the clique and where the capacity in both dimensions * is 3. */ // Number of items @@ -317,6 +321,7 @@ namespace Test { namespace Int { using namespace Gecode; { + IntArgs s0(4, 0,0,0,0); IntArgs s1(3, 2,1,1); IntArgs s2(4, 1,2,3,4); IntArgs s3(4, 4,3,2,1); @@ -326,8 +331,9 @@ namespace Test { namespace Int { IntArgs s7(4, 1,3,3,4); IntArgs s8(6, 1,3,3,0,4,0); IntArgs s9(6, 1,2,4,8,16,32); - + for (int m=1; m<4; m++) { + (void) new BPT(m, s0); (void) new BPT(m, s1); (void) new BPT(m, s2); (void) new BPT(m, s3); @@ -392,11 +398,11 @@ namespace Test { namespace Int { } } }; - + Create c; - + //@} - + } }} diff --git a/test/int/bool.cpp b/test/int/bool.cpp index 32682fd3a6..22e784be5d 100755 --- a/test/int/bool.cpp +++ b/test/int/bool.cpp @@ -445,8 +445,8 @@ namespace Test { namespace Int { class ITE : public Test { public: /// Construct and register test - ITE(Gecode::IntConLevel icl) - : Test("ITE::"+str(icl),4,-4,4,false,icl) {} + ITE(Gecode::IntPropLevel ipl) + : Test("ITE::"+str(ipl),4,-4,4,false,ipl) {} /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { if ((x[0] < 0) || (x[0] > 1)) @@ -516,8 +516,8 @@ namespace Test { namespace Int { }; Create c; - ITE itebnd(Gecode::ICL_BND); - ITE itedom(Gecode::ICL_DOM); + ITE itebnd(Gecode::IPL_BND); + ITE itedom(Gecode::IPL_DOM); //@} diff --git a/test/int/channel.cpp b/test/int/channel.cpp index bbe347083d..7c43c689de 100755 --- a/test/int/channel.cpp +++ b/test/int/channel.cpp @@ -56,9 +56,9 @@ namespace Test { namespace Int { int yoff; //< Offset for the y variables public: /// Construct and register test - ChannelFull(int xoff0, int yoff0, Gecode::IntConLevel icl) - : Test("Channel::Full::"+str(xoff0)+"::"+str(yoff0)+"::"+str(icl), - 8,0,3,false,icl), + ChannelFull(int xoff0, int yoff0, Gecode::IntPropLevel ipl) + : Test("Channel::Full::"+str(xoff0)+"::"+str(yoff0)+"::"+str(ipl), + 8,0,3,false,ipl), xoff(xoff0), yoff(yoff0) { contest = CTL_NONE; } @@ -89,7 +89,7 @@ namespace Test { namespace Int { ya[i] = x[4+i]; } } - channel(home, xa, xoff, ya, yoff, icl); + channel(home, xa, xoff, ya, yoff, ipl); } }; @@ -97,8 +97,8 @@ namespace Test { namespace Int { class ChannelHalf : public Test { public: /// Construct and register test - ChannelHalf(Gecode::IntConLevel icl) - : Test("Channel::Half::"+str(icl),6,0,5,false,icl) { + ChannelHalf(Gecode::IntPropLevel ipl) + : Test("Channel::Half::"+str(ipl),6,0,5,false,ipl) { contest = CTL_NONE; } /// Check whether \a x is solution @@ -119,7 +119,7 @@ namespace Test { namespace Int { rel(home, x[i], Gecode::IRT_EQ, j, b); rel(home, y[j], Gecode::IRT_EQ, i, b); } - channel(home, x, y, icl); + channel(home, x, y, ipl); } }; @@ -127,8 +127,8 @@ namespace Test { namespace Int { class ChannelShared : public Test { public: /// Construct and register test - ChannelShared(Gecode::IntConLevel icl) - : Test("Channel::Shared::"+str(icl),6,0,5,false,icl) { + ChannelShared(Gecode::IntPropLevel ipl) + : Test("Channel::Shared::"+str(ipl),6,0,5,false,ipl) { contest = CTL_NONE; } /// Check whether \a x is solution @@ -141,7 +141,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - channel(home, x, x, icl); + channel(home, x, x, ipl); } }; @@ -205,20 +205,20 @@ namespace Test { namespace Int { - ChannelFull cfd(0,0,Gecode::ICL_DOM); - ChannelFull cfv(0,0,Gecode::ICL_VAL); + ChannelFull cfd(0,0,Gecode::IPL_DOM); + ChannelFull cfv(0,0,Gecode::IPL_VAL); - ChannelFull cfd11(1,1,Gecode::ICL_DOM); - ChannelFull cfv11(1,1,Gecode::ICL_VAL); + ChannelFull cfd11(1,1,Gecode::IPL_DOM); + ChannelFull cfv11(1,1,Gecode::IPL_VAL); - ChannelFull cfd35(3,5,Gecode::ICL_DOM); - ChannelFull cfv35(3,5,Gecode::ICL_VAL); + ChannelFull cfd35(3,5,Gecode::IPL_DOM); + ChannelFull cfv35(3,5,Gecode::IPL_VAL); - ChannelHalf chd(Gecode::ICL_DOM); - ChannelHalf chv(Gecode::ICL_VAL); + ChannelHalf chd(Gecode::IPL_DOM); + ChannelHalf chv(Gecode::IPL_VAL); - ChannelShared csd(Gecode::ICL_DOM); - ChannelShared csv(Gecode::ICL_VAL); + ChannelShared csd(Gecode::IPL_DOM); + ChannelShared csv(Gecode::IPL_VAL); ChannelLinkSingle cls; diff --git a/test/int/circuit.cpp b/test/int/circuit.cpp index 3eaaadcc33..994a64ac0d 100755 --- a/test/int/circuit.cpp +++ b/test/int/circuit.cpp @@ -55,10 +55,11 @@ namespace Test { namespace Int { int offset; public: /// Create and register test - Circuit(int n, int min, int max, int off, Gecode::IntConLevel icl) - : Test("Circuit::" + str(icl) + "::" + str(n) + "::" + str(off), - n,min,max,false,icl), offset(off) { + Circuit(int n, int min, int max, int off, Gecode::IntPropLevel ipl) + : Test("Circuit::" + str(ipl) + "::" + str(n) + "::" + str(off), + n,min,max,false,ipl), offset(off) { contest = CTL_NONE; + testfix = false; } /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -83,9 +84,9 @@ namespace Test { namespace Int { Gecode::IntVarArgs xx(x.size()); for (int i=x.size(); i--;) xx[i] = Gecode::expr(home, x[i]+offset); - Gecode::circuit(home, offset, xx, icl); + Gecode::circuit(home, offset, xx, ipl); } else { - Gecode::circuit(home, x, icl); + Gecode::circuit(home, x, ipl); } } }; @@ -97,10 +98,11 @@ namespace Test { namespace Int { int offset; public: /// Create and register test - Path(int n, int min, int max, int off, Gecode::IntConLevel icl) - : Test("Path::" + str(icl) + "::" + str(n) + "::" + str(off), - n+2,min,max,false,icl), offset(off) { + Path(int n, int min, int max, int off, Gecode::IntPropLevel ipl) + : Test("Path::" + str(ipl) + "::" + str(n) + "::" + str(off), + n+2,min,max,false,ipl), offset(off) { contest = CTL_NONE; + testfix = false; } /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -133,11 +135,11 @@ namespace Test { namespace Int { xx[i] = Gecode::expr(home, x[i]+offset); Gecode::path(home, offset, xx, Gecode::expr(home, x[n]+offset), - Gecode::expr(home, x[n+1]+offset),icl); + Gecode::expr(home, x[n+1]+offset),ipl); } else { for (int i=n; i--;) xx[i] = x[i]; - Gecode::path(home, xx, x[n], x[n+1], icl); + Gecode::path(home, xx, x[n], x[n+1], ipl); } } }; @@ -149,10 +151,11 @@ namespace Test { namespace Int { int offset; public: /// Create and register test - CircuitCost(int n, int min, int max, int off, Gecode::IntConLevel icl) - : Test("Circuit::Cost::"+str(icl)+"::"+str(n)+"::"+str(off), - n+1,min,max,false,icl), offset(off) { + CircuitCost(int n, int min, int max, int off, Gecode::IntPropLevel ipl) + : Test("Circuit::Cost::"+str(ipl)+"::"+str(n)+"::"+str(off), + n+1,min,max,false,ipl), offset(off) { contest = CTL_NONE; + testfix = false; } /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -187,11 +190,11 @@ namespace Test { namespace Int { if (offset > 0) { for (int i=n; i--;) y[i] = Gecode::expr(home, x[i]+offset); - Gecode::circuit(home, c, offset, y, x[n], icl); + Gecode::circuit(home, c, offset, y, x[n], ipl); } else { for (int i=0; i 0) { for (int i=n; i--;) y[i] = Gecode::expr(home, x[i]+offset); - path(home, c, offset, y, + path(home, c, offset, y, expr(home, x[n]+offset), expr(home, x[n+1]+offset), - x[n+2], icl); + x[n+2], ipl); } else { for (int i=0; i 0) { for (int i=n; i--;) y[i] = Gecode::expr(home, x[i]+offset); - Gecode::circuit(home, c, offset, y, z, x[2*n], icl); + Gecode::circuit(home, c, offset, y, z, x[2*n], ipl); } else { for (int i=0; i= 0) ? p0.size():p0.size()+1,0,st(c0,p0,u0)), + str(c0)+"::"+str(p0)+"::"+str(u0)+"::"+str(ipl0), + (c0 >= 0) ? p0.size():p0.size()+1,0,st(c0,p0,u0),false,ipl0), c(c0), p(p0), u(u0), o(o0) { testsearch = false; testfix = false; @@ -90,10 +91,10 @@ namespace Test { namespace Int { virtual bool solution(const Assignment& x) const { int cmax = (c >= 0) ? c : x[x.size()-1]; int n = (c >= 0) ? x.size() : x.size()-1; - + if (c < 0 && x[n] > -c) return false; - + // Compute maximal time int t = 0; for (int i=0; i= 0) { - Gecode::cumulative(home, c, xx, p, u); + Gecode::cumulative(home, c, xx, p, u, ipl); } else { Gecode::rel(home, x[n] <= -c); - Gecode::cumulative(home, x[n], xx, p, u); + Gecode::cumulative(home, x[n], xx, p, u, ipl); } } }; @@ -163,7 +164,7 @@ namespace Test { namespace Int { /// Offset int o; /// Get a reasonable maximal start time - static int st(int c, + static int st(int c, const Gecode::IntArgs& p, const Gecode::IntArgs& u) { double e = 0; for (int i=p.size(); i--; ) @@ -172,13 +173,15 @@ namespace Test { namespace Int { } public: /// Create and register test - OptFixPCumulative(int c0, + OptFixPCumulative(int c0, const Gecode::IntArgs& p0, const Gecode::IntArgs& u0, - int o0) + int o0, + Gecode::IntPropLevel ipl0) : Test("Cumulative::Opt::Fix::"+str(o0)+"::"+ - str(c0)+"::"+str(p0)+"::"+str(u0), - (c0 >= 0) ? 2*p0.size() : 2*p0.size()+1,0,st(c0,p0,u0)), + str(c0)+"::"+str(p0)+"::"+str(u0)+"::"+str(ipl0), + (c0 >= 0) ? 2*p0.size() : 2*p0.size()+1,0,st(c0,p0,u0), + false,ipl0), c(c0), p(p0), u(u0), l(st(c,p,u)/2), o(o0) { testsearch = false; testfix = false; @@ -242,15 +245,15 @@ namespace Test { namespace Int { Gecode::BoolVarArgs m(n); for (int i=0; i= 0) ? x[i] : Gecode::expr(home,x[i]+o,Gecode::ICL_DOM); + s[i]=(c >= 0) ? x[i] : Gecode::expr(home,x[i]+o,Gecode::IPL_DOM); m[i]=Gecode::expr(home, x[n+i] > l); } if (c >= 0) { - Gecode::cumulative(home, c, s, p, u, m); + Gecode::cumulative(home, c, s, p, u, m, ipl); } else { Gecode::rel(home, x[nn] <= -c); - Gecode::cumulative(home, x[nn], s, p, u, m); + Gecode::cumulative(home, x[nn], s, p, u, m, ipl); } } }; @@ -279,11 +282,13 @@ namespace Test { namespace Int { /// Create and register test ManFlexCumulative(int c0, int minP, int maxP, const Gecode::IntArgs& u0, - int o0) + int o0, + Gecode::IntPropLevel ipl0) : Test("Cumulative::Man::Flex::"+str(o0)+"::"+ - str(c0)+"::"+str(minP)+"::"+str(maxP)+"::"+str(u0), + str(c0)+"::"+str(minP)+"::"+str(maxP)+"::"+str(u0)+ + "::"+str(ipl0), (c0 >= 0) ? 2*u0.size() : 2*u0.size()+1, - 0,std::max(maxP,st(c0,maxP,u0))), + 0,std::max(maxP,st(c0,maxP,u0)),false,ipl0), c(c0), _minP(minP), _maxP(maxP), u(u0), o(o0) { testsearch = false; testfix = false; @@ -350,16 +355,16 @@ namespace Test { namespace Int { Gecode::Int::Limits::min, Gecode::Int::Limits::max); for (int i=s.size(); i--;) { - s[i] = expr(home, o+x[i], Gecode::ICL_DOM); + s[i] = expr(home, o+x[i], Gecode::IPL_DOM); rel(home, s[i]+px[i] == e[i]); rel(home, _minP <= px[i]); rel(home, _maxP >= px[i]); } if (c >= 0) { - Gecode::cumulative(home, c, s, px, e, u); + Gecode::cumulative(home, c, s, px, e, u, ipl); } else { rel(home, x[n] <= -c); - Gecode::cumulative(home, x[n], s, px, e, u); + Gecode::cumulative(home, x[n], s, px, e, u, ipl); } } }; @@ -390,12 +395,14 @@ namespace Test { namespace Int { /// Create and register test OptFlexCumulative(int c0, int minP, int maxP, const Gecode::IntArgs& u0, - int o0) + int o0, + Gecode::IntPropLevel ipl0) : Test("Cumulative::Opt::Flex::"+str(o0)+"::"+ - str(c0)+"::"+str(minP)+"::"+str(maxP)+"::"+str(u0), + str(c0)+"::"+str(minP)+"::"+str(maxP)+"::"+str(u0)+ + "::"+str(ipl0), (c0 >= 0) ? 3*u0.size() : 3*u0.size()+1, - 0,std::max(maxP,st(c0,maxP,u0))), - c(c0), _minP(minP), _maxP(maxP), u(u0), + 0,std::max(maxP,st(c0,maxP,u0)), false,ipl0), + c(c0), _minP(minP), _maxP(maxP), u(u0), l(std::max(maxP,st(c0,maxP,u0))/2), o(o0) { testsearch = false; testfix = false; @@ -413,10 +420,10 @@ namespace Test { namespace Int { int n = nn / 3; int cmax = (c >= 0) ? c : x[2*n]; int pstart = (c >= 0) ? 2*n : 2*n+1; - + if (c < 0 && cmax > -c) return false; - + // Compute maximal time int t = 0; for (int i=0; i l)); if (c >= 0) { - Gecode::cumulative(home, c, s, px, e, u, m); + Gecode::cumulative(home, c, s, px, e, u, m, ipl); } else { Gecode::rel(home, x[2*n] <= -c); - Gecode::cumulative(home, x[2*n], s, px, e, u, m); + Gecode::cumulative(home, x[2*n], s, px, e, u, m, ipl); } } }; @@ -491,81 +498,83 @@ namespace Test { namespace Int { IntArgs p2(4, 2,2,2,2); IntArgs p3(4, 4,3,3,5); IntArgs p4(4, 4,0,3,5); + IntArgs p5(3, 1,1,1); IntArgs u1(4, 1,1,1,1); IntArgs u2(4, 2,2,2,2); IntArgs u3(4, 2,3,4,5); IntArgs u4(4, 2,3,0,5); - - // Regression test: check correct detection of disjunctive case - IntArgs p5(3, 1,1,1); IntArgs u5(3, 1,3,2); - (void) new ManFixPCumulative(3,p5,u5,0); - for (int c=-7; c<8; c++) { - int off = 0; - for (int coff=0; coff<2; coff++) { - (void) new ManFixPCumulative(c,p1,u1,off); - (void) new ManFixPCumulative(c,p1,u2,off); - (void) new ManFixPCumulative(c,p1,u3,off); - (void) new ManFixPCumulative(c,p1,u4,off); - (void) new ManFixPCumulative(c,p2,u1,off); - (void) new ManFixPCumulative(c,p2,u2,off); - (void) new ManFixPCumulative(c,p2,u3,off); - (void) new ManFixPCumulative(c,p2,u4,off); - (void) new ManFixPCumulative(c,p3,u1,off); - (void) new ManFixPCumulative(c,p3,u2,off); - (void) new ManFixPCumulative(c,p3,u3,off); - (void) new ManFixPCumulative(c,p3,u4,off); - (void) new ManFixPCumulative(c,p4,u1,off); - (void) new ManFixPCumulative(c,p4,u2,off); - (void) new ManFixPCumulative(c,p4,u3,off); - (void) new ManFixPCumulative(c,p4,u4,off); + for (IntPropBasicAdvanced ipba; ipba(); ++ipba) { + // Regression test: check correct detection of disjunctive case + (void) new ManFixPCumulative(3,p5,u5,0,ipba.ipl()); - (void) new ManFlexCumulative(c,0,1,u1,off); - (void) new ManFlexCumulative(c,0,1,u2,off); - (void) new ManFlexCumulative(c,0,1,u3,off); - (void) new ManFlexCumulative(c,0,1,u4,off); - (void) new ManFlexCumulative(c,0,2,u1,off); - (void) new ManFlexCumulative(c,0,2,u2,off); - (void) new ManFlexCumulative(c,0,2,u3,off); - (void) new ManFlexCumulative(c,0,2,u4,off); - (void) new ManFlexCumulative(c,3,5,u1,off); - (void) new ManFlexCumulative(c,3,5,u2,off); - (void) new ManFlexCumulative(c,3,5,u3,off); - (void) new ManFlexCumulative(c,3,5,u4,off); + for (int c=-7; c<8; c++) { + int off = 0; + for (int coff=0; coff<2; coff++) { + (void) new ManFixPCumulative(c,p1,u1,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p1,u2,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p1,u3,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p1,u4,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p2,u1,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p2,u2,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p2,u3,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p2,u4,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p3,u1,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p3,u2,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p3,u3,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p3,u4,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p4,u1,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p4,u2,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p4,u3,off,ipba.ipl()); + (void) new ManFixPCumulative(c,p4,u4,off,ipba.ipl()); - (void) new OptFixPCumulative(c,p1,u1,off); - (void) new OptFixPCumulative(c,p1,u2,off); - (void) new OptFixPCumulative(c,p1,u3,off); - (void) new OptFixPCumulative(c,p1,u4,off); - (void) new OptFixPCumulative(c,p2,u1,off); - (void) new OptFixPCumulative(c,p2,u2,off); - (void) new OptFixPCumulative(c,p2,u3,off); - (void) new OptFixPCumulative(c,p2,u4,off); - (void) new OptFixPCumulative(c,p3,u1,off); - (void) new OptFixPCumulative(c,p3,u2,off); - (void) new OptFixPCumulative(c,p3,u3,off); - (void) new OptFixPCumulative(c,p3,u4,off); - (void) new OptFixPCumulative(c,p4,u1,off); - (void) new OptFixPCumulative(c,p4,u2,off); - (void) new OptFixPCumulative(c,p4,u3,off); - (void) new OptFixPCumulative(c,p4,u4,off); + (void) new ManFlexCumulative(c,0,1,u1,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,1,u2,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,1,u3,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,1,u4,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,2,u1,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,2,u2,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,2,u3,off,ipba.ipl()); + (void) new ManFlexCumulative(c,0,2,u4,off,ipba.ipl()); + (void) new ManFlexCumulative(c,3,5,u1,off,ipba.ipl()); + (void) new ManFlexCumulative(c,3,5,u2,off,ipba.ipl()); + (void) new ManFlexCumulative(c,3,5,u3,off,ipba.ipl()); + (void) new ManFlexCumulative(c,3,5,u4,off,ipba.ipl()); - (void) new OptFlexCumulative(c,0,1,u1,off); - (void) new OptFlexCumulative(c,0,1,u2,off); - (void) new OptFlexCumulative(c,0,1,u3,off); - (void) new OptFlexCumulative(c,0,1,u4,off); - (void) new OptFlexCumulative(c,0,2,u1,off); - (void) new OptFlexCumulative(c,0,2,u2,off); - (void) new OptFlexCumulative(c,0,2,u3,off); - (void) new OptFlexCumulative(c,0,2,u4,off); - (void) new OptFlexCumulative(c,3,5,u1,off); - (void) new OptFlexCumulative(c,3,5,u2,off); - (void) new OptFlexCumulative(c,3,5,u3,off); - (void) new OptFlexCumulative(c,3,5,u4,off); + (void) new OptFixPCumulative(c,p1,u1,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p1,u2,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p1,u3,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p1,u4,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p2,u1,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p2,u2,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p2,u3,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p2,u4,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p3,u1,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p3,u2,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p3,u3,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p3,u4,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p4,u1,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p4,u2,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p4,u3,off,ipba.ipl()); + (void) new OptFixPCumulative(c,p4,u4,off,ipba.ipl()); - off = Gecode::Int::Limits::min; + (void) new OptFlexCumulative(c,0,1,u1,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,1,u2,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,1,u3,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,1,u4,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,2,u1,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,2,u2,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,2,u3,off,ipba.ipl()); + (void) new OptFlexCumulative(c,0,2,u4,off,ipba.ipl()); + (void) new OptFlexCumulative(c,3,5,u1,off,ipba.ipl()); + (void) new OptFlexCumulative(c,3,5,u2,off,ipba.ipl()); + (void) new OptFlexCumulative(c,3,5,u3,off,ipba.ipl()); + (void) new OptFlexCumulative(c,3,5,u4,off,ipba.ipl()); + + off = Gecode::Int::Limits::min; + } } } } diff --git a/test/int/distinct.cpp b/test/int/distinct.cpp index 43ea9f786d..7fe95a9e4a 100755 --- a/test/int/distinct.cpp +++ b/test/int/distinct.cpp @@ -38,6 +38,7 @@ */ #include "test/int.hh" +#include namespace Test { namespace Int { @@ -54,14 +55,14 @@ namespace Test { namespace Int { class Distinct : public Test { public: /// Create and register test - Distinct(const Gecode::IntSet& d0, Gecode::IntConLevel icl, + Distinct(const Gecode::IntSet& d0, Gecode::IntPropLevel ipl, int n=6) : Test(std::string(useCount ? "Count::Distinct::" : "Distinct::")+ - str(icl)+"::Sparse::"+str(n),n,d0,false,icl) {} + str(ipl)+"::Sparse::"+str(n),n,d0,false,ipl) {} /// Create and register test - Distinct(int min, int max, Gecode::IntConLevel icl) + Distinct(int min, int max, Gecode::IntPropLevel ipl) : Test(std::string(useCount ? "Count::Distinct::" : "Distinct::")+ - str(icl)+"::Dense",6,min,max,false,icl) {} + str(ipl)+"::Dense",6,min,max,false,ipl) {} /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { for (int i=0; i 1)) + return false; + for (int i=0; istatus() == SS_FAILED) { delete s; return false; } @@ -190,7 +246,7 @@ namespace Test { namespace Int { } for (int i=n; i<2*n; i++) x[i] = IntVar(*s,n-1,i); - distinct(*s,x,icl); + distinct(*s,x,ipl); if (s->status() == SS_FAILED) { delete s; return false; } @@ -214,42 +270,78 @@ namespace Test { namespace Int { Gecode::Int::Limits::max-0}; Gecode::IntSet dl(vl,6); - Distinct dom_d(-3,3,Gecode::ICL_DOM); - Distinct bnd_d(-3,3,Gecode::ICL_BND); - Distinct val_d(-3,3,Gecode::ICL_VAL); - Distinct dom_s(d,Gecode::ICL_DOM); - Distinct bnd_s(d,Gecode::ICL_BND); - Distinct val_s(d,Gecode::ICL_VAL); + Distinct dom_d(-3,3,Gecode::IPL_DOM); + Distinct bnd_d(-3,3,Gecode::IPL_BND); + Distinct val_d(-3,3,Gecode::IPL_VAL); + Distinct dom_s(d,Gecode::IPL_DOM); + Distinct bnd_s(d,Gecode::IPL_BND); + Distinct val_s(d,Gecode::IPL_VAL); + + Distinct dom_l(dl,Gecode::IPL_DOM,5); + Distinct bnd_l(dl,Gecode::IPL_BND,5); + Distinct val_l(dl,Gecode::IPL_VAL,5); + + Distinct count_dom_d(-3,3,Gecode::IPL_DOM); + Distinct count_bnd_d(-3,3,Gecode::IPL_BND); + Distinct count_val_d(-3,3,Gecode::IPL_VAL); + Distinct count_dom_s(d,Gecode::IPL_DOM); + Distinct count_bnd_s(d,Gecode::IPL_BND); + Distinct count_val_s(d,Gecode::IPL_VAL); + + Offset dom_od(-3,3,Gecode::IPL_DOM); + Offset bnd_od(-3,3,Gecode::IPL_BND); + Offset val_od(-3,3,Gecode::IPL_VAL); + Offset dom_os(d,Gecode::IPL_DOM); + Offset bnd_os(d,Gecode::IPL_BND); + Offset val_os(d,Gecode::IPL_VAL); - Distinct dom_l(dl,Gecode::ICL_DOM,5); - Distinct bnd_l(dl,Gecode::ICL_BND,5); - Distinct val_l(dl,Gecode::ICL_VAL,5); + Gecode::IntArgs v1(4, Gecode::Int::Limits::min+4, + 0,1, + Gecode::Int::Limits::max); + Gecode::IntArgs v2(4, Gecode::Int::Limits::min, + 0,1, + Gecode::Int::Limits::max-4); + Gecode::IntArgs v3(4, 0,1,2,3); + Gecode::IntArgs v4(3, 0,1,2); + Gecode::IntArgs v5(2, 0,1); - Distinct count_dom_d(-3,3,Gecode::ICL_DOM); - Distinct count_bnd_d(-3,3,Gecode::ICL_BND); - Distinct count_val_d(-3,3,Gecode::ICL_VAL); - Distinct count_dom_s(d,Gecode::ICL_DOM); - Distinct count_bnd_s(d,Gecode::ICL_BND); - Distinct count_val_s(d,Gecode::ICL_VAL); + Optional od1(v1,Gecode::IPL_DOM); + Optional ob1(v1,Gecode::IPL_BND); + Optional ov1(v1,Gecode::IPL_VAL); + Optional od2(v2,Gecode::IPL_DOM); + Optional ob2(v2,Gecode::IPL_BND); + Optional ov2(v2,Gecode::IPL_VAL); + Optional od3(v3,Gecode::IPL_DOM); + Optional ob3(v3,Gecode::IPL_BND); + Optional ov3(v3,Gecode::IPL_VAL); + Optional od4(v4,Gecode::IPL_DOM); + Optional ob4(v4,Gecode::IPL_BND); + Optional ov4(v4,Gecode::IPL_VAL); + Optional od5(v5,Gecode::IPL_DOM); + Optional ob5(v5,Gecode::IPL_BND); + Optional ov5(v5,Gecode::IPL_VAL); - Offset dom_od(-3,3,Gecode::ICL_DOM); - Offset bnd_od(-3,3,Gecode::ICL_BND); - Offset val_od(-3,3,Gecode::ICL_VAL); - Offset dom_os(d,Gecode::ICL_DOM); - Offset bnd_os(d,Gecode::ICL_BND); - Offset val_os(d,Gecode::ICL_VAL); + Except ed1(v1,Gecode::IPL_DOM); + Except eb1(v1,Gecode::IPL_BND); + Except ev1(v1,Gecode::IPL_VAL); + Except ed2(v2,Gecode::IPL_DOM); + Except eb2(v2,Gecode::IPL_BND); + Except ev2(v2,Gecode::IPL_VAL); + Except ed5(v5,Gecode::IPL_DOM); + Except eb5(v5,Gecode::IPL_BND); + Except ev5(v5,Gecode::IPL_VAL); - Random dom_r(20,-50,50,Gecode::ICL_DOM); - Random bnd_r(50,-500,500,Gecode::ICL_BND); - Random val_r(50,-500,500,Gecode::ICL_VAL); + Random dom_r(20,-50,50,Gecode::IPL_DOM); + Random bnd_r(50,-500,500,Gecode::IPL_BND); + Random val_r(50,-500,500,Gecode::IPL_VAL); - Pathological p_16_v(16,Gecode::ICL_VAL); - Pathological p_16_b(16,Gecode::ICL_BND); - Pathological p_16_d(16,Gecode::ICL_DOM); + Pathological p_16_v(16,Gecode::IPL_VAL); + Pathological p_16_b(16,Gecode::IPL_BND); + Pathological p_16_d(16,Gecode::IPL_DOM); - Pathological p_32_v(32,Gecode::ICL_VAL); - Pathological p_32_b(32,Gecode::ICL_BND); - Pathological p_32_d(32,Gecode::ICL_DOM); + Pathological p_32_v(32,Gecode::IPL_VAL); + Pathological p_32_b(32,Gecode::IPL_BND); + Pathological p_32_d(32,Gecode::IPL_DOM); //@} } diff --git a/test/int/dom.cpp b/test/int/dom.cpp index 49a3390725..0103be2a6c 100755 --- a/test/int/dom.cpp +++ b/test/int/dom.cpp @@ -51,7 +51,9 @@ namespace Test { namespace Int { class DomInt : public Test { public: /// Create and register test - DomInt(int n) : Test("Dom::Int::"+str(n),n,-4,4,n == 1) {} + DomInt(int n) + : Test("Dom::Int::"+str(n),n,-4,4,n == 1, + Gecode::IPL_DOM) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { for (int i=x.size(); i--; ) @@ -79,7 +81,9 @@ namespace Test { namespace Int { class DomRange : public Test { public: /// Create and register test - DomRange(int n) : Test("Dom::Range::"+str(n),n,-4,4,n == 1) {} + DomRange(int n) + : Test("Dom::Range::"+str(n),n,-4,4,n == 1, + Gecode::IPL_DOM) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { for (int i=x.size(); i--; ) @@ -132,7 +136,9 @@ namespace Test { namespace Int { class DomDom : public Test { public: /// Create and register test - DomDom(int n) : Test("Dom::Dom::"+str(n),n,-6,6,n == 1) {} + DomDom(int n) + : Test("Dom::Dom::"+str(n),n,-6,6,n == 1, + Gecode::IPL_DOM) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { for (int i=x.size(); i--; ) diff --git a/test/int/element.cpp b/test/int/element.cpp index eb65970ebd..6be155a4f4 100755 --- a/test/int/element.cpp +++ b/test/int/element.cpp @@ -59,7 +59,7 @@ namespace Test { namespace Int { /// Create and register test IntIntVar(const std::string& s, const Gecode::IntArgs& c0, int min, int max) - : Test("Element::Int::Int::Var::"+s,2,min,max), + : Test("Element::Int::Int::Var::"+s,2,min,max), c(c0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -158,8 +158,8 @@ namespace Test { namespace Int { class VarIntVar : public Test { public: /// Create and register test - VarIntVar(Gecode::IntConLevel icl) - : Test("Element::Var::Int::Var::"+str(icl),6,-1,3,false,icl) {} + VarIntVar(Gecode::IntPropLevel ipl) + : Test("Element::Var::Int::Var::"+str(ipl),6,-1,3,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return (x[0]>= 0) && (x[0] m(tm,2,2); element(home, m, x[0], x[1], channel(home,x[2])); @@ -488,7 +506,7 @@ namespace Test { namespace Int { // x-coordinate: x[0], y-coordinate: x[1], result: x[1] using namespace Gecode; BoolVarArgs tm(4); - tm[0]=channel(home,x[2]); tm[1]=channel(home,x[3]); + tm[0]=channel(home,x[2]); tm[1]=channel(home,x[3]); tm[2]=channel(home,x[4]); tm[3]=channel(home,x[5]); Matrix m(tm,2,2); element(home, m, x[0], x[0], channel(home,x[1])); @@ -565,16 +583,16 @@ namespace Test { namespace Int { (void) new IntBoolInt("C",bc3,i); } - (void) new VarIntVar(ICL_BND); - (void) new VarIntVar(ICL_DOM); + (void) new VarIntVar(IPL_BND); + (void) new VarIntVar(IPL_DOM); for (int i=-4; i<=4; i++) { - (void) new VarIntInt(ICL_BND,i); - (void) new VarIntInt(ICL_DOM,i); + (void) new VarIntInt(IPL_BND,i); + (void) new VarIntInt(IPL_DOM,i); } - (void) new VarIntShared(ICL_BND); - (void) new VarIntShared(ICL_DOM); + (void) new VarIntShared(IPL_BND); + (void) new VarIntShared(IPL_DOM); (void) new VarBoolVar(); (void) new VarBoolInt(0); diff --git a/test/int/exec.cpp b/test/int/exec.cpp index 94e2a12ccf..001b73fe51 100755 --- a/test/int/exec.cpp +++ b/test/int/exec.cpp @@ -53,7 +53,7 @@ namespace Test { namespace Int { class IntWait : public Test { public: /// Create and register test - IntWait(int n) + IntWait(int n) : Test("Wait::Int::"+str(n),n,0,n,false) {} /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -84,7 +84,7 @@ namespace Test { namespace Int { class BoolWait : public Test { public: /// Create and register test - BoolWait(int n) + BoolWait(int n) : Test("Wait::Bool::"+str(n),n,0,1,false) {} /// Check whether \a x is solution virtual bool solution(const Assignment& x) const { diff --git a/test/int/extensional.cpp b/test/int/extensional.cpp index 0cd8fe21b8..24d4f3508c 100644 --- a/test/int/extensional.cpp +++ b/test/int/extensional.cpp @@ -342,7 +342,7 @@ namespace Test { namespace Int { int n; public: /// Create and register test - RegOpt(int n0) + RegOpt(int n0) : Test("Extensional::Reg::Opt::"+str(n0),1,0,15), n(n0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -371,19 +371,16 @@ namespace Test { namespace Int { delete [] f; extensional(home, x, d); } - + }; /// %Test with tuple set class TupleSetA : public Test { - protected: - /// Extensional propagation kind - Gecode::ExtensionalPropKind epk; public: /// Create and register test - TupleSetA(Gecode::ExtensionalPropKind epk0) - : Test("Extensional::TupleSet::A::"+str(epk0), - 4,1,5,false,Gecode::ICL_DOM), epk(epk0) {} + TupleSetA(Gecode::IntPropLevel ipl0) + : Test("Extensional::TupleSet::A::"+str(ipl0), + 4,1,5,false,ipl0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return ((x[0] == 1 && x[1] == 3 && x[2] == 2 && x[3] == 3) || @@ -420,21 +417,18 @@ namespace Test { namespace Int { t.add(t5); t.finalize(); - extensional(home, x, t, epk, ICL_DEF); + extensional(home, x, t, ipl); } }; /// %Test with tuple set class TupleSetB : public Test { mutable Gecode::TupleSet t; - protected: - /// Extensional propagation kind - Gecode::ExtensionalPropKind epk; public: /// Create and register test - TupleSetB(Gecode::ExtensionalPropKind epk0) - : Test("Extensional::TupleSet::B::"+str(epk0), - 4,1,5,false,Gecode::ICL_DOM), epk(epk0) { + TupleSetB(Gecode::IntPropLevel ipl0) + : Test("Extensional::TupleSet::B::"+str(ipl0), + 4,1,5,false,ipl0) { using namespace Gecode; IntArgs t1 (4, 2, 1, 2, 4); IntArgs t2 (4, 2, 2, 1, 4); @@ -473,7 +467,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - extensional(home, x, t, epk, ICL_DEF); + extensional(home, x, t, ipl); } }; @@ -482,14 +476,11 @@ namespace Test { namespace Int { /// %Test with bool tuple set class TupleSetBool : public Test { mutable Gecode::TupleSet t; - protected: - /// Extensional propagation kind - Gecode::ExtensionalPropKind epk; public: /// Create and register test - TupleSetBool(Gecode::ExtensionalPropKind epk0, double prob) - : Test("Extensional::TupleSet::Bool::"+str(epk0), - 5,0,1,false,Gecode::ICL_DOM), epk(epk0) { + TupleSetBool(Gecode::IntPropLevel ipl0, double prob) + : Test("Extensional::TupleSet::Bool::"+str(ipl0), + 5,0,1,false,ipl0) { using namespace Gecode; CpltAssignment ass(5, IntSet(0, 1)); @@ -519,8 +510,9 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; BoolVarArgs y(x.size()); - for (int i = x.size(); i--; ) y[i] = channel(home, x[i]); - extensional(home, y, t, epk, ICL_DEF); + for (int i = x.size(); i--; ) + y[i] = channel(home, x[i]); + extensional(home, y, t, ipl); } }; @@ -553,14 +545,14 @@ namespace Test { namespace Int { RegOpt ro6(static_cast(USHRT_MAX-1)); RegOpt ro7(static_cast(USHRT_MAX)); - TupleSetA tsam(Gecode::EPK_MEMORY); - TupleSetA tsas(Gecode::EPK_SPEED); + TupleSetA tsam(Gecode::IPL_MEMORY); + TupleSetA tsas(Gecode::IPL_SPEED); - TupleSetB tsbm(Gecode::EPK_MEMORY); - TupleSetB tsbs(Gecode::EPK_SPEED); + TupleSetB tsbm(Gecode::IPL_MEMORY); + TupleSetB tsbs(Gecode::IPL_SPEED); - TupleSetBool tsboolm(Gecode::EPK_MEMORY, 0.3); - TupleSetBool tsbools(Gecode::EPK_SPEED, 0.3); + TupleSetBool tsboolm(Gecode::IPL_MEMORY, 0.3); + TupleSetBool tsbools(Gecode::IPL_SPEED, 0.3); //@} } diff --git a/test/int/gcc.cpp b/test/int/gcc.cpp index 08f5602c08..76152d0e10 100644 --- a/test/int/gcc.cpp +++ b/test/int/gcc.cpp @@ -55,8 +55,8 @@ namespace Test { namespace Int { class IntAllMinMax : public Test { public: /// Create and register test - IntAllMinMax(Gecode::IntConLevel icl) - : Test("GCC::Int::All::MinMax::"+str(icl),4,-1,3,false,icl) {} + IntAllMinMax(Gecode::IntPropLevel ipl) + : Test("GCC::Int::All::MinMax::"+str(ipl),4,-1,3,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { int n[5]; @@ -81,7 +81,7 @@ namespace Test { namespace Int { values[i] = i-1; cards[i] = fixed; } cards[2] = IntSet(0,0); - count(home, x, cards, values, icl); + count(home, x, cards, values, ipl); } }; @@ -89,8 +89,8 @@ namespace Test { namespace Int { class IntAllMinMaxDef : public Test { public: /// Create and register test - IntAllMinMaxDef(Gecode::IntConLevel icl) - : Test("GCC::Int::All::MinMaxDef::"+str(icl),4,0,3,false,icl) {} + IntAllMinMaxDef(Gecode::IntPropLevel ipl) + : Test("GCC::Int::All::MinMaxDef::"+str(ipl),4,0,3,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { int n[4]; @@ -114,7 +114,7 @@ namespace Test { namespace Int { cards[i] = fixed; } cards[2] = IntSet(0,0); - count(home, x, cards, icl); + count(home, x, cards, ipl); } }; @@ -122,8 +122,8 @@ namespace Test { namespace Int { class IntAllMax : public Test { public: /// Create and register test - IntAllMax(Gecode::IntConLevel icl) - : Test("GCC::Int::All::Max::"+str(icl), 4, 1,2, false, icl) {} + IntAllMax(Gecode::IntPropLevel ipl) + : Test("GCC::Int::All::Max::"+str(ipl), 4, 1,2, false, ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { int n[2]; @@ -138,7 +138,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { Gecode::IntArgs values(2, 1,2); - Gecode::count(home, x, Gecode::IntSet(2,2), values, icl); + Gecode::count(home, x, Gecode::IntSet(2,2), values, ipl); } }; @@ -148,9 +148,9 @@ namespace Test { namespace Int { class IntSome : public Test { public: /// Create and register test - IntSome(Gecode::IntConLevel icl) + IntSome(Gecode::IntPropLevel ipl) : Test(std::string("GCC::Int::Some::")+ - (hole ? "::Hole" : "::Full")+str(icl),4,1,4,false,icl) {} + (hole ? "::Hole" : "::Full")+str(ipl),4,1,4,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { int n[4]; @@ -175,7 +175,7 @@ namespace Test { namespace Int { } Gecode::IntSetArgs cards(2); cards[0]=fixed; cards[1]=fixed; - count(home, x, cards, values, icl); + count(home, x, cards, values, ipl); } }; @@ -186,8 +186,8 @@ namespace Test { namespace Int { static const int n = 4; public: /// Create and register test - VarAll(Gecode::IntConLevel icl) - : Test("GCC::Var::All::"+str(icl),7,0,2,false,icl) {} + VarAll(Gecode::IntPropLevel ipl) + : Test("GCC::Var::All::"+str(ipl),7,0,2,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { // Number of cardinality variables @@ -224,7 +224,7 @@ namespace Test { namespace Int { x[i]=xy[i]; for (int i=0; i randomArity) return new RandomAssignment(arity,dom,4000); - else + else return new CpltAssignment(arity,dom); } /// Post constraint on \a xy @@ -289,7 +289,7 @@ namespace Test { namespace Int { IntArgs values(m); for (int i=m; i--;) values[i] = i+dom.min(); - count(home,x,y,values,icl); + count(home,x,y,values,ipl); } }; @@ -298,15 +298,15 @@ namespace Test { namespace Int { public: /// Perform creation and registration Create(void) { - for (IntConLevels icls; icls(); ++icls) { - (void) new IntAllMinMax(icls.icl()); - (void) new IntAllMinMaxDef(icls.icl()); - (void) new IntAllMax(icls.icl()); - (void) new IntSome(icls.icl()); - (void) new IntSome(icls.icl()); - (void) new VarAll(icls.icl()); - (void) new VarSome("Small",2,-1,3,icls.icl()); - (void) new VarSome("Large",3,-1,4,icls.icl()); + for (IntPropLevels ipls; ipls(); ++ipls) { + (void) new IntAllMinMax(ipls.ipl()); + (void) new IntAllMinMaxDef(ipls.ipl()); + (void) new IntAllMax(ipls.ipl()); + (void) new IntSome(ipls.ipl()); + (void) new IntSome(ipls.ipl()); + (void) new VarAll(ipls.ipl()); + (void) new VarSome("Small",2,-1,3,ipls.ipl()); + (void) new VarSome("Large",3,-1,4,ipls.ipl()); } } }; diff --git a/test/int/linear.cpp b/test/int/linear.cpp index 76afff36f2..86b4225167 100755 --- a/test/int/linear.cpp +++ b/test/int/linear.cpp @@ -70,11 +70,11 @@ namespace Test { namespace Int { /// Create and register test IntInt(const std::string& s, const Gecode::IntSet& d, const Gecode::IntArgs& a0, Gecode::IntRelType irt0, - int c0, Gecode::IntConLevel icl=Gecode::ICL_BND) + int c0, Gecode::IntPropLevel ipl=Gecode::IPL_BND) : Test("Linear::Int::Int::"+ - str(irt0)+"::"+str(icl)+"::"+s+"::"+str(c0)+"::" + str(irt0)+"::"+str(ipl)+"::"+s+"::"+str(c0)+"::" +str(a0.size()), - a0.size(),d,icl != Gecode::ICL_DOM,icl), + a0.size(),d,ipl != Gecode::IPL_DOM,ipl), a(a0), irt(irt0), c(c0) { testfix=false; } @@ -88,17 +88,17 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { if (one(a)) - Gecode::linear(home, x, irt, c, icl); + Gecode::linear(home, x, irt, c, ipl); else - Gecode::linear(home, a, x, irt, c, icl); + Gecode::linear(home, a, x, irt, c, ipl); } /// Post reified constraint on \a x for \a r virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, Gecode::Reify r) { if (one(a)) - Gecode::linear(home, x, irt, c, r, icl); + Gecode::linear(home, x, irt, c, r, ipl); else - Gecode::linear(home, a, x, irt, c, r, icl); + Gecode::linear(home, a, x, irt, c, r, ipl); } }; @@ -113,10 +113,10 @@ namespace Test { namespace Int { /// Create and register test IntVar(const std::string& s, const Gecode::IntSet& d, const Gecode::IntArgs& a0, Gecode::IntRelType irt0, - Gecode::IntConLevel icl=Gecode::ICL_BND) + Gecode::IntPropLevel ipl=Gecode::IPL_BND) : Test("Linear::Int::Var::"+ - str(irt0)+"::"+str(icl)+"::"+s+"::"+str(a0.size()), - a0.size()+1,d,icl != Gecode::ICL_DOM,icl), + str(irt0)+"::"+str(ipl)+"::"+s+"::"+str(a0.size()), + a0.size()+1,d,ipl != Gecode::IPL_DOM,ipl), a(a0), irt(irt0) { testfix=false; } @@ -134,9 +134,9 @@ namespace Test { namespace Int { for (int i=n; i--; ) y[i] = x[i]; if (one(a)) - Gecode::linear(home, y, irt, x[n], icl); + Gecode::linear(home, y, irt, x[n], ipl); else - Gecode::linear(home, a, y, irt, x[n], icl); + Gecode::linear(home, a, y, irt, x[n], ipl); } /// Post reified constraint on \a x for \a r virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, @@ -146,9 +146,9 @@ namespace Test { namespace Int { for (int i=n; i--; ) y[i] = x[i]; if (one(a)) - Gecode::linear(home, y, irt, x[n], r, icl); + Gecode::linear(home, y, irt, x[n], r, ipl); else - Gecode::linear(home, a, y, irt, x[n], r, icl); + Gecode::linear(home, a, y, irt, x[n], r, ipl); } }; @@ -167,7 +167,7 @@ namespace Test { namespace Int { Gecode::IntRelType irt0, int c0) : Test("Linear::Bool::Int::"+ str(irt0)+"::"+s+"::"+str(a0.size())+"::"+str(c0), - a0.size(),0,1,true,Gecode::ICL_DEF), + a0.size(),0,1,true,Gecode::IPL_DEF), a(a0), irt(irt0), c(c0) { testfix=false; } @@ -184,9 +184,9 @@ namespace Test { namespace Int { for (int i=x.size(); i--; ) y[i]=Gecode::channel(home,x[i]); if (one(a)) - Gecode::linear(home, y, irt, c, Gecode::ICL_DEF); + Gecode::linear(home, y, irt, c, Gecode::IPL_DEF); else - Gecode::linear(home, a, y, irt, c, Gecode::ICL_DEF); + Gecode::linear(home, a, y, irt, c, Gecode::IPL_DEF); } /// Post reified constraint on \a x for \a r virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, @@ -195,9 +195,9 @@ namespace Test { namespace Int { for (int i=x.size(); i--; ) y[i]=Gecode::channel(home,x[i]); if (one(a)) - Gecode::linear(home, y, irt, c, r, Gecode::ICL_DEF); + Gecode::linear(home, y, irt, c, r, Gecode::IPL_DEF); else - Gecode::linear(home, a, y, irt, c, r, Gecode::ICL_DEF); + Gecode::linear(home, a, y, irt, c, r, Gecode::IPL_DEF); } }; @@ -284,10 +284,10 @@ namespace Test { namespace Int { (void) new IntVar("21",d2,a1,irts.irt()); (void) new IntInt("31",d3,a1,irts.irt(),150000000); } - (void) new IntInt("11",d1,a1,IRT_EQ,0,ICL_DOM); - (void) new IntVar("11",d1,a1,IRT_EQ,ICL_DOM); - (void) new IntInt("21",d2,a1,IRT_EQ,0,ICL_DOM); - (void) new IntVar("21",d2,a1,IRT_EQ,ICL_DOM); + (void) new IntInt("11",d1,a1,IRT_EQ,0,IPL_DOM); + (void) new IntVar("11",d1,a1,IRT_EQ,IPL_DOM); + (void) new IntInt("21",d2,a1,IRT_EQ,0,IPL_DOM); + (void) new IntVar("21",d2,a1,IRT_EQ,IPL_DOM); const int av2[5] = {1,1,1,1,1}; const int av3[5] = {1,-1,-1,1,-1}; @@ -320,24 +320,24 @@ namespace Test { namespace Int { (void) new IntVar("25",d2,a5,irts.irt()); } } - (void) new IntInt("12",d1,a2,IRT_EQ,0,ICL_DOM); - (void) new IntInt("13",d1,a3,IRT_EQ,0,ICL_DOM); - (void) new IntInt("14",d1,a4,IRT_EQ,0,ICL_DOM); - (void) new IntInt("15",d1,a5,IRT_EQ,0,ICL_DOM); - (void) new IntInt("22",d2,a2,IRT_EQ,0,ICL_DOM); - (void) new IntInt("23",d2,a3,IRT_EQ,0,ICL_DOM); - (void) new IntInt("24",d2,a4,IRT_EQ,0,ICL_DOM); - (void) new IntInt("25",d2,a5,IRT_EQ,0,ICL_DOM); + (void) new IntInt("12",d1,a2,IRT_EQ,0,IPL_DOM); + (void) new IntInt("13",d1,a3,IRT_EQ,0,IPL_DOM); + (void) new IntInt("14",d1,a4,IRT_EQ,0,IPL_DOM); + (void) new IntInt("15",d1,a5,IRT_EQ,0,IPL_DOM); + (void) new IntInt("22",d2,a2,IRT_EQ,0,IPL_DOM); + (void) new IntInt("23",d2,a3,IRT_EQ,0,IPL_DOM); + (void) new IntInt("24",d2,a4,IRT_EQ,0,IPL_DOM); + (void) new IntInt("25",d2,a5,IRT_EQ,0,IPL_DOM); if (i < 4) { - (void) new IntVar("12",d1,a2,IRT_EQ,ICL_DOM); - (void) new IntVar("13",d1,a3,IRT_EQ,ICL_DOM); - (void) new IntVar("14",d1,a4,IRT_EQ,ICL_DOM); - (void) new IntVar("15",d1,a5,IRT_EQ,ICL_DOM); + (void) new IntVar("12",d1,a2,IRT_EQ,IPL_DOM); + (void) new IntVar("13",d1,a3,IRT_EQ,IPL_DOM); + (void) new IntVar("14",d1,a4,IRT_EQ,IPL_DOM); + (void) new IntVar("15",d1,a5,IRT_EQ,IPL_DOM); } } } { - const int av1[10] = { + const int av1[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; const int av2[10] = { diff --git a/test/int/mm-arithmetic.cpp b/test/int/mm-arithmetic.cpp index 65c5fef5cf..6470665627 100755 --- a/test/int/mm-arithmetic.cpp +++ b/test/int/mm-arithmetic.cpp @@ -67,7 +67,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, x[0] * x[1]), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, x[0] * x[1]), IRT_EQ, x[2], IPL_DOM); } }; @@ -86,7 +86,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, x[0] / x[1]), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, x[0] / x[1]), IRT_EQ, x[2], IPL_DOM); } }; @@ -105,7 +105,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, x[0] % x[1]), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, x[0] % x[1]), IRT_EQ, x[2], IPL_DOM); } }; @@ -129,7 +129,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, x[0] + x[1]), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, x[0] + x[1]), IRT_EQ, x[2], IPL_DOM); } }; @@ -153,7 +153,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, x[0] - x[1]), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, x[0] - x[1]), IRT_EQ, x[2], IPL_DOM); } }; @@ -174,7 +174,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, sqr(x[0])), IRT_EQ, x[1], ICL_DOM); + rel(home, expr(home, sqr(x[0])), IRT_EQ, x[1], IPL_DOM); } }; @@ -195,7 +195,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, sqrt(x[0])), IRT_EQ, x[1], ICL_DOM); + rel(home, expr(home, sqrt(x[0])), IRT_EQ, x[1], IPL_DOM); } }; @@ -203,9 +203,9 @@ namespace Test { namespace Int { class Abs : public Test { public: /// Create and register test - Abs(const std::string& s, const Gecode::IntSet& d, Gecode::IntConLevel icl) - : Test("MiniModel::Abs::"+str(icl)+"::"+s, - 2,d,false,icl) { + Abs(const std::string& s, const Gecode::IntSet& d, Gecode::IntPropLevel ipl) + : Test("MiniModel::Abs::"+str(ipl)+"::"+s, + 2,d,false,ipl) { testfix = false; } /// %Test whether \a x is solution @@ -217,7 +217,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, abs(x[0]), icl), IRT_EQ, x[1], ICL_DOM); + rel(home, expr(home, abs(x[0]), ipl), IRT_EQ, x[1], IPL_DOM); } }; @@ -236,7 +236,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, min(x[0], x[1])), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, min(x[0], x[1])), IRT_EQ, x[2], IPL_DOM); } }; @@ -255,7 +255,7 @@ namespace Test { namespace Int { /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; - rel(home, expr(home, max(x[0], x[1])), IRT_EQ, x[2], ICL_DOM); + rel(home, expr(home, max(x[0], x[1])), IRT_EQ, x[2], IPL_DOM); } }; @@ -275,7 +275,7 @@ namespace Test { namespace Int { using namespace Gecode; IntVarArgs m(3); m[0]=x[0]; m[1]=x[1]; m[2]=x[2]; - rel(home, expr(home, min(m)), IRT_EQ, x[3], ICL_DOM); + rel(home, expr(home, min(m)), IRT_EQ, x[3], IPL_DOM); } }; @@ -295,7 +295,7 @@ namespace Test { namespace Int { using namespace Gecode; IntVarArgs m(3); m[0]=x[0]; m[1]=x[1]; m[2]=x[2]; - rel(home, expr(home, max(m)), IRT_EQ, x[3], ICL_DOM); + rel(home, expr(home, max(m)), IRT_EQ, x[3], IPL_DOM); } }; @@ -342,12 +342,12 @@ namespace Test { namespace Int { Sqrt sqrt_med("B",d2); Sqrt sqrt_min("C",d3); - Abs abs_bnd_max("A",d1,Gecode::ICL_BND); - Abs abs_bnd_med("B",d2,Gecode::ICL_BND); - Abs abs_bnd_min("C",d3,Gecode::ICL_BND); - Abs abs_dom_max("A",d1,Gecode::ICL_DOM); - Abs abs_dom_med("B",d2,Gecode::ICL_DOM); - Abs abs_dom_min("C",d3,Gecode::ICL_DOM); + Abs abs_bnd_max("A",d1,Gecode::IPL_BND); + Abs abs_bnd_med("B",d2,Gecode::IPL_BND); + Abs abs_bnd_min("C",d3,Gecode::IPL_BND); + Abs abs_dom_max("A",d1,Gecode::IPL_DOM); + Abs abs_dom_med("B",d2,Gecode::IPL_DOM); + Abs abs_dom_min("C",d3,Gecode::IPL_DOM); Min min_max("A",d1); Min min_med("B",d2); diff --git a/test/int/mm-bool.cpp b/test/int/mm-bool.cpp index 0117b2732c..84654b2bdd 100755 --- a/test/int/mm-bool.cpp +++ b/test/int/mm-bool.cpp @@ -3,8 +3,12 @@ * Main authors: * Christian Schulte * + * Contributing authors: + * Matthias Balzer + * * Copyright: * Christian Schulte, 2008 + * Matthias Balzer, 2016 * * Last modified: * $Date$ by $Author$ @@ -4315,6 +4319,53 @@ namespace Test { namespace Int { &bi870[0],&bi871[0],&bi872[0],&bi873[0],&bi874[0] }; + + /** + * \brief %Test for Boolean element (regression) + * + * Contributed by Matthias Balzer + */ + class BoolElement : public Test { + protected: + /// How to post + int mode; + public: + /// Create and register test + BoolElement(const std::string& s, int m) + : Test("MiniModel::BoolElement::"+s,2,0,1), mode(m) {} + /// %Test whether \a x is solution + virtual bool solution(const Assignment& x) const { + return (x[0] == 0) && (x[1] == 1); + } + /// Post constraint on \a x + virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { + using namespace Gecode; + BoolVarArgs l(2); + l[0]=channel(home,x[0]); l[1]=channel(home,x[1]); + switch (mode) { + case 0: + { + BoolVar b0 = expr(home, !element(l,0)); + BoolVar b1 = expr(home, element(l,1)); + rel(home, b0 && b1); + } + break; + case 1: + { + BoolVar b = expr(home, !element(l,0) && element(l,1)); + rel(home, b); + } + break; + case 2: + rel(home, !element(l,0) && element(l,1)); + break; + default: + GECODE_NEVER; + } + } + }; + + /// Help class to create and register tests class Create { public: @@ -4332,6 +4383,9 @@ namespace Test { namespace Int { (void) new BoolExprInt(bi[i],s,1); (void) new BoolExprVar(bi[i],s); } + (void) new BoolElement("Expr::A",0); + (void) new BoolElement("Expr::B",1); + (void) new BoolElement("Rel",2); } }; diff --git a/test/int/no-overlap.cpp b/test/int/no-overlap.cpp index 7b5364fc58..ac467c982b 100644 --- a/test/int/no-overlap.cpp +++ b/test/int/no-overlap.cpp @@ -41,7 +41,7 @@ #include namespace Test { namespace Int { - + /// %Tests for no-overlap constraint namespace NoOverlap { @@ -59,9 +59,9 @@ namespace Test { namespace Int { Gecode::IntArgs h; public: /// Create and register test with maximal coordinate value \a m - Int2(int m, const Gecode::IntArgs& w0, const Gecode::IntArgs& h0) + Int2(int m, const Gecode::IntArgs& w0, const Gecode::IntArgs& h0) : Test("NoOverlap::Int::2::"+str(m)+"::"+str(w0)+"::"+str(h0), - 2*w0.size(), 0, m-1), + 2*w0.size(), 0, m-1), w(w0), h(h0) { } /// %Test whether \a xy is solution @@ -98,8 +98,8 @@ namespace Test { namespace Int { Gecode::IntArgs h; public: /// Create and register test with maximal value \a m and \a n rectangles - IntOpt2(int m, const Gecode::IntArgs& w0, const Gecode::IntArgs& h0) - : Test("NoOverlap::Int::Opt::2::"+str(m)+"::"+str(w0)+"::"+str(h0), + IntOpt2(int m, const Gecode::IntArgs& w0, const Gecode::IntArgs& h0) + : Test("NoOverlap::Int::Opt::2::"+str(m)+"::"+str(w0)+"::"+str(h0), 3*w0.size(), 0, m-1), w(w0), h(h0) {} /// %Test whether \a xyo is solution virtual bool solution(const Assignment& xyo) const { @@ -131,7 +131,7 @@ namespace Test { namespace Int { nooverlap(home, x, w, y, h, o); } }; - + /// %Test for no-overlap with variable dimensions (rectangles) class Var2 : public Test { public: @@ -168,7 +168,7 @@ namespace Test { namespace Int { nooverlap(home, x0, w, x1, y0, h, y1); } }; - + /// %Test for no-overlap with optional rectangles class VarOpt2 : public Test { public: @@ -212,7 +212,7 @@ namespace Test { namespace Int { nooverlap(home, x0, w, x1, y0, h, y1, o); } }; - + /// %Test for no-overlap with optional rectangles and shared variables class VarOptShared2 : public Test { public: @@ -257,8 +257,8 @@ namespace Test { namespace Int { nooverlap(home, x0, w, x1, y0, h, y1, o); } }; - - + + /// Help class to create and register tests class Create { public: @@ -293,11 +293,11 @@ namespace Test { namespace Int { } }; - + Create c; - + //@} - + } }} diff --git a/test/int/nvalues.cpp b/test/int/nvalues.cpp index a890347566..347ac3edd2 100755 --- a/test/int/nvalues.cpp +++ b/test/int/nvalues.cpp @@ -59,7 +59,7 @@ namespace Test { namespace Int { /// Create and register test IntInt(int n, int m0, Gecode::IntRelType irt0) : Test("NValues::Int::Int::"+str(irt0)+"::"+str(n)+"::"+str(m0), - n,0,n), + n,0,n), irt(irt0), m(m0) { testfix = false; if (arity > 5) @@ -101,7 +101,7 @@ namespace Test { namespace Int { public: /// Create and register test IntVar(int n, Gecode::IntRelType irt0) - : Test("NValues::Int::Var::"+str(irt0)+"::"+str(n),n+1,0,n), + : Test("NValues::Int::Var::"+str(irt0)+"::"+str(n),n+1,0,n), irt(irt0) { testfix = false; } @@ -141,7 +141,7 @@ namespace Test { namespace Int { /// Create and register test BoolInt(int n, int m0, Gecode::IntRelType irt0) : Test("NValues::Bool::Int::"+str(irt0)+"::"+str(n)+"::"+str(m0), - n,0,2), + n,0,2), irt(irt0), m(m0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -179,7 +179,7 @@ namespace Test { namespace Int { public: /// Create and register test BoolVar(int n, Gecode::IntRelType irt0) - : Test("NValues::Bool::Var::"+str(irt0)+"::"+str(n),n+1,0,2), + : Test("NValues::Bool::Var::"+str(irt0)+"::"+str(n),n+1,0,2), irt(irt0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { diff --git a/test/int/precede.cpp b/test/int/precede.cpp index 46b506bff2..9f71510d6b 100644 --- a/test/int/precede.cpp +++ b/test/int/precede.cpp @@ -45,7 +45,7 @@ namespace Test { namespace Int { /// %Tests for value precedence constraints namespace Precede { - + /// %Test for single value precedence constraint class Single : public Test { private: @@ -72,7 +72,7 @@ namespace Test { namespace Int { Gecode::precede(home, x, s, t); } }; - + /// %Test for multiple value precedence constraint class Multi : public Test { private: @@ -100,7 +100,7 @@ namespace Test { namespace Int { Gecode::precede(home, x, c); } }; - + Single _a(2, 3); Single _b(1, 4); diff --git a/test/int/rel.cpp b/test/int/rel.cpp index f0eda1a402..4a7f71f1a9 100755 --- a/test/int/rel.cpp +++ b/test/int/rel.cpp @@ -56,9 +56,9 @@ namespace Test { namespace Int { Gecode::IntRelType irt; public: /// Create and register test - IntVarXY(Gecode::IntRelType irt0, int n, Gecode::IntConLevel icl) - : Test("Rel::Int::Var::XY::"+str(irt0)+"::"+str(icl)+"::"+str(n), - n+1,-3,3,n==1,icl), + IntVarXY(Gecode::IntRelType irt0, int n, Gecode::IntPropLevel ipl) + : Test("Rel::Int::Var::XY::"+str(irt0)+"::"+str(ipl)+"::"+str(n), + n+1,-3,3,n==1,ipl), irt(irt0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -72,18 +72,18 @@ namespace Test { namespace Int { virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { using namespace Gecode; if (x.size() == 2) { - rel(home, x[0], irt, x[1], icl); + rel(home, x[0], irt, x[1], ipl); } else { IntVarArgs y(2); y[0]=x[0]; y[1]=x[1]; - rel(home, y, irt, x[2], icl); + rel(home, y, irt, x[2], ipl); } } /// Post reified constraint on \a x for \a r virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, Gecode::Reify r) { assert(x.size() == 2); - Gecode::rel(home, x[0], irt, x[1], r, icl); + Gecode::rel(home, x[0], irt, x[1], r, ipl); } }; @@ -94,9 +94,9 @@ namespace Test { namespace Int { Gecode::IntRelType irt; public: /// Create and register test - IntVarXX(Gecode::IntRelType irt0, Gecode::IntConLevel icl) - : Test("Rel::Int::Var::XX::"+str(irt0)+"::"+str(icl), - 1,-3,3,true,icl), + IntVarXX(Gecode::IntRelType irt0, Gecode::IntPropLevel ipl) + : Test("Rel::Int::Var::XX::"+str(irt0)+"::"+str(ipl), + 1,-3,3,true,ipl), irt(irt0) { contest = ((irt != Gecode::IRT_LE) && (irt != Gecode::IRT_GR) && @@ -109,12 +109,12 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::rel(home, x[0], irt, x[0], icl); + Gecode::rel(home, x[0], irt, x[0], ipl); } /// Post reified constraint on \a x for \a r virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, Gecode::Reify r) { - Gecode::rel(home, x[0], irt, x[0], r, icl); + Gecode::rel(home, x[0], irt, x[0], r, ipl); } }; @@ -268,9 +268,9 @@ namespace Test { namespace Int { Gecode::IntRelType irt; public: /// Create and register test - IntSeq(int n, Gecode::IntRelType irt0, Gecode::IntConLevel icl) - : Test("Rel::Int::Seq::"+str(n)+"::"+str(irt0)+"::"+str(icl), - n,-3,3,false,icl), + IntSeq(int n, Gecode::IntRelType irt0, Gecode::IntPropLevel ipl) + : Test("Rel::Int::Seq::"+str(n)+"::"+str(irt0)+"::"+str(ipl), + n,-3,3,false,ipl), irt(irt0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -290,7 +290,7 @@ namespace Test { namespace Int { } /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::rel(home, x, irt, icl); + Gecode::rel(home, x, irt, ipl); } }; @@ -301,9 +301,9 @@ namespace Test { namespace Int { Gecode::IntRelType irt; public: /// Create and register test - IntSharedSeq(int n, Gecode::IntRelType irt0, Gecode::IntConLevel icl) - : Test("Rel::Int::Seq::Shared::"+str(n)+"::"+str(irt0)+"::"+str(icl), - n,-3,3,false,icl), + IntSharedSeq(int n, Gecode::IntRelType irt0, Gecode::IntPropLevel ipl) + : Test("Rel::Int::Seq::Shared::"+str(n)+"::"+str(irt0)+"::"+str(ipl), + n,-3,3,false,ipl), irt(irt0) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { @@ -327,9 +327,9 @@ namespace Test { namespace Int { using namespace Gecode; int n = x.size(); IntVarArgs y(2*n); - for (int i=n; i--; ) + for (int i=n; i--; ) y[i] = y[n+i] = x[i]; - rel(home, y, irt, icl); + rel(home, y, irt, ipl); } }; @@ -452,7 +452,7 @@ namespace Test { namespace Int { /// Create and register test IntArrayDiff(Gecode::IntRelType irt0, int m) : Test("Rel::Int::Array::"+str(irt0)+"::"+str(m)+"::"+str(n-m), - n,-2,2), + n,-2,2), irt(irt0), n_fst(m) { assert(n_fst <= n); } @@ -518,18 +518,18 @@ namespace Test { namespace Int { Create(void) { using namespace Gecode; for (IntRelTypes irts; irts(); ++irts) { - for (IntConLevels icls; icls(); ++icls) { - (void) new IntVarXY(irts.irt(),1,icls.icl()); - (void) new IntVarXY(irts.irt(),2,icls.icl()); - (void) new IntVarXX(irts.irt(),icls.icl()); - (void) new IntSeq(1,irts.irt(),icls.icl()); - (void) new IntSeq(2,irts.irt(),icls.icl()); - (void) new IntSeq(3,irts.irt(),icls.icl()); - (void) new IntSeq(5,irts.irt(),icls.icl()); - (void) new IntSharedSeq(1,irts.irt(),icls.icl()); - (void) new IntSharedSeq(2,irts.irt(),icls.icl()); - (void) new IntSharedSeq(3,irts.irt(),icls.icl()); - (void) new IntSharedSeq(4,irts.irt(),icls.icl()); + for (IntPropLevels ipls; ipls(); ++ipls) { + (void) new IntVarXY(irts.irt(),1,ipls.ipl()); + (void) new IntVarXY(irts.irt(),2,ipls.ipl()); + (void) new IntVarXX(irts.irt(),ipls.ipl()); + (void) new IntSeq(1,irts.irt(),ipls.ipl()); + (void) new IntSeq(2,irts.irt(),ipls.ipl()); + (void) new IntSeq(3,irts.irt(),ipls.ipl()); + (void) new IntSeq(5,irts.irt(),ipls.ipl()); + (void) new IntSharedSeq(1,irts.irt(),ipls.ipl()); + (void) new IntSharedSeq(2,irts.irt(),ipls.ipl()); + (void) new IntSharedSeq(3,irts.irt(),ipls.ipl()); + (void) new IntSharedSeq(4,irts.irt(),ipls.ipl()); } (void) new BoolVarXY(irts.irt(),1); (void) new BoolVarXY(irts.irt(),2); diff --git a/test/int/sequence.cpp b/test/int/sequence.cpp index a92f25dfd7..c0af7d9143 100644 --- a/test/int/sequence.cpp +++ b/test/int/sequence.cpp @@ -61,8 +61,8 @@ namespace Test { namespace Int { int q,l,u; public: /// Create and register test - SequenceTest(const std::string& s, - const Gecode::IntSet& s0, int q0, int l0, int u0, + SequenceTest(const std::string& s, + const Gecode::IntSet& s0, int q0, int l0, int u0, int size, int min, int max) : Test("Sequence::"+s,size,min,max), s(s0), q(q0), l(l0), u(u0) { } @@ -82,29 +82,29 @@ namespace Test { namespace Int { return true; } }; - - + + /// %Test for sequence with boolean variables class SequenceBoolTest : public SequenceTest { public: /// Create and register test - SequenceBoolTest(const std::string& s, const Gecode::IntSet& s0, + SequenceBoolTest(const std::string& s, const Gecode::IntSet& s0, int q0, int l0, int u0, int size) : SequenceTest("Bool::"+s,s0,q0,l0,u0,size,0,1) { } - + /// Post constraint on \a x virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { Gecode::BoolVarArgs c(x.size()); - + for (int i=0; i namespace Test { namespace Int { - /// %Tests for unary scheduling constraints - namespace Unary { + namespace Unary {} +}} - /** - * \defgroup TaskTestIntUnary Unary scheduling constraints - * \ingroup TaskTestInt - */ - //@{ - /// %Test for unary constraint - class ManFixPUnary : public Test { - protected: - /// The processing times - Gecode::IntArgs p; - /// Get a reasonable maximal start time - static int st(const Gecode::IntArgs& p) { - int t = 0; - for (int i=p.size(); i--; ) - t += p[i]; - return t; - } - public: - /// Create and register test - ManFixPUnary(const Gecode::IntArgs& p0, int o) - : Test("Unary::Man::Fix::"+str(o)+"::"+str(p0), - p0.size(),o,o+st(p0)), - p(p0) { - testsearch = false; - contest = CTL_NONE; - } - /// Create and register initial assignment - virtual Assignment* assignment(void) const { - return new RandomAssignment(arity,dom,500); - } - /// %Test whether \a x is solution - virtual bool solution(const Assignment& x) const { - for (int i=0; i x[j]) && (x[j]+p[j] > x[i])) - return false; - return true; - } - /// Post constraint on \a x - virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::unary(home, x, p); - } - }; +namespace Test { namespace Int { namespace Unary { - /// %Test for unary constraint with optional tasks - class OptFixPUnary : public Test { - protected: - /// The processing times - Gecode::IntArgs p; - /// Thereshold for taking a task as optional - int l; - /// Get a reasonable maximal start time - static int st(const Gecode::IntArgs& p) { - int t = 0; - for (int i=p.size(); i--; ) - t += p[i]; - return t; - } - public: - /// Create and register test - OptFixPUnary(const Gecode::IntArgs& p0, int o) - : Test("Unary::Opt::Fix::"+str(o)+"::"+str(p0), - 2*p0.size(),o,o+st(p0)), p(p0), l(o+st(p)/2) { - testsearch = false; - contest = CTL_NONE; - } - /// Create and register initial assignment - virtual Assignment* assignment(void) const { - return new RandomAssignment(arity,dom,500); - } - /// %Test whether \a x is solution - virtual bool solution(const Assignment& x) const { - int n = x.size() / 2; - for (int i=0; i l) - for (int j=i+1; j l) - if ((x[i]+p[i] > x[j]) && (x[j]+p[j] > x[i])) - return false; - return true; - } - /// Post constraint on \a x - virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - int n=x.size() / 2; - Gecode::IntVarArgs s(n); - Gecode::BoolVarArgs m(n); - for (int i=0; i l)); - } - Gecode::unary(home, s, p, m); - } - }; + /** + * \defgroup TaskTestIntUnary Unary scheduling constraints + * \ingroup TaskTestInt + */ + //@{ + /// %Test for unary constraint + class ManFixPUnary : public Test { + protected: + /// The processing times + Gecode::IntArgs p; + /// Get a reasonable maximal start time + static int st(const Gecode::IntArgs& p) { + int t = 0; + for (int i=p.size(); i--; ) + t += p[i]; + return t; + } + public: + /// Create and register test + ManFixPUnary(const Gecode::IntArgs& p0, int o, Gecode::IntPropLevel ipl0) + : Test("Unary::Man::Fix::"+str(o)+"::"+str(p0)+"::"+str(ipl0), + p0.size(),o,o+st(p0),false,ipl0), + p(p0) { + testsearch = false; + contest = CTL_NONE; + } + /// Create and register initial assignment + virtual Assignment* assignment(void) const { + return new RandomAssignment(arity,dom,500); + } + /// %Test whether \a x is solution + virtual bool solution(const Assignment& x) const { + for (int i=0; i x[j]) && (x[j]+p[j] > x[i])) + return false; + return true; + } + /// Post constraint on \a x + virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { + Gecode::unary(home, x, p, ipl); + } + }; + /// %Test for unary constraint with optional tasks + class OptFixPUnary : public Test { + protected: + /// The processing times + Gecode::IntArgs p; + /// Threshold for taking a task as optional + int l; + /// Get a reasonable maximal start time + static int st(const Gecode::IntArgs& p) { + int t = 0; + for (int i=p.size(); i--; ) + t += p[i]; + return t; + } + public: + /// Create and register test + OptFixPUnary(const Gecode::IntArgs& p0, int o, Gecode::IntPropLevel ipl0) + : Test("Unary::Opt::Fix::"+str(o)+"::"+str(p0)+"::"+str(ipl0), + 2*p0.size(),o,o+st(p0),false,ipl0), p(p0), l(o+st(p)/2) { + testsearch = false; + contest = CTL_NONE; + } + /// Create and register initial assignment + virtual Assignment* assignment(void) const { + return new RandomAssignment(arity,dom,500); + } + /// %Test whether \a x is solution + virtual bool solution(const Assignment& x) const { + int n = x.size() / 2; + for (int i=0; i l) + for (int j=i+1; j l) + if ((x[i]+p[i] > x[j]) && (x[j]+p[j] > x[i])) + return false; + return true; + } + /// Post constraint on \a x + virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { + int n=x.size() / 2; + Gecode::IntVarArgs s(n); + Gecode::BoolVarArgs m(n); + for (int i=0; i l)); + } + Gecode::unary(home, s, p, m, ipl); + } + }; - /// %Test for unary constraint - class ManFlexUnary : public Test { - protected: - /// Minimum processing time - int _minP; - /// Maximum processing time - int _maxP; - /// Offset for start times - int off; - public: - /// Create and register test - ManFlexUnary(int n, int minP, int maxP, int o) - : Test("Unary::Man::Flex::"+str(o)+"::"+str(n)+"::" - +str(minP)+"::"+str(maxP), - 2*n,0,n*maxP), _minP(minP), _maxP(maxP), off(o) { - testsearch = false; - testfix = false; - contest = CTL_NONE; - } - /// Create and register initial assignment - virtual Assignment* assignment(void) const { - return new RandomMixAssignment(arity/2,dom,arity/2, - Gecode::IntSet(_minP,_maxP),500); - } - /// %Test whether \a x is solution - virtual bool solution(const Assignment& x) const { - int n = x.size()/2; - for (int i=0; i x[j]) && (x[j]+x[n+j] > x[i])) - return false; - return true; - } - /// Post constraint on \a x - virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - Gecode::IntVarArgs s(x.size()/2); - Gecode::IntVarArgs px(x.slice(x.size()/2)); - Gecode::IntVarArgs e(home,x.size()/2, - Gecode::Int::Limits::min, - Gecode::Int::Limits::max); - for (int i=s.size(); i--;) { - s[i] = expr(home, off+x[i]); - rel(home, s[i]+px[i] == e[i]); - rel(home, _minP <= px[i]); - rel(home, _maxP >= px[i]); - } - Gecode::unary(home, s, px, e); - } - }; + /// %Test for unary constraint + class ManFlexUnary : public Test { + protected: + /// Minimum processing time + int _minP; + /// Maximum processing time + int _maxP; + /// Offset for start times + int off; + public: + /// Create and register test + ManFlexUnary(int n, int minP, int maxP, int o, Gecode::IntPropLevel ipl0) + : Test("Unary::Man::Flex::"+str(o)+"::"+str(n)+"::" + +str(minP)+"::"+str(maxP)+"::"+str(ipl0), + 2*n,0,n*maxP,false,ipl0), _minP(minP), _maxP(maxP), off(o) { + testsearch = false; + testfix = false; + contest = CTL_NONE; + } + /// Create and register initial assignment + virtual Assignment* assignment(void) const { + return new RandomMixAssignment(arity/2,dom,arity/2, + Gecode::IntSet(_minP,_maxP),500); + } + /// %Test whether \a x is solution + virtual bool solution(const Assignment& x) const { + int n = x.size()/2; + for (int i=0; i x[j]) && (x[j]+x[n+j] > x[i])) + return false; + return true; + } + /// Post constraint on \a x + virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { + Gecode::IntVarArgs s(x.size()/2); + Gecode::IntVarArgs px(x.slice(x.size()/2)); + Gecode::IntVarArgs e(home,x.size()/2, + Gecode::Int::Limits::min, + Gecode::Int::Limits::max); + for (int i=s.size(); i--;) { + s[i] = expr(home, off+x[i]); + rel(home, s[i]+px[i] == e[i]); + rel(home, _minP <= px[i]); + rel(home, _maxP >= px[i]); + } + Gecode::unary(home, s, px, e, ipl); + } + }; - /// %Test for unary constraint with optional tasks - class OptFlexUnary : public Test { - protected: - /// Minimum processing time - int _minP; - /// Maximum processing time - int _maxP; - /// Offset for start times - int off; - /// Thereshold for taking a task as optional - int l; - /// Get a reasonable maximal start time - static int st(const Gecode::IntArgs& p) { - int t = 0; - for (int i=p.size(); i--; ) - t += p[i]; - return t; - } - public: - /// Create and register test - OptFlexUnary(int n, int minP, int maxP, int o) - : Test("Unary::Opt::Flex::"+str(o)+"::"+str(n)+"::" - +str(minP)+"::"+str(maxP), - 3*n,0,n*maxP), _minP(minP), _maxP(maxP), off(o), - l(n*maxP/2) { - testsearch = false; - testfix = false; - contest = CTL_NONE; - } - /// Create and register initial assignment - virtual Assignment* assignment(void) const { - return new RandomMixAssignment(2*(arity/3),dom,arity/3, - Gecode::IntSet(_minP,_maxP),500); - } - /// %Test whether \a x is solution - virtual bool solution(const Assignment& x) const { - int n = x.size() / 3; - for (int i=0; i l) - for (int j=i+1; j l) - if ((x[i]+x[2*n+i] > x[j]) && (x[j]+x[2*n+j] > x[i])) - return false; - return true; - } - /// Post constraint on \a x - virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { - int n=x.size() / 3; + /// %Test for unary constraint with optional tasks + class OptFlexUnary : public Test { + protected: + /// Minimum processing time + int _minP; + /// Maximum processing time + int _maxP; + /// Offset for start times + int off; + /// Threshold for taking a task as optional + int l; + /// Get a reasonable maximal start time + static int st(const Gecode::IntArgs& p) { + int t = 0; + for (int i=p.size(); i--; ) + t += p[i]; + return t; + } + public: + /// Create and register test + OptFlexUnary(int n, int minP, int maxP, int o, Gecode::IntPropLevel ipl0) + : Test("Unary::Opt::Flex::"+str(o)+"::"+str(n)+"::" + +str(minP)+"::"+str(maxP)+"::"+str(ipl0), + 3*n,0,n*maxP,false,ipl0), _minP(minP), _maxP(maxP), off(o), + l(n*maxP/2) { + testsearch = false; + testfix = false; + contest = CTL_NONE; + } + /// Create and register initial assignment + virtual Assignment* assignment(void) const { + return new RandomMixAssignment(2*(arity/3),dom,arity/3, + Gecode::IntSet(_minP,_maxP),500); + } + /// %Test whether \a x is solution + virtual bool solution(const Assignment& x) const { + int n = x.size() / 3; + for (int i=0; i l) + for (int j=i+1; j l) + if ((x[i]+x[2*n+i] > x[j]) && (x[j]+x[2*n+j] > x[i])) + return false; + return true; + } + /// Post constraint on \a x + virtual void post(Gecode::Space& home, Gecode::IntVarArray& x) { + int n=x.size() / 3; - Gecode::IntVarArgs s(n); - Gecode::IntVarArgs px(n); - Gecode::IntVarArgs e(home,n, - Gecode::Int::Limits::min, - Gecode::Int::Limits::max); - for (int i=n; i--;) { - s[i] = expr(home, off+x[i]); - px[i] = x[2*n+i]; - rel(home, s[i]+px[i] == e[i]); - rel(home, _minP <= px[i]); - rel(home, _maxP >= px[i]); - } - Gecode::BoolVarArgs m(n); - for (int i=0; i l)); - Gecode::unary(home, s, px, e, m); - } - }; + Gecode::IntVarArgs s(n); + Gecode::IntVarArgs px(n); + Gecode::IntVarArgs e(home,n, + Gecode::Int::Limits::min, + Gecode::Int::Limits::max); + for (int i=n; i--;) { + s[i] = expr(home, off+x[i]); + px[i] = x[2*n+i]; + rel(home, s[i]+px[i] == e[i]); + rel(home, _minP <= px[i]); + rel(home, _maxP >= px[i]); + } + Gecode::BoolVarArgs m(n); + for (int i=0; i l)); + Gecode::unary(home, s, px, e, m, ipl); + } + }; - Gecode::IntArgs p1(4, 2,2,2,2); - ManFixPUnary mfu10(p1,0); - ManFixPUnary mfu1i(p1,Gecode::Int::Limits::min); - OptFixPUnary ofu10(p1,0); - OptFixPUnary ofu1i(p1,Gecode::Int::Limits::min); - ManFlexUnary mflu10(4,0,2,0); - ManFlexUnary mflu1i(4,0,2,Gecode::Int::Limits::min); - ManFlexUnary mflu101(4,1,3,0); - ManFlexUnary mflu1i1(4,1,3,Gecode::Int::Limits::min); - OptFlexUnary oflu10(4,0,2,0); - OptFlexUnary oflu1i(4,0,2,Gecode::Int::Limits::min); + /// Help class to create and register tests + class Create { + public: + /// Perform creation and registration + Create(void) { + using namespace Gecode; + IntArgs p1(4, 2,2,2,2); + IntArgs p10(5, 2,2,0,2,2); + IntArgs p2(4, 4,3,3,5); + IntArgs p20(6, 4,0,3,3,0,5); + IntArgs p3(6, 4,2,9,3,7,5); + IntArgs p30(8, 4,0,2,9,3,7,5,0); - Gecode::IntArgs p10(5, 2,2,0,2,2); - ManFixPUnary mfu010(p10,0); - ManFixPUnary mfu01i(p10,Gecode::Int::Limits::min); - OptFixPUnary ofu010(p10,0); - OptFixPUnary ofu01i(p10,Gecode::Int::Limits::min); - ManFlexUnary mflu010(5,0,2,0); - ManFlexUnary mflu01i(5,0,2,Gecode::Int::Limits::min); - OptFlexUnary oflu010(5,0,2,0); - OptFlexUnary oflu01i(5,0,2,Gecode::Int::Limits::min); + for (IntPropBasicAdvanced ipba; ipba(); ++ipba) { + (void) new ManFixPUnary(p1,0,ipba.ipl()); + (void) new ManFixPUnary(p1,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFixPUnary(p1,0,ipba.ipl()); + (void) new OptFixPUnary(p1,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(4,0,2,0,ipba.ipl()); + (void) new ManFlexUnary(4,0,2,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(4,1,3,0,ipba.ipl()); + (void) new ManFlexUnary(4,1,3,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFlexUnary(4,0,2,0,ipba.ipl()); + (void) new OptFlexUnary(4,0,2,Gecode::Int::Limits::min,ipba.ipl()); - Gecode::IntArgs p2(4, 4,3,3,5); - ManFixPUnary mfu20(p2,0); - ManFixPUnary mfu2i(p2,Gecode::Int::Limits::min); - OptFixPUnary ofu20(p2,0); - OptFixPUnary ofu2i(p2,Gecode::Int::Limits::min); - ManFlexUnary mflu20(4,3,5,0); - ManFlexUnary mflu2i(4,3,5,Gecode::Int::Limits::min); - OptFlexUnary oflu20(4,3,5,0); - OptFlexUnary oflu2i(4,3,5,Gecode::Int::Limits::min); + (void) new ManFixPUnary(p10,0,ipba.ipl()); + (void) new ManFixPUnary(p10,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFixPUnary(p10,0,ipba.ipl()); + (void) new OptFixPUnary(p10,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(5,0,2,0,ipba.ipl()); + (void) new ManFlexUnary(5,0,2,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFlexUnary(5,0,2,0,ipba.ipl()); + (void) new OptFlexUnary(5,0,2,Gecode::Int::Limits::min,ipba.ipl()); - Gecode::IntArgs p20(6, 4,0,3,3,0,5); - ManFixPUnary mfu020(p20,0); - ManFixPUnary mfu02i(p20,Gecode::Int::Limits::min); - OptFixPUnary ofu020(p20,0); - OptFixPUnary ofu02i(p20,Gecode::Int::Limits::min); - ManFlexUnary mflu020(6,0,5,0); - ManFlexUnary mflu02i(6,0,5,Gecode::Int::Limits::min); - OptFlexUnary oflu020(6,0,5,0); - OptFlexUnary oflu02i(6,0,5,Gecode::Int::Limits::min); + (void) new ManFixPUnary(p2,0,ipba.ipl()); + (void) new ManFixPUnary(p2,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFixPUnary(p2,0,ipba.ipl()); + (void) new OptFixPUnary(p2,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(4,3,5,0,ipba.ipl()); + (void) new ManFlexUnary(4,3,5,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFlexUnary(4,3,5,0,ipba.ipl()); + (void) new OptFlexUnary(4,3,5,Gecode::Int::Limits::min,ipba.ipl()); - Gecode::IntArgs p3(6, 4,2,9,3,7,5); - ManFixPUnary mfu30(p3,0); - ManFixPUnary mfu3i(p3,Gecode::Int::Limits::min); - OptFixPUnary ofu30(p3,0); - OptFixPUnary ofu3i(p3,Gecode::Int::Limits::min); - ManFlexUnary mflu30(6,2,7,0); - ManFlexUnary mflu3i(6,2,7,Gecode::Int::Limits::min); - OptFlexUnary oflu30(6,2,7,0); - OptFlexUnary oflu3i(6,2,7,Gecode::Int::Limits::min); + (void) new ManFixPUnary(p20,0,ipba.ipl()); + (void) new ManFixPUnary(p20,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFixPUnary(p20,0,ipba.ipl()); + (void) new OptFixPUnary(p20,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(6,0,5,0,ipba.ipl()); + (void) new ManFlexUnary(6,0,5,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFlexUnary(6,0,5,0,ipba.ipl()); + (void) new OptFlexUnary(6,0,5,Gecode::Int::Limits::min,ipba.ipl()); - Gecode::IntArgs p30(8, 4,0,2,9,3,7,5,0); - ManFixPUnary mfu030(p30,0); - ManFixPUnary mfu03i(p30,Gecode::Int::Limits::min); - OptFixPUnary ofu030(p30,0); - OptFixPUnary ofu03i(p30,Gecode::Int::Limits::min); - ManFlexUnary mflu030(8,0,9,0); - ManFlexUnary mflu03i(8,0,9,Gecode::Int::Limits::min); - OptFlexUnary oflu030(8,0,9,0); - OptFlexUnary oflu03i(8,0,9,Gecode::Int::Limits::min); + (void) new ManFixPUnary(p3,0,ipba.ipl()); + (void) new ManFixPUnary(p3,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFixPUnary(p3,0,ipba.ipl()); + (void) new OptFixPUnary(p3,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(6,2,7,0,ipba.ipl()); + (void) new ManFlexUnary(6,2,7,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFlexUnary(6,2,7,0,ipba.ipl()); + (void) new OptFlexUnary(6,2,7,Gecode::Int::Limits::min,ipba.ipl()); - //@} + (void) new ManFixPUnary(p30,0,ipba.ipl()); + (void) new ManFixPUnary(p30,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFixPUnary(p30,0,ipba.ipl()); + (void) new OptFixPUnary(p30,Gecode::Int::Limits::min,ipba.ipl()); + (void) new ManFlexUnary(8,0,9,0,ipba.ipl()); + (void) new ManFlexUnary(8,0,9,Gecode::Int::Limits::min,ipba.ipl()); + (void) new OptFlexUnary(8,0,9,0,ipba.ipl()); + (void) new OptFlexUnary(8,0,9,Gecode::Int::Limits::min,ipba.ipl()); + } + } + }; - } -}} + Create c; + //@} + + +}}} // STATISTICS: test-int diff --git a/test/int/unshare.cpp b/test/int/unshare.cpp index 7c96601004..921f3663ad 100755 --- a/test/int/unshare.cpp +++ b/test/int/unshare.cpp @@ -53,8 +53,8 @@ namespace Test { namespace Int { class Int : public Test { public: /// Create and register test - Int(Gecode::IntConLevel icl) - : Test("Unshare::Int::"+str(icl),9,-1,1,false,icl) {} + Int(Gecode::IntPropLevel ipl) + : Test("Unshare::Int::"+str(ipl),9,-1,1,false,ipl) {} /// %Test whether \a x is solution virtual bool solution(const Assignment& x) const { return ((x[0] == x[3]) && @@ -66,9 +66,9 @@ namespace Test { namespace Int { using namespace Gecode; IntVarArgs y(6); y[0]=x[0]; y[1]=y[3]=x[1]; y[2]=y[4]=y[5]=x[2]; - unshare(home, y, icl); + unshare(home, y, ipl); for (int i=0; i<6; i++) - rel(home, y[i], IRT_EQ, x[3+i], ICL_DOM); + rel(home, y[i], IRT_EQ, x[3+i], IPL_DOM); } }; @@ -97,8 +97,8 @@ namespace Test { namespace Int { } }; - Int i_bnd(Gecode::ICL_BND); - Int i_dom(Gecode::ICL_DOM); + Int i_bnd(Gecode::IPL_BND); + Int i_dom(Gecode::IPL_DOM); Bool b; //@} diff --git a/test/ldsb.cpp b/test/ldsb.cpp index 28861c02e6..414d28ceca 100644 --- a/test/ldsb.cpp +++ b/test/ldsb.cpp @@ -196,7 +196,7 @@ namespace Test { namespace LDSB { virtual IntSetArgs* expectedSolutions(void) { return NULL; } }; #endif - + /// %Test for %LDSB infrastructure template class LDSB : public Base { @@ -250,7 +250,7 @@ namespace Test { namespace LDSB { } }; #endif - + // Test cases /// %Test for variable symmetry @@ -263,12 +263,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries syms; IntArgs indices(4, 0,1,2,3); syms << VariableSymmetry(xs, indices); - distinct(h, xs); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); + distinct(home, xs); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -289,11 +289,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries syms; syms << VariableSymmetry(xs); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -314,11 +314,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries syms; IntArgs indices(4, 0,1,2,3); syms << VariableSymmetry(xs); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -373,11 +373,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries syms; - distinct(h, xs); + distinct(home, xs); syms << VariableSymmetry(IntVarArgs() << xs[0] << xs[1]); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -409,13 +409,13 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 2; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; IntVarArgs symvars; symvars << xs[0]; s << VariableSymmetry(symvars); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -441,13 +441,13 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); - Matrix m(xs, 4, 1); - Symmetries s; - s << VariableSymmetry(m.slice(0,2, 0,1)); - s << VariableSymmetry(m.slice(2,4, 0,1)); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); + Matrix m(xs, 4, 1); + Symmetries s; + s << VariableSymmetry(m.slice(0,2, 0,1)); + s << VariableSymmetry(m.slice(2,4, 0,1)); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -473,11 +473,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 2, 3); Symmetries s; s << rows_interchange(m); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -523,11 +523,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 2, 3); Symmetries s; s << columns_interchange(m); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -583,12 +583,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 2, 3); Symmetries s; s << rows_interchange(m); s << columns_interchange(m); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -628,11 +628,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 1, 4); Symmetries s; s << rows_reflect(m); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -663,18 +663,18 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 3, 4); // The values in the first column are distinct. - distinct(h, m.col(0)); + distinct(home, m.col(0)); // Each row sums to 3. for (int i = 0 ; i < 4 ; ++i) - linear(h, m.row(i), IRT_EQ, 3); + linear(home, m.row(i), IRT_EQ, 3); // Rows are interchangeable. Symmetries s; s << VariableSequenceSymmetry(xs, 3); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -722,16 +722,16 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 3, 4); // The values in the first column are distinct. - distinct(h, m.col(0)); + distinct(home, m.col(0)); // Each row sums to 3. for (int i = 0 ; i < nrows ; ++i) - linear(h, m.row(i), IRT_EQ, 3); + linear(home, m.row(i), IRT_EQ, 3); Symmetries s; - + IntArgs a = IntArgs::create(n, 0); // Rows are interchangeable. s << VariableSequenceSymmetry(xs, 3); @@ -742,7 +742,7 @@ namespace Test { namespace LDSB { symvars << m(1,i) << m(2,i); s << VariableSymmetry(symvars); } - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -766,13 +766,13 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 6; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - rel(h, xs[0] + xs[1] == 6); + static void setup(Home home, IntVarArray& xs) { + rel(home, xs[0] + xs[1] == 6); // Values 0,1,2 are symmetric with 6,5,4. IntArgs values(6, 0,1,2, 6,5,4); Symmetries s; s << ValueSequenceSymmetry(values, 3); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -796,7 +796,7 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 8; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { TupleSet tuples; tuples.add(IntArgs(3, 1,1,1)); tuples.add(IntArgs(3, 4,4,4)); @@ -808,13 +808,13 @@ namespace Test { namespace LDSB { tuples.add(IntArgs(3, 6,7,2)); tuples.add(IntArgs(3, 6,7,5)); tuples.finalize(); - extensional(h, xs, tuples); - + extensional(home, xs, tuples); + // Values 0,1,2 are symmetric with 3,4,5, and with 6,7,8. IntArgs values(9, 0,1,2, 3,4,5, 6,7,8); Symmetries s; s << ValueSequenceSymmetry(values, 3); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -836,12 +836,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 6; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - rel(h, xs[0] + xs[1] == 6); + static void setup(Home home, IntVarArray& xs) { + rel(home, xs[0] + xs[1] == 6); Symmetries s; // Values 0,1,2 are symmetric with 6,5,4. s << values_reflect(0,6); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MED(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MED(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -865,12 +865,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; IntArgs indices(4, 0,1,2,3); s << ValueSymmetry(indices); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -891,11 +891,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; s << ValueSymmetry(xs[0]); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -916,11 +916,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; s << ValueSymmetry(xs[0]); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MAX(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MAX(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -941,11 +941,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries s; IntArgs indices(4, 0,1,2,3); s << ValueSymmetry(indices); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -980,10 +980,10 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries s; s << ValueSymmetry(xs[0]); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1018,12 +1018,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; IntArgs indices(2, 0,1); s << ValueSymmetry(indices); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1055,12 +1055,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 2; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; IntArgs indices(1, 0); s << ValueSymmetry(indices); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1086,14 +1086,14 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; IntArgs indices0(2, 0,1); IntArgs indices1(2, 2,3); s << ValueSymmetry(indices0); s << ValueSymmetry(indices1); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1119,11 +1119,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries s; s << VariableSymmetry(xs); s << ValueSymmetry(IntArgs::create(4,0)); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1235,17 +1235,17 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { TupleSet t; t.add(IntArgs(2, 0,0)); t.add(IntArgs(2, 1,1)); t.finalize(); IntVarArgs va; va << xs[0] << xs[2]; - extensional(h, va, t); + extensional(home, va, t); Symmetries syms; syms << VariableSequenceSymmetry(xs, 2); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1262,11 +1262,11 @@ namespace Test { namespace LDSB { // we know that symmetry is active and we can post x[3]!=0. If // it doesn't, we don't use the symmetry and we find a solution // where x[3]=0. - - // expected.push_back(IntArgs(4, 0,1,0,0)); - + + // expected.push_back(IntArgs(4, 0,1,0,0)); + expected.push_back(IntArgs(4, 0,1,0,1)); - + expected.push_back(IntArgs(4, 1,0,1,0)); expected.push_back(IntArgs(4, 1,0,1,1)); expected.push_back(IntArgs(4, 1,1,1,1)); @@ -1290,21 +1290,21 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries syms; IntArgs indices(4, 0,1,2,3); syms << VariableSymmetry(xs, indices); - distinct(h, xs); + distinct(home, xs); // This redundant constraint is to trick the variable // heuristic. - rel(h, xs[1] != xs[2]); + rel(home, xs[1] != xs[2]); // xs[1] and xs[2] have higher degree than the others, so they // are considered first. xs[2] is higher than x[1] by the merit // function, so it is assigned first. Now all remaining // variables have the same degree, so they are searched in // reverse order (according to the merit function). So, the // solution found is {3, 2, 0, 1}. - branch(h, xs, tiebreak(INT_VAR_DEGREE_MAX(), INT_VAR_MERIT_MAX(position)), INT_VAL_MIN(), syms); + branch(home, xs, tiebreak(INT_VAR_DEGREE_MAX(), INT_VAR_MERIT_MAX(position)), INT_VAL_MIN(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1347,10 +1347,10 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, SetVarArray& xs) { + static void setup(Home home, SetVarArray& xs) { Symmetries syms; syms << VariableSymmetry(xs); - branch(h, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); + branch(home, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1397,10 +1397,10 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, SetVarArray& xs) { + static void setup(Home home, SetVarArray& xs) { Symmetries syms; syms << ValueSymmetry(IntArgs(2, 0,1)); - branch(h, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); + branch(home, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1436,12 +1436,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 4; /// Setup problem constraints and symmetries - static void setup(Home h, SetVarArray& xs) { + static void setup(Home home, SetVarArray& xs) { Symmetries syms; syms << ValueSymmetry(IntArgs(4, 1,2,3,4)); for (int i = 0 ; i < 3 ; i++) - cardinality(h, xs[i], 1, 1); - branch(h, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); + cardinality(home, xs[i], 1, 1); + branch(home, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1466,14 +1466,14 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 1; /// Setup problem constraints and symmetries - static void setup(Home h, SetVarArray& xs) { + static void setup(Home home, SetVarArray& xs) { Symmetries syms; syms << VariableSequenceSymmetry(xs,2); - rel(h, xs[0], SOT_INTER, xs[1], SRT_EQ, IntSet::empty); - rel(h, xs[2], SOT_INTER, xs[3], SRT_EQ, IntSet::empty); + rel(home, xs[0], SOT_INTER, xs[1], SRT_EQ, IntSet::empty); + rel(home, xs[2], SOT_INTER, xs[3], SRT_EQ, IntSet::empty); for (int i = 0 ; i < 4 ; i++) - cardinality(h, xs[i], 1, 1); - branch(h, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); + cardinality(home, xs[i], 1, 1); + branch(home, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1497,11 +1497,11 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 0; /// Setup problem constraints and symmetries - static void setup(Home h, SetVarArray& xs) { + static void setup(Home home, SetVarArray& xs) { Symmetries syms; syms << VariableSequenceSymmetry(xs,2); - rel(h, xs[0], SRT_EQ, xs[2]); - branch(h, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); + rel(home, xs[0], SRT_EQ, xs[2]); + branch(home, xs, SET_VAR_NONE(), SET_VAL_MIN_INC(), syms); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1525,7 +1525,7 @@ namespace Test { namespace LDSB { // expected.push_back(ISA(4, -1, -1,0,-1, -1)); // expected.push_back(ISA(4, -1, -1, -1,0,-1)); expected.push_back(ISA(4, -1, -1, -1, -1)); - + return expected; } }; @@ -1540,20 +1540,20 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 6; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Matrix m(xs, 3, 2); - distinct(h, xs); - rel(h, abs(m(0,0)-m(1,0))==1); - rel(h, abs(m(0,1)-m(1,1))==1); - rel(h, abs(m(1,0)-m(2,0))==1); - rel(h, abs(m(1,1)-m(2,1))==1); + distinct(home, xs); + rel(home, abs(m(0,0)-m(1,0))==1); + rel(home, abs(m(0,1)-m(1,1))==1); + rel(home, abs(m(1,0)-m(2,0))==1); + rel(home, abs(m(1,1)-m(2,1))==1); Symmetries s; s << values_reflect(l, u); s << rows_interchange(m); s << columns_reflect(m); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1577,10 +1577,10 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { + static void setup(Home home, IntVarArray& xs) { Symmetries s; s << values_reflect(l, u); - branch(h, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_NONE(), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { @@ -1608,12 +1608,12 @@ namespace Test { namespace LDSB { /// Upper bound of values static const int u = 3; /// Setup problem constraints and symmetries - static void setup(Home h, IntVarArray& xs) { - distinct(h, xs); + static void setup(Home home, IntVarArray& xs) { + distinct(home, xs); Symmetries s; s << VariableSymmetry(xs); s << ValueSymmetry(IntArgs::create(4,0)); - branch(h, xs, INT_VAR_ACTIVITY_MIN(0.8), INT_VAL_MIN(), s); + branch(home, xs, INT_VAR_ACTIVITY_MIN(0.8), INT_VAL_MIN(), s); } /// Compute list of expected solutions static std::vector expectedSolutions(void) { diff --git a/test/nogoods.cpp b/test/nogoods.cpp index 690a221108..664af4e27a 100755 --- a/test/nogoods.cpp +++ b/test/nogoods.cpp @@ -52,7 +52,7 @@ namespace Test { using namespace Gecode; /// A dummy function for branching - void dummy(Space& home) { + void dummy(Space&) { } /// Example for testing integer no-goods @@ -63,11 +63,11 @@ namespace Test { /// Position of queens on boards IntVarArray q; /// The actual problem - Queens(IntValBranch ivb, bool assign, bool null) + Queens(IntValBranch ivb, bool assign, bool null) : q(*this,n,0,n-1) { - distinct(*this, IntArgs::create(n,0,1), q, ICL_VAL); - distinct(*this, IntArgs::create(n,0,-1), q, ICL_VAL); - distinct(*this, q, ICL_VAL); + distinct(*this, IntArgs::create(n,0,1), q, IPL_VAL); + distinct(*this, IntArgs::create(n,0,-1), q, IPL_VAL); + distinct(*this, q, IPL_VAL); if (assign) { IntVar x(*this,0,1); Gecode::assign(*this, x, INT_ASSIGN_MIN()); } @@ -142,7 +142,7 @@ namespace Test { SetVarArgs cx(x.size()); for (int i=x.size(); i--;) cx[i] = expr(*this, -x[i]); - + for (int i=0; i e(m,o); + Search::Engine* e = Search::dfs(m,o); while (true) { - Model* s = e.next(); + Model* s = static_cast(e->next()); delete s; - if (!e.stopped()) + if (!e->stopped()) break; // Add no-goods - e.nogoods().post(*m); + e->nogoods().post(*m); ns.limit(ns.limit()+Model::nodeinc()); } + delete e; } // Compare whether the a or the same solution is found with no-goods Model* s_nogoods = dfs(m); - bool ok = ((s_nogoods != NULL) && + bool ok = ((s_nogoods != NULL) && ((t != 1) || s_plain->same(*s_nogoods))); delete m; - delete s_nogoods; + delete s_nogoods; delete s_plain; - + return ok; } }; diff --git a/test/region.cpp b/test/region.cpp new file mode 100755 index 0000000000..8e9a15e993 --- /dev/null +++ b/test/region.cpp @@ -0,0 +1,86 @@ +/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ +/* + * Main authors: + * Christian Schulte + * + * Copyright: + * Christian Schulte, 2009 + * + * Last modified: + * $Date$ by $Author$ + * $Revision$ + * + * This file is part of Gecode, the generic constraint + * development environment: + * http://www.gecode.org + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +#include +#include + +#include "test/test.hh" + +namespace Test { + + /// %Test for %Region memory area + class Region : public Test::Base { + protected: + /// Test space + class TestSpace : public Gecode::Space { + public: + /// Constructor for creation + TestSpace(void) {} + /// Constructor for cloning \a s + TestSpace(bool share, TestSpace& s) : Space(share,s) {} + /// Copy during cloning + virtual Space* copy(bool share) { + return new TestSpace(share,*this); + } + }; + /// How often to repeat + static const int n_repeat = 16; + /// How many blocks to allocate + static const int n_blocks = 64; + /// The size of a block + static const size_t size = Gecode::MemoryConfig::region_area_size * 4; + public: + /// Initialize test + Region(void) : Test::Base("Region") {} + /// Perform actual tests + bool run(void) { + TestSpace* s = new TestSpace; + for (int i=n_repeat; i--; ) { + Gecode::Region r(*s); + for (int j=n_blocks; j--; ) + (void) r.alloc(static_cast(size)); + } + delete s; + return true; + } + }; + + Region r; + +} + +// STATISTICS: test-core diff --git a/test/search.cpp b/test/search.cpp index 214823f553..1da0f93083 100755 --- a/test/search.cpp +++ b/test/search.cpp @@ -84,10 +84,14 @@ namespace Test { /// Verify that this is best solution virtual bool best(void) const = 0; /// Master configuration function that does not restart - virtual bool master(const CRI& cri) { - if (cri.last() != NULL) - constrain(*cri.last()); - return false; + virtual bool master(const MetaInfo& mi) { + if (mi.type() == MetaInfo::RESTART) { + if (mi.last() != NULL) + constrain(*mi.last()); + return false; + } else { + return false; + } } }; @@ -286,15 +290,25 @@ namespace Test { return "Sol"; } /// Rule out that solution is found more than once during restarts - virtual void master(unsigned long int i, const Space* _s, - NoGoods&) { - const HasSolutions* s = static_cast(_s); - if (s != NULL) { - BoolVarArgs b; - for (int i=0; ix[i]); - rel(*this, BOT_AND, b, 0); + virtual bool master(const MetaInfo& mi) { + switch (mi.type()) { + case MetaInfo::RESTART: + if (mi.last() != NULL) { + const HasSolutions* s + = static_cast(mi.last()); + BoolVarArgs b; + for (int i=0; ix[i]); + rel(*this, BOT_AND, b, 0); + } + break; + case MetaInfo::PORTFOLIO: + // Do not kill the brancher! + break; + default: + break; } + return false; } }; @@ -387,6 +401,43 @@ namespace Test { } }; + /// %Test for limited discrepancy search + template + class LDS : public Test { + private: + /// Number of threads + unsigned int t; + public: + /// Initialize test + LDS(HowToBranch htb1, HowToBranch htb2, HowToBranch htb3, + unsigned int t0) + : Test("LDS::"+Model::name()+"::"+ + str(htb1)+"::"+str(htb2)+"::"+str(htb3)+"::"+str(t0), + htb1,htb2,htb3), t(t0) {} + /// Run test + virtual bool run(void) { + Model* m = new Model(htb1,htb2,htb3); + Gecode::Search::FailStop f(2); + Gecode::Search::Options o; + o.threads = t; + o.d_l = 50; + o.stop = &f; + Gecode::LDS lds(m,o); + int n = m->solutions(); + delete m; + while (true) { + Model* s = lds.next(); + if (s != NULL) { + n--; delete s; + } + if ((s == NULL) && !lds.stopped()) + break; + f.limit(f.limit()+2); + } + return n == 0; + } + }; + /// %Test for best solution search template class BAB : public Test { @@ -451,8 +502,9 @@ namespace Test { Gecode::Search::Options o; o.threads = t; o.stop = &f; + o.d_l = 100; o.cutoff = Gecode::Search::Cutoff::geometric(1,2); - Gecode::RBS rbs(m,o); + Gecode::RBS rbs(m,o); int n = m->solutions(); delete m; while (true) { @@ -468,6 +520,137 @@ namespace Test { } }; + /// %Test for portfolio-based search + template class Engine> + class PBS : public Test { + private: + /// Whether best solution search is used + bool best; + /// Number of assets + unsigned int a; + /// Number of threads + unsigned int t; + public: + /// Initialize test + PBS(const std::string& e, bool b, unsigned int a0, unsigned int t0) + : Test("PBS::"+e+"::"+Model::name()+"::"+str(a0)+"::"+str(t0), + HTB_BINARY,HTB_BINARY,HTB_BINARY), best(b), a(a0), t(t0) {} + /// Run test + virtual bool run(void) { + Model* m = new Model(htb1,htb2,htb3); + Gecode::Search::FailStop f(2); + Gecode::Search::Options o; + o.assets = a; + o.threads = t; + o.d_l = 100; + o.stop = &f; + Gecode::PBS pbs(m,o); + if (best) { + Model* b = NULL; + while (true) { + Model* s = pbs.next(); + if (s != NULL) { + delete b; b=s; + } + if ((s == NULL) && !pbs.stopped()) + break; + f.limit(f.limit()+2); + } + bool ok = (b == NULL) || b->best(); + delete b; + return ok; + } else { + int n = ((t > 1) ? std::min(a,t) : a) * m->solutions(); + delete m; + while (true) { + Model* s = pbs.next(); + if (s != NULL) { + n--; delete s; + } + if ((s == NULL) && !pbs.stopped()) + break; + f.limit(f.limit()+2); + } + return n == 0; + } + } + }; + + /// %Test for portfolio-based search using SEBs + template + class SEBPBS : public Test { + private: + /// Whether best solution search is used + bool best; + /// Number of master threads + unsigned int mt; + /// Number of slave threads + unsigned int st; + public: + /// Initialize test + SEBPBS(const std::string& e, bool b, unsigned int mt0, unsigned int st0) + : Test("PBS::SEB::"+e+"::"+Model::name()+"::"+str(mt0)+"::"+str(st0), + HTB_BINARY,HTB_BINARY,HTB_BINARY), best(b), mt(mt0), st(st0) {} + /// Run test + virtual bool run(void) { + using namespace Gecode; + Model* m = new Model(htb1,htb2,htb3); + Gecode::Search::FailStop f(2); + + Gecode::Search::Options mo; + mo.threads = mt; + mo.d_l = 100; + mo.stop = &f; + + Gecode::Search::Options so; + so.threads = st; + so.d_l = 100; + so.cutoff = Gecode::Search::Cutoff::constant(1000000); + if (best) { + SEBs sebs(3); + sebs[0] = bab(so); + sebs[1] = bab(so); + sebs[2] = rbs(so); + Gecode::PBS pbs(m, sebs, mo); + delete m; + + Model* b = NULL; + while (true) { + Model* s = pbs.next(); + if (s != NULL) { + delete b; b=s; + } + if ((s == NULL) && !pbs.stopped()) + break; + f.limit(f.limit()+2); + } + bool ok = (b == NULL) || b->best(); + delete b; + return ok; + } else { + SEBs sebs(3); + sebs[0] = dfs(so); + sebs[1] = lds(so); + sebs[2] = rbs(so); + Gecode::PBS pbs(m, sebs, mo); + + int n = 3 * m->solutions(); + delete m; + + while (true) { + Model* s = pbs.next(); + if (s != NULL) { + n--; delete s; + } + if ((s == NULL) && !pbs.stopped()) + break; + f.limit(f.limit()+2); + } + return n == 0; + } + } + }; + /// Iterator for branching types class BranchTypes { private: @@ -536,14 +719,25 @@ namespace Test { for (BranchTypes htb3; htb3(); ++htb3) (void) new DFS (htb1.htb(),htb2.htb(),htb3.htb(),c_d, a_d, t); - new DFS(HTB_NONE, HTB_NONE, HTB_NONE, + new DFS(HTB_NONE, HTB_NONE, HTB_NONE, c_d, a_d, t); - new DFS(HTB_NONE, HTB_NONE, HTB_NONE, + new DFS(HTB_NONE, HTB_NONE, HTB_NONE, c_d, a_d, t); - new DFS(HTB_NONE, HTB_NONE, HTB_NONE, + new DFS(HTB_NONE, HTB_NONE, HTB_NONE, c_d, a_d, t); } + // Limited discrepancy search + for (unsigned int t = 1; t<=4; t++) { + for (BranchTypes htb1; htb1(); ++htb1) + for (BranchTypes htb2; htb2(); ++htb2) + for (BranchTypes htb3; htb3(); ++htb3) + (void) new LDS(htb1.htb(),htb2.htb(),htb3.htb() + ,t); + new LDS(HTB_NONE, HTB_NONE, HTB_NONE, t); + new LDS(HTB_NONE, HTB_NONE, HTB_NONE, t); + } + // Best solution search for (unsigned int t = 1; t<=4; t++) for (unsigned int c_d = 1; c_d<10; c_d++) @@ -564,14 +758,40 @@ namespace Test { (HTC_NONE,HTB_NONE,HTB_NONE,HTB_NONE,c_d,a_d,t); } // Restart-based search - for (unsigned int t = 1; t<=4; t++) { + for (unsigned int t=1; t<=4; t++) { (void) new RBS("DFS",t); + (void) new RBS("LDS",t); (void) new RBS("BAB",t); (void) new RBS("DFS",t); + (void) new RBS("LDS",t); (void) new RBS("BAB",t); (void) new RBS("DFS",t); + (void) new RBS("LDS",t); (void) new RBS("BAB",t); } + // Portfolio-based search + for (unsigned int a=1; a<=4; a++) + for (unsigned int t=1; t<=2*a; t++) { + (void) new PBS("DFS",false,a,t); + (void) new PBS("LDS",false,a,t); + (void) new PBS("BAB",true,a,t); + (void) new PBS("DFS",false,a,t); + (void) new PBS("LDS",false,a,t); + (void) new PBS("BAB",true,a,t); + (void) new PBS("DFS",false,a,t); + (void) new PBS("LDS",false,a,t); + (void) new PBS("BAB",true,a,t); + } + // Portfolio-based search using SEBs + for (unsigned int mt=1; mt<=3; mt += 2) + for (unsigned int st=1; st<=2; st++) { + (void) new SEBPBS("BAB",true,mt,st); + (void) new SEBPBS("BAB",true,mt,st); + (void) new SEBPBS("BAB",true,mt,st); + (void) new SEBPBS("DFS+LDS",false,mt,st); + (void) new SEBPBS("DFS+LDS",false,mt,st); + (void) new SEBPBS("DFS+LDS",false,mt,st); + } } }; diff --git a/test/set.cpp b/test/set.cpp index 07b19ea5a3..3fd40fee15 100644 --- a/test/set.cpp +++ b/test/set.cpp @@ -124,7 +124,7 @@ namespace Test { namespace Set { SetTestSpace::SetTestSpace(int n, Gecode::IntSet& d0, int i, SetTest* t, bool log) : d(d0), y(*this, i, d), - withInt(i), r(Gecode::BoolVar(*this, 0, 1),Gecode::RM_EQV), + withInt(i), r(Gecode::BoolVar(*this, 0, 1),Gecode::RM_EQV), reified(false), test(t) { using namespace Gecode; IntSet u(Gecode::Set::Limits::min,Gecode::Set::Limits::max); @@ -144,7 +144,7 @@ namespace Test { namespace Set { SetTestSpace::SetTestSpace(int n, Gecode::IntSet& d0, int i, SetTest* t, Gecode::ReifyMode rm, bool log) : d(d0), x(*this, n, Gecode::IntSet::empty, d), y(*this, i, d), - withInt(i), r(Gecode::BoolVar(*this, 0, 1),rm), + withInt(i), r(Gecode::BoolVar(*this, 0, 1),rm), reified(true), test(t) { if (opt.log && log) { olog << ind(2) << "Initial: x[]=" << x; @@ -153,7 +153,7 @@ namespace Test { namespace Set { olog << std::endl; } } - + SetTestSpace::SetTestSpace(bool share, SetTestSpace& s) : Gecode::Space(share,s), d(s.d), withInt(s.withInt), reified(s.reified), test(s.test) { @@ -164,13 +164,13 @@ namespace Test { namespace Set { b.update(*this, share, sr); r.var(b); r.mode(s.r.mode()); } - - Gecode::Space* + + Gecode::Space* SetTestSpace::copy(bool share) { return new SetTestSpace(share,*this); } - - void + + void SetTestSpace::post(void) { if (reified){ test->post(*this,x,y,r); @@ -183,7 +183,7 @@ namespace Test { namespace Set { } } - bool + bool SetTestSpace::failed(void) { if (opt.log) { olog << ind(3) << "Fixpoint: x[]=" << x @@ -197,7 +197,7 @@ namespace Test { namespace Set { } } - void + void SetTestSpace::rel(int i, Gecode::SetRelType srt, const Gecode::IntSet& is) { if (opt.log) { olog << ind(4) << "x[" << i << "] "; @@ -218,7 +218,7 @@ namespace Test { namespace Set { Gecode::dom(*this, x[i], srt, is); } - void + void SetTestSpace::cardinality(int i, int cmin, int cmax) { if (opt.log) { olog << ind(4) << cmin << " <= #(x[" << i << "]) <= " << cmax @@ -227,7 +227,7 @@ namespace Test { namespace Set { Gecode::cardinality(*this, x[i], cmin, cmax); } - void + void SetTestSpace::rel(int i, Gecode::IntRelType irt, int n) { if (opt.log) { olog << ind(4) << "y[" << i << "] "; @@ -244,7 +244,7 @@ namespace Test { namespace Set { Gecode::rel(*this, y[i], irt, n); } - void + void SetTestSpace::rel(bool sol) { int n = sol ? 1 : 0; assert(reified); @@ -252,8 +252,8 @@ namespace Test { namespace Set { olog << ind(4) << "b = " << n << std::endl; Gecode::rel(*this, r.var(), Gecode::IRT_EQ, n); } - - void + + void SetTestSpace::assign(const SetAssignment& a) { for (int i=a.size(); i--; ) { CountableSetRanges csv(a.lub, a[i]); @@ -268,8 +268,8 @@ namespace Test { namespace Set { return; } } - - bool + + bool SetTestSpace::assigned(void) const { for (int i=x.size(); i--; ) if (!x[i].assigned()) @@ -280,7 +280,7 @@ namespace Test { namespace Set { return true; } - void + void SetTestSpace::removeFromLub(int v, int i, const SetAssignment& a) { using namespace Gecode; SetVarUnknownRanges ur(x[i]); @@ -293,7 +293,22 @@ namespace Test { namespace Set { rel(i, Gecode::SRT_DISJ, Gecode::IntSet(diffV.val(), diffV.val())); } - void + void + SetTestSpace::removeFromLub(int v, int i, const SetAssignment& a, + SetTestSpace& c) { + using namespace Gecode; + SetVarUnknownRanges ur(x[i]); + CountableSetRanges air(a.lub, a[i]); + Gecode::Iter::Ranges::Diff diff(ur, air); + Gecode::Iter::Ranges::ToValues > diffV(diff); + for (int j=0; j inter(ur, air); + Gecode::Iter::Ranges::ToValues > interV(inter); + for (int j=0; jfailed()) { delete c; return false; } - + for (int i=x.size(); i--; ) if (x[i].glbSize() != c->x[i].glbSize() || x[i].lubSize() != c->x[i].lubSize() || @@ -339,7 +369,38 @@ namespace Test { namespace Set { return true; } - bool + bool + SetTestSpace::same(SetTestSpace& c) { + if (opt.log) + olog << ind(3) << "Testing whether enabled space is the same" + << std::endl; + bool f = failed(); + bool cf = c.failed(); + if (f != cf) + return false; + if (f) + return true; + + for (int i=x.size(); i--; ) + if (x[i].glbSize() != c.x[i].glbSize() || + x[i].lubSize() != c.x[i].lubSize() || + x[i].cardMin() != c.x[i].cardMin() || + x[i].cardMax() != c.x[i].cardMax()) + return false; + + for (int i=y.size(); i--; ) + if (y[i].size() != c.y[i].size()) + return false; + + if (reified && (r.var().size() != c.r.var().size())) + return false; + if (opt.log) + olog << ind(3) << "Finished testing whether enabled space is the same" + << std::endl; + return true; + } + + bool SetTestSpace::prune(const SetAssignment& a) { using namespace Gecode; bool setsAssigned = true; @@ -354,7 +415,7 @@ namespace Test { namespace Set { intsAssigned = false; break; } - + // Select variable to be pruned int i; if (intsAssigned) { @@ -364,7 +425,7 @@ namespace Test { namespace Set { } else { i = Base::rand(x.size()+y.size()); } - + if (setsAssigned || i>=x.size()) { if (i>=x.size()) i = i-x.size(); @@ -372,7 +433,7 @@ namespace Test { namespace Set { i = (i+1) % y.size(); } // Prune int var - + // Select mode for pruning switch (Base::rand(3)) { case 0: @@ -427,10 +488,10 @@ namespace Test { namespace Set { CountableSetRanges air2(a.lub, a[i]); Gecode::Iter::Ranges::Inter inter(ur2, air2); - + CountableSetRanges aisizer(a.lub, a[i]); unsigned int aisize = Gecode::Iter::Ranges::size(aisizer); - + // Select mode for pruning switch (Base::rand(5)) { case 0: @@ -475,6 +536,166 @@ namespace Test { namespace Set { return (!Base::fixpoint() || fixprob()); } + bool + SetTestSpace::disabled(const SetAssignment& a, SetTestSpace& c) { + c.disable(); + using namespace Gecode; + bool setsAssigned = true; + for (int j=x.size(); j--; ) + if (!x[j].assigned()) { + setsAssigned = false; + break; + } + bool intsAssigned = true; + for (int j=y.size(); j--; ) + if (!y[j].assigned()) { + intsAssigned = false; + break; + } + + // Select variable to be pruned + int i; + if (intsAssigned) { + i = Base::rand(x.size()); + } else if (setsAssigned) { + i = Base::rand(y.size()); + } else { + i = Base::rand(x.size()+y.size()); + } + + if (setsAssigned || i>=x.size()) { + if (i>=x.size()) + i = i-x.size(); + while (y[i].assigned()) { + i = (i+1) % y.size(); + } + // Prune int var + + // Select mode for pruning + switch (Base::rand(3)) { + case 0: + if (a.ints()[i] < y[i].max()) { + int v=a.ints()[i]+1+ + Base::rand(static_cast(y[i].max()-a.ints()[i])); + assert((v > a.ints()[i]) && (v <= y[i].max())); + rel(i, Gecode::IRT_LE, v); + c.rel(i, Gecode::IRT_LE, v); + } + break; + case 1: + if (a.ints()[i] > y[i].min()) { + int v=y[i].min()+ + Base::rand(static_cast(a.ints()[i]-y[i].min())); + assert((v < a.ints()[i]) && (v >= y[i].min())); + rel(i, Gecode::IRT_GR, v); + c.rel(i, Gecode::IRT_GR, v); + } + break; + default: + int v; + Gecode::Int::ViewRanges it(y[i]); + unsigned int skip = Base::rand(y[i].size()-1); + while (true) { + if (it.width() > skip) { + v = it.min() + skip; + if (v == a.ints()[i]) { + if (it.width() == 1) { + ++it; v = it.min(); + } else if (v < it.max()) { + ++v; + } else { + --v; + } + } + break; + } + skip -= it.width(); + ++it; + } + rel(i, Gecode::IRT_NQ, v); + c.rel(i, Gecode::IRT_NQ, v); + } + c.enable(); + return same(c); + } + while (x[i].assigned()) { + i = (i+1) % x.size(); + } + Gecode::SetVarUnknownRanges ur1(x[i]); + CountableSetRanges air1(a.lub, a[i]); + Gecode::Iter::Ranges::Diff diff(ur1, air1); + Gecode::SetVarUnknownRanges ur2(x[i]); + CountableSetRanges air2(a.lub, a[i]); + Gecode::Iter::Ranges::Inter inter(ur2, air2); + + CountableSetRanges aisizer(a.lub, a[i]); + unsigned int aisize = Gecode::Iter::Ranges::size(aisizer); + + // Select mode for pruning + switch (Base::rand(5)) { + case 0: + if (inter()) { + int v = Base::rand(Gecode::Iter::Ranges::size(inter)); + addToGlb(v, i, a, c); + } + break; + case 1: + if (diff()) { + int v = Base::rand(Gecode::Iter::Ranges::size(diff)); + removeFromLub(v, i, a, c); + } + break; + case 2: + if (x[i].cardMin() < aisize) { + unsigned int newc = x[i].cardMin() + 1 + + Base::rand(aisize - x[i].cardMin()); + assert( newc > x[i].cardMin() ); + assert( newc <= aisize ); + cardinality(i, newc, Gecode::Set::Limits::card); + c.cardinality(i, newc, Gecode::Set::Limits::card); + } + break; + case 3: + if (x[i].cardMax() > aisize) { + unsigned int newc = x[i].cardMax() - 1 - + Base::rand(x[i].cardMax() - aisize); + assert( newc < x[i].cardMax() ); + assert( newc >= aisize ); + cardinality(i, 0, newc); + c.cardinality(i, 0, newc); + } + break; + default: + if (inter()) { + int v = Base::rand(Gecode::Iter::Ranges::size(inter)); + addToGlb(v, i, a, c); + } else { + int v = Base::rand(Gecode::Iter::Ranges::size(diff)); + removeFromLub(v, i, a, c); + } + } + c.enable(); + return same(c); + } + + unsigned int + SetTestSpace::propagators(void) { + return Gecode::PropagatorGroup::all.size(*this); + } + + void + SetTestSpace::enable(void) { + Gecode::PropagatorGroup::all.enable(*this); + } + + void + SetTestSpace::disable(void) { + Gecode::PropagatorGroup::all.disable(*this); + (void) status(); + } + /// Check the test result and handle failed test #define CHECK_TEST(T,M) \ @@ -506,7 +727,6 @@ if (!(T)) { \ olog << ind(1) << "Assignment: " << a << (is_sol ? " (solution)" : " (no solution)") << std::endl; - START_TEST("Assignment (after posting)"); { SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this); @@ -548,6 +768,21 @@ if (!(T)) { \ } delete s; delete sc; } + START_TEST("Assignment (after posting, disable)"); + { + SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + if (is_sol) { + CHECK_TEST(!s->failed(), "Failed on solution"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + } else { + CHECK_TEST(s->failed(), "Solved on non-solution"); + } + delete s; + } START_TEST("Assignment (before posting)"); { SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this); @@ -580,7 +815,27 @@ if (!(T)) { \ } delete s; } - + if (disabled) { + START_TEST("Prune (disable)"); + { + SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this); + SetTestSpace* c = new SetTestSpace(arity,lub,withInt,this); + s->post(); c->post(); + while (!s->failed() && !s->assigned()) + if (!s->disabled(a,*c)) { + problem = "Different result after re-enable"; + delete s; delete c; + goto failed; + } + s->assign(a); c->assign(a); + if (s->failed() != c->failed()) { + problem = "Different failure after re-enable"; + delete s; delete c; + goto failed; + } + delete s; delete c; + } + } if (reified) { START_TEST("Assignment reified (rewrite after post, <=>)"); { @@ -806,11 +1061,62 @@ if (!(T)) { \ } delete s; } + START_TEST("Assignment reified (after posting, <=>, disable)"); + { + SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this,RM_EQV); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + if (is_sol) { + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; + } + START_TEST("Assignment reified (after posting, =>, disable)"); + { + SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this,RM_IMP); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (is_sol) { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } else { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==0, "One on non-solution"); + } + delete s; + } + START_TEST("Assignment reified (after posting, <=, disable)"); + { + SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this,RM_PMI); + s->post(); + s->disable(); + s->assign(a); + s->enable(); + CHECK_TEST(!s->failed(), "Failed"); + CHECK_TEST(s->propagators()==0, "No subsumption"); + if (is_sol) { + CHECK_TEST(s->r.var().assigned(), "Control variable unassigned"); + CHECK_TEST(s->r.var().val()==1, "Zero on solution"); + } else { + CHECK_TEST(!s->r.var().assigned(), "Control variable assigned"); + } + delete s; + } START_TEST("Prune reified, <=>"); { SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this,RM_EQV); s->post(); - while (!s->failed() && + while (!s->failed() && (!s->assigned() || !s->r.var().assigned())) if (!s->prune(a)) { problem = "No fixpoint"; @@ -831,7 +1137,7 @@ if (!(T)) { \ { SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this,RM_IMP); s->post(); - while (!s->failed() && + while (!s->failed() && (!s->assigned() || (!is_sol && !s->r.var().assigned()))) if (!s->prune(a)) { problem = "No fixpoint"; @@ -852,7 +1158,7 @@ if (!(T)) { \ { SetTestSpace* s = new SetTestSpace(arity,lub,withInt,this,RM_PMI); s->post(); - while (!s->failed() && + while (!s->failed() && (!s->assigned() || (is_sol && !s->r.var().assigned()))) if (!s->prune(a)) { problem = "No fixpoint"; diff --git a/test/set.hh b/test/set.hh index dcd7575e94..a8c3473fc8 100644 --- a/test/set.hh +++ b/test/set.hh @@ -193,7 +193,7 @@ namespace Test { class SetTest; - + /// Space for executing set tests class SetTestSpace : public Gecode::Space { public: @@ -211,7 +211,7 @@ namespace Test { bool reified; /// The test currently run SetTest* test; - + /** * \brief Create test space without reification * @@ -256,12 +256,28 @@ namespace Test { bool assigned(void) const; /// Remove value \a v from the upper bound of \a x[i] void removeFromLub(int v, int i, const SetAssignment& a); + /// Remove value \a v from the upper bound of \a x[i] + void removeFromLub(int v, int i, const SetAssignment& a, + SetTestSpace& c); /// Remove value \a v from the lower bound of \a x[i] void addToGlb(int v, int i, const SetAssignment& a); + /// Remove value \a v from the lower bound of \a x[i] + void addToGlb(int v, int i, const SetAssignment& a, + SetTestSpace& c); /// Perform fixpoint computation bool fixprob(void); /// Perform random pruning bool prune(const SetAssignment& a); + /// Return the number of propagators + unsigned int propagators(void); + /// Disable propagators in space and compute fixpoint (make all idle) + void disable(void); + /// Enable propagators in space + void enable(void); + /// Prune values also in a space \a c with disabled propagators, but not those in assignment \a a + bool disabled(const SetAssignment& a, SetTestSpace& c); + /// Check whether propagation is the same as in \a c + bool same(SetTestSpace& c); }; /** @@ -275,16 +291,20 @@ namespace Test { /// Domain of variables (least upper bound) Gecode::IntSet lub; /// Does the constraint also exist as reified constraint - bool reified; + bool reified; /// Number of additional integer variables - int withInt; + int withInt; /// Remove \a v values from the least upper bound of \a x, but not those in \f$\mathrm{a}_i\f$ void removeFromLub(int v, Gecode::SetVar& x, int i, const Gecode::IntSet& a); /// Add \a v values to the greatest lower bound of \a x, but not those in \f$\mathrm{a}_i\f$ void addToGlb(int v, Gecode::SetVar& x, int i, const Gecode::IntSet& a); + /// Generate a set assignment SetAssignment* make_assignment(void); + protected: + /// Whether to perform full tests for disabled propagators + bool disabled; public: /** * \brief Constructor @@ -295,7 +315,8 @@ namespace Test { */ SetTest(const std::string& s, int a, const Gecode::IntSet& d, bool r=false, int w=0) - : Base("Set::"+s), arity(a), lub(d), reified(r), withInt(w) {} + : Base("Set::"+s), arity(a), lub(d), reified(r), withInt(w), + disabled(true) {} /// Check for solution virtual bool solution(const SetAssignment&) const = 0; /// Post propagator diff --git a/test/set/construct.cpp b/test/set/construct.cpp index f586fdca55..97c1c75171 100644 --- a/test/set/construct.cpp +++ b/test/set/construct.cpp @@ -213,7 +213,7 @@ namespace Test { namespace Set { con(home, IntSet(1,4), 1,3); con(home, 1,4, IntSet(1,3)); con(home, IntSet(1,4), IntSet(1,3)); - + con(home, IntSet::empty, 2, 4, 0, 10, false); } }; diff --git a/test/set/dom.cpp b/test/set/dom.cpp index f96d4cbca8..99442b6d14 100644 --- a/test/set/dom.cpp +++ b/test/set/dom.cpp @@ -98,8 +98,8 @@ namespace Test { namespace Set { IntSet is; public: /// Create and register test - DomRange(SetRelType srt0, int n) : - SetTest("Dom::Range::"+str(srt0)+"::"+str(n),n,ds_33,(n == 1)), + DomRange(SetRelType srt0, int n) : + SetTest("Dom::Range::"+str(srt0)+"::"+str(n),n,ds_33,(n == 1)), srt(srt0), is(srt == Gecode::SRT_CMPL ? ds_33c: ds_33) {} /// %Test whether \a x is solution virtual bool solution(const SetAssignment& x) const { @@ -107,27 +107,27 @@ namespace Test { namespace Set { CountableSetRanges xr(x.lub, x[i]); IntSetRanges dr(is); switch (srt) { - case SRT_EQ: + case SRT_EQ: if (!Iter::Ranges::equal(xr, dr)) return false; break; - case SRT_LQ: + case SRT_LQ: if (!((!xr()) || in(minSymDiff(x,i,is),dr,true))) return false; break; - case SRT_LE: + case SRT_LE: if (!(xr() ? in(minSymDiff(x,i,is),dr) : dr())) return false; break; - case SRT_GQ: + case SRT_GQ: if (!((!dr()) || in(minSymDiff(x,i,is),xr,true))) return false; break; - case SRT_GR: + case SRT_GR: if (!(dr() ? in(minSymDiff(x,i,is),xr) : xr())) return false; break; - case SRT_NQ: + case SRT_NQ: if (Iter::Ranges::equal(xr, dr)) return false; break; @@ -135,7 +135,7 @@ namespace Test { namespace Set { if (!Iter::Ranges::subset(xr, dr)) return false; break; - case SRT_SUP: + case SRT_SUP: if (!Iter::Ranges::subset(dr, xr)) return false; break; @@ -178,8 +178,8 @@ namespace Test { namespace Set { Gecode::SetRelType srt; public: /// Create and register test - DomIntRange(Gecode::SetRelType srt0, int n) - : SetTest("Dom::IntRange::"+str(srt0)+"::"+str(n),1,ds_33,n==1), + DomIntRange(Gecode::SetRelType srt0, int n) + : SetTest("Dom::IntRange::"+str(srt0)+"::"+str(n),1,ds_33,n==1), srt(srt0) {} /// %Test whether \a x is solution virtual bool solution(const SetAssignment& x) const { @@ -188,11 +188,11 @@ namespace Test { namespace Set { IntSet is(-3,-1); IntSetRanges dr(is); switch (srt) { - case SRT_EQ: + case SRT_EQ: if (!Iter::Ranges::equal(xr, dr)) return false; break; - case SRT_LQ: + case SRT_LQ: if (!((!xr()) || in(minSymDiff(x,i,is),dr,true))) return false; break; @@ -259,8 +259,8 @@ namespace Test { namespace Set { Gecode::SetRelType srt; public: /// Create and register test - DomInt(Gecode::SetRelType srt0, int n) : - SetTest("Dom::Int::"+str(srt0)+"::"+str(n),n,ds_33,n==1), + DomInt(Gecode::SetRelType srt0, int n) : + SetTest("Dom::Int::"+str(srt0)+"::"+str(n),n,ds_33,n==1), srt(srt0) {} /// %Test whether \a x is solution virtual bool solution(const SetAssignment& x) const { @@ -305,7 +305,7 @@ namespace Test { namespace Set { { Gecode::Iter::Ranges::Inter inter(xr, dr); - + if (inter()) return false; break; @@ -313,7 +313,7 @@ namespace Test { namespace Set { case SRT_CMPL: { Gecode::Set::RangesCompl drc(dr); - + if (!Iter::Ranges::equal(xr,drc)) return false; break; @@ -343,8 +343,8 @@ namespace Test { namespace Set { Gecode::IntSet is; public: /// Create and register test - DomDom(Gecode::SetRelType srt0, int n) : - SetTest("Dom::Dom::"+str(srt0)+"::"+str(n),n,d1,(n == 1)), + DomDom(Gecode::SetRelType srt0, int n) : + SetTest("Dom::Dom::"+str(srt0)+"::"+str(n),n,d1,(n == 1)), srt(srt0), is(srt == Gecode::SRT_CMPL ? d1c: d1) {} /// %Test whether \a x is solution virtual bool solution(const SetAssignment& x) const { @@ -352,7 +352,7 @@ namespace Test { namespace Set { CountableSetRanges xr(x.lub, x[i]); IntSetRanges dr(is); switch (srt) { - case SRT_EQ: + case SRT_EQ: if (!Iter::Ranges::equal(xr, dr)) return false; break; @@ -360,27 +360,27 @@ namespace Test { namespace Set { if (!((!xr()) || in(minSymDiff(x,i,is),dr,true))) return false; break; - case SRT_LE: + case SRT_LE: if (!(xr() ? in(minSymDiff(x,i,is),dr) : dr())) return false; break; - case SRT_GQ: + case SRT_GQ: if (!((!dr()) || in(minSymDiff(x,i,is),xr,true))) return false; break; - case SRT_GR: + case SRT_GR: if (!(dr() ? in(minSymDiff(x,i,is),xr) : xr())) return false; break; - case SRT_NQ: + case SRT_NQ: if (Iter::Ranges::equal(xr, dr)) return false; break; - case SRT_SUB: + case SRT_SUB: if (!Iter::Ranges::subset(xr, dr)) return false; break; - case SRT_SUP: + case SRT_SUP: if (!Iter::Ranges::subset(dr, xr)) return false; break; diff --git a/test/set/element.cpp b/test/set/element.cpp index 28c07e3d02..5bd47d53b3 100644 --- a/test/set/element.cpp +++ b/test/set/element.cpp @@ -78,13 +78,13 @@ namespace Test { namespace Set { } sel[i].init(x.lub, x[selector.val()]); } - + FakeSpace* fs = new FakeSpace; bool ret; { Region r(*fs); Iter::Ranges::NaryUnion u(r, sel, selected); - + CountableSetRanges z(x.lub, x[4]); ret = Iter::Ranges::equal(u, z); } @@ -227,7 +227,7 @@ namespace Test { namespace Set { { Region r(*fs); Iter::Ranges::NaryInter u(r,sel, selected); - + CountableSetRanges z(x.lub, x[4]); ret = Iter::Ranges::equal(u, z); } @@ -240,7 +240,7 @@ namespace Test { namespace Set { SetVarArgs xs(x.size()-2); for (int i=x.size()-2; i--;) xs[i]=x[i]; - Gecode::element(home, SOT_INTER, xs, x[x.size()-2], x[x.size()-1], + Gecode::element(home, SOT_INTER, xs, x[x.size()-2], x[x.size()-1], ds_12); } }; @@ -275,7 +275,7 @@ namespace Test { namespace Set { CountableSetRanges xicard(x.lub, x[selector.val()]); cardsum += Iter::Ranges::size(xicard); } - + bool ret; FakeSpace* fs = new FakeSpace; { @@ -360,7 +360,7 @@ namespace Test { namespace Set { public: /// Create and register test MatrixIntSet(void) - : SetTest("Element::Matrix::IntSet",1,IntSet(0,3),false,2), + : SetTest("Element::Matrix::IntSet",1,IntSet(0,3),false,2), tm(4) { tm[0]=IntSet(0,0); tm[1]=IntSet(1,1); tm[2]=IntSet(2,2); tm[3]=IntSet(3,3); diff --git a/test/set/exec.cpp b/test/set/exec.cpp index 0881f2a903..0ae7d8e60a 100644 --- a/test/set/exec.cpp +++ b/test/set/exec.cpp @@ -51,7 +51,7 @@ namespace Test { namespace Set { class Wait : public SetTest { public: /// Create and register test - Wait(int n) + Wait(int n) : SetTest("Wait::"+str(n),n,Gecode::IntSet(0,n),false) {} /// Check whether \a x is solution virtual bool solution(const SetAssignment& x) const { diff --git a/test/set/mm-set.cpp b/test/set/mm-set.cpp index 96c33b0f10..c61a5c7a59 100755 --- a/test/set/mm-set.cpp +++ b/test/set/mm-set.cpp @@ -53,14 +53,14 @@ namespace Test { namespace Int { SO_MINUS, ///< Difference SO_HLT ///< Stop execution }; - + /// Type for representing a set instruction class SetInstr { public: SetOpcode o; ///< Which instruction to execute unsigned char x, y, z; ///< Instruction arguments, \a z is destination (or \a y for complement) }; - + /// Executes set instruction for evaluation (checking) int eval(const SetInstr* pc, int reg[], bool& failed) { @@ -70,7 +70,7 @@ namespace Test { namespace Int { case SO_CMPL: reg[pc->y] = !reg[pc->x]; break; case SO_INTER: reg[pc->z] = reg[pc->x] & reg[pc->y]; break; case SO_UNION: reg[pc->z] = reg[pc->x] | reg[pc->y]; break; - case SO_DUNION: + case SO_DUNION: if (reg[pc->x] && reg[pc->y]) failed = true; reg[pc->z] = reg[pc->x] | reg[pc->y]; break; @@ -82,7 +82,7 @@ namespace Test { namespace Int { } GECODE_NEVER; } - + /// Executes set instruction for constructing set expressions Gecode::SetExpr eval(const SetInstr* pc, Gecode::SetExpr reg[]) { @@ -101,7 +101,7 @@ namespace Test { namespace Int { } GECODE_NEVER; } - + bool simpleReifiedSemantics(const SetInstr* pc) { while (pc->o != SO_HLT) { @@ -111,7 +111,7 @@ namespace Test { namespace Int { } return true; } - + /** * \defgroup TaskTestSetMiniModelSet Minimal modelling constraints (%Set constraints) * \ingroup TaskTestSet @@ -128,7 +128,7 @@ namespace Test { namespace Int { Gecode::SetRelType srt; public: /// Create and register test - SetExprConst(const SetInstr* bis0, const std::string& s, + SetExprConst(const SetInstr* bis0, const std::string& s, Gecode::SetRelType srt0, int c0) : Test("MiniModel::SetExpr::Const::"+s+"::"+str(srt0)+"::"+str(c0), 4,0,1,simpleReifiedSemantics(bis0)), @@ -173,7 +173,7 @@ namespace Test { namespace Int { } } /// Post reified constraint on \a x - virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, + virtual void post(Gecode::Space& home, Gecode::IntVarArray& x, Gecode::Reify r) { using namespace Gecode; SetVarArgs s(home,4,IntSet::empty,1,1); @@ -200,7 +200,7 @@ namespace Test { namespace Int { } } }; - + /// %Test set expressions with expression result class SetExprExpr : public Test { protected: @@ -216,7 +216,7 @@ namespace Test { namespace Int { const std::string& s, Gecode::SetRelType srt0) : Test("MiniModel::SetExpr::Expr::"+s+"::"+str(srt0), 8,0,1, - simpleReifiedSemantics(bis00) && + simpleReifiedSemantics(bis00) && simpleReifiedSemantics(bis10)), bis0(bis00), bis1(bis10), srt(srt0) {} /// %Test whether \a x is solution @@ -227,15 +227,15 @@ namespace Test { namespace Int { int ret0 = eval(bis0, reg0, failed0); if (failed0) return false; - + int reg1[4] = {(x[4] != x[6]), x[5], (x[6] > 0), x[7]}; bool failed1; int ret1 = eval(bis1, reg1, failed1); - + if (failed1) return false; - + switch (srt) { case Gecode::SRT_EQ: return ret0 == ret1; case Gecode::SRT_NQ: return ret0 != ret1; @@ -255,18 +255,18 @@ namespace Test { namespace Int { Gecode::rel(home, (singleton(1) == s[1]) == (x[1] == 1)); Gecode::rel(home, (singleton(1) == s[2]) == (x[2] > 0)); Gecode::rel(home, (singleton(1) == s[3]) == (x[3] == 1)); - + Gecode::rel(home, (singleton(1) == s[4]) == (x[4] != x[6])); Gecode::rel(home, (singleton(1) == s[5]) == (x[5] == 1)); Gecode::rel(home, (singleton(1) == s[6]) == (x[6] > 0)); Gecode::rel(home, (singleton(1) == s[7]) == (x[7] == 1)); - + Gecode::SetExpr reg0[4] = {s[0],s[1],s[2],s[3]}; Gecode::SetExpr e0 = eval(bis0,reg0); - + Gecode::SetExpr reg1[4] = {s[4],s[5],s[6],s[7]}; Gecode::SetExpr e1 = eval(bis1,reg1); - + switch (srt) { case Gecode::SRT_EQ: Gecode::rel(home, e0 == e1); break; case Gecode::SRT_NQ: Gecode::rel(home, e0 != e1); break; @@ -285,18 +285,18 @@ namespace Test { namespace Int { Gecode::rel(home, (singleton(1) == s[1]) == (x[1] == 1)); Gecode::rel(home, (singleton(1) == s[2]) == (x[2] > 0)); Gecode::rel(home, (singleton(1) == s[3]) == (x[3] == 1)); - + Gecode::rel(home, (singleton(1) == s[4]) == (x[4] != x[6])); Gecode::rel(home, (singleton(1) == s[5]) == (x[5] == 1)); Gecode::rel(home, (singleton(1) == s[6]) == (x[6] > 0)); Gecode::rel(home, (singleton(1) == s[7]) == (x[7] == 1)); - + Gecode::SetExpr reg0[4] = {s[0],s[1],s[2],s[3]}; Gecode::SetExpr e0 = eval(bis0,reg0); - + Gecode::SetExpr reg1[4] = {s[4],s[5],s[6],s[7]}; Gecode::SetExpr e1 = eval(bis1,reg1); - + Gecode::SetRel srel; switch (srt) { case Gecode::SRT_EQ: srel = (e0 == e1); break; @@ -4334,9 +4334,9 @@ namespace Test { namespace Int { {SO_MINUS,0,1,0}, {SO_HLT,0,0,0} }; - - - + + + const SetInstr* si[] = { &si000[0],&si001[0],&si002[0],&si003[0],&si004[0],&si005[0], &si006[0],&si007[0],&si008[0],&si009[0],&si010[0],&si011[0], @@ -4487,7 +4487,7 @@ namespace Test { namespace Int { &si876[0],&si877[0],&si878[0],&si879[0] }; - + /// Help class to create and register tests class Create { public: @@ -4511,9 +4511,9 @@ namespace Test { namespace Int { (void) new SetExprConst(si[i],s,Gecode::SRT_SUP,1); (void) new SetExprConst(si[i],s,Gecode::SRT_DISJ,0); (void) new SetExprConst(si[i],s,Gecode::SRT_DISJ,1); - + if ( (i % 31) == 0) { - + for (int j=0; j > testpat; + /// How to match + enum MatchType { + MT_ANY, //< Positive match anywhere in string + MT_NOT, //< Negative match + MT_FIRST //< Positive match at beginning + }; + + std::vector > testpat; const char* startFrom = NULL; bool list = false; @@ -133,9 +140,10 @@ namespace Test { << "\t\tthe number of iterations" << std::endl << "\t-test (string) default: (none)" << std::endl << "\t\tsimple pattern for the tests to run" << std::endl - << "\t\tprefixing the pattern with \"-\" negates the pattern" + << "\t\tprefixing with \"-\" negates the pattern" << std::endl + << "\t\tprefixing with \"^\" requires a match at the beginning" << std::endl + << "\t\tmultiple pattern-options may be given" << std::endl - << "\t\tmultiple pattern-options may be given" << std::endl << "\t-start (string) default: (none)" << std::endl << "\t\tsimple pattern for the first test to run" << std::endl << "\t-log" @@ -168,10 +176,12 @@ namespace Test { fixprob = static_cast(atoi(argv[i])); } else if (!strcmp(argv[i],"-test")) { if (++i == argc) goto missing; - if (argv[i][0] == '-') - testpat.push_back(std::make_pair(true, argv[i] + 1)); + if (argv[i][0] == '^') + testpat.push_back(std::make_pair(MT_FIRST, argv[i] + 1)); + else if (argv[i][0] == '-') + testpat.push_back(std::make_pair(MT_NOT, argv[i] + 1)); else - testpat.push_back(std::make_pair(false, argv[i])); + testpat.push_back(std::make_pair(MT_ANY, argv[i])); } else if (!strcmp(argv[i],"-start")) { if (++i == argc) goto missing; startFrom = argv[i]; @@ -232,12 +242,15 @@ main(int argc, char* argv[]) { bool match_found = false; bool some_positive = false; for (unsigned int i = 0; i < testpat.size(); ++i) { - if (testpat[i].first) { // Negative pattern + if (testpat[i].first == MT_NOT) { // Negative pattern if (t->name().find(testpat[i].second) != std::string::npos) goto next; } else { // Positive pattern some_positive = true; - if (t->name().find(testpat[i].second) != std::string::npos) + if (((testpat[i].first == MT_ANY) && + (t->name().find(testpat[i].second) != std::string::npos)) || + ((testpat[i].first == MT_FIRST) && + (t->name().find(testpat[i].second) == 0))) match_found = true; } } diff --git a/tools/flatzinc/fzn-gecode.cpp b/tools/flatzinc/fzn-gecode.cpp index d47c77c5be..efc3746cda 100644 --- a/tools/flatzinc/fzn-gecode.cpp +++ b/tools/flatzinc/fzn-gecode.cpp @@ -43,21 +43,21 @@ using namespace std; using namespace Gecode; int main(int argc, char** argv) { - + Support::Timer t_total; t_total.start(); FlatZinc::FlatZincOptions opt("Gecode/FlatZinc"); opt.parse(argc, argv); - + if (argc!=2) { cerr << "Usage: " << argv[0] << " [options] " << endl; cerr << " " << argv[0] << " -help for more information" << endl; exit(EXIT_FAILURE); } - + const char* filename = argv[1]; opt.name(filename); - + FlatZinc::Printer p; FlatZinc::FlatZincSpace* fg = NULL; FlatZinc::FznRnd rnd(opt.seed()); @@ -69,8 +69,8 @@ int main(int argc, char** argv) { } if (fg) { - - fg->createBranchers(fg->solveAnnotations(), opt.seed(), opt.decay(), + + fg->createBranchers(p, fg->solveAnnotations(), opt.seed(), opt.decay(), false, std::cerr); fg->shrinkArrays(p); if (opt.output()) { @@ -79,21 +79,21 @@ int main(int argc, char** argv) { std::cerr << "Could not open file " << opt.output() << " for output." << std::endl; exit(EXIT_FAILURE); - } + } fg->run(os, p, opt, t_total); os.close(); } else { fg->run(std::cout, p, opt, t_total); } } else { - exit(EXIT_FAILURE); + exit(EXIT_FAILURE); } delete fg; } catch (FlatZinc::Error& e) { std::cerr << "Error: " << e.toString() << std::endl; return 1; } - + return 0; }